Skip to content

Commit fc2b01a

Browse files
committed
v0.7.0
View changelog entry #116 and the associated documentation for details.
1 parent f027479 commit fc2b01a

8 files changed

+328
-5
lines changed

CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ If a new bug or issue is found, create a new Issue! The issue name must be short
9090
- Version of JTerm
9191
3. "Files and Code" - If you find where the issue is or believe it to be, put the filenames and/or code in this section.
9292

93-
> JTerm 0.5.1
94-
> `jterm-v0.5.1.jar`
93+
> JTerm v0.7.0
94+
> `jterm-v0.7.0.jar`
9595
> This project and its source are held under the GNU General Public License, located in the LICENSE file in the project's directory.
9696
> (c) 2017

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ View the [Contributing Guidelines](https://github.com/Sergix/JTerm/blob/master/C
2525
## Slack
2626
The JTerm project now has a Slack messaging group! Request to join the [Sergix](https://sergix.slack.com/) team to recieve notifications on updates, Travis CI build status, and more!
2727

28-
> JTerm 0.7.0
28+
> JTerm v0.7.0
2929
> `jterm-v0.7.0.jar`
3030
> This project and its source are held under the GNU General Public License, located in the LICENSE file in the project's directory.
3131
> (c) 2017

ROADMAP.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ This section provides a list of "foundational" elements that MUST be finished be
6161
## Tracking
6262
To track this list, it is placed in the [v1.0.0 Roadmap](https://github.com/Sergix/JTerm/milestone/1) milestone. All Issues and Pull Requests that are designated to complete a task on the milestone tracker should be marked as so.
6363

64-
> JTerm 0.6.1
65-
> `jterm-v0.6.1.jar`
64+
> JTerm v0.7.0
65+
> `jterm-v0.7.0.jar`
6666
> This project and its source are held under the GNU General Public License, located in the LICENSE file in the project's directory.
6767
> (c) 2017
+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
Changelog entry:
2+
3+
(#116)[11/24/2017-13:45 0.7.0 Sergix]
4+
Wrote documentation for version "0.7.0".
5+
Compiled changelog.
6+
Compiled source zip
7+
Compiled "jterm-v0.7.0.jar".
8+
Modified README, CONTRIBUTING, and ROADMAP suffix version.
9+
Pushed updates to Git.
10+
11+
Full changes include:
12+
- cd .. no longer adds the .'s to current directory
13+
- Added rm command to delete files/directories
14+
- Added commons.io dependency to POM
15+
- Program starts with prompt instead of ./
16+
- Fixed some formatting in JTerm.java
17+
- Added setOS() function to Util.java
18+
- Replaces code previously used to determine OS in JTerm.java
19+
- Re-added the build process batch files to the root directory
20+
- Removed *.bat from .gitignore
21+
- Removed lang3 dependency from POM and all imports
22+
- Fixed issue where InputHandler was outputting an extra newline
23+
- Fixed issue where autocomplete was attempting a non existent directory and outputting NullPointerException
24+
- Added Command interface with execute() method (@ojles)
25+
- Added CommandException for package jterm.command.* (@ojles)
26+
- Implemented Command interface in all command classes (@ojles)
27+
- Added dynamic loading of command instances using reflection, saving them in a Map<String, Command> (@ojles)
28+
- Moved helper methods from JTerm.java to Util.java (@ojles)
29+
- Fixed ping command (@ojles)
30+
- Fixed Exec.java, which was not printing all the data got from the executed process
31+
- Removed org.reflections POM import
32+
- Updated ROADMAP.md
33+
- Fixed issue with Echo cutting off extra character
34+
- Fixed v0.6.0 documentation table
35+
- v0.6.1 is now DEPRECATED
36+
- Output now routes through JTerm.out
37+
- Created "I/O", "GUI", "bug fix", "ROADMAP", "cleanup", and "command" Issue labels
38+
- Help.java now automates commands output
39+
- Added JTerm.getCommands() function
40+
- JTerm.COMMANDS is now public
41+
- Added a fully functioning JavaX GUI (@lbenedetto)
42+
- Runs commands without recreating anything
43+
- Added ProtectedDocument class
44+
- Added ProtectedTextComponent class
45+
- Added Terminal class (GUI)
46+
- Added com.intellij.forms_rt import to POM for Terminal.form GUI layout
47+
- New autocompltete classes (@nanoandrew4)
48+
- Added KeyHandler class
49+
- Added Keys enum
50+
- Added FileAutocomplete class
51+
- Added Util functions
52+
- removeSpaces()
53+
- containsOnlySpaces()
54+
- getRunTime()
55+
- clearLine()
56+
- getAsArray()
57+
- getAsString()
58+
- getRest()
59+
- getFullPath()
60+
- Added a command interface (@ojles)
61+
- Command methods now have a @Command annotation
62+
- All commands are automatically updated and stored in a global hashmap
63+
- Added CommandException class
64+
- Added target/ to .gitignore
65+
- Created Files.move()
66+
- Simplified UNIX Arrow Key input
67+
- Moved UNIX and Windows input functions to RawConsoleInput class from UnixInput and WinInput classes
68+
- Added "regex" command (@lbenedetto)
69+
- Added Regex.java
70+
- Added basic unit tests
71+
- Created src/test directory
72+
- Added UtilTest.java
73+
- Added org.junit.jupiter.junit-jupiter-api dependency to the POM
74+
- Added JTerm.setPrompt()
75+
- cd/chdir command now changes input prompt
76+
- Major refactor of code to prepare for text color in headless mode
77+
- Moved RawConsoleInput.java, InputHandler.java, and Keys.java classes to own package jterm.io.input
78+
- Added jterm.io.output package
79+
- Added CollectorPrinter.java
80+
- Added GUIPrinter.java
81+
- Added HeadlessPrinter.java
82+
- Added Printer.java
83+
- Added TextColor.java
84+
- Added InputHander.java test to tests
85+
- Fixed autocomplete bugs
86+
- Fixed Windows-based bugs
87+
- Fixed GUI tab parser
88+
- Closed #45
89+
- Closed #49
90+
- Closed #59
91+
- Closed #60
92+
- Closed #68
93+
- Closed #40
94+
- Closed #47 (PR #78)
95+
- Closed #48
96+
- Closed #52 (wontfix)
97+
- Closed #53
98+
- Closed #71 (PR #74)
99+
- Closed #73
100+
- Closed #75
101+
- Closed PR #77 (PR #79)
102+
- Closed #80
103+
- Closed #81
104+
- Closed #94
105+
- Closed PR #82 (PR #83)
106+
- Merged #58 (@ojles)
107+
- Merged #61 (@nanoandrew4)
108+
- Merged #67 (@ojles)
109+
- Merged #74 (@lbenedetto)
110+
- Merged #78 (@nanoandrew4)
111+
- Merged #79 (@ojles)
112+
- Merged #83 (@Kaperskyguru)
113+
- Merged #85 (@lbenedetto)
114+
- Merged #86 (@nanoandrew4)
115+
- Merged #87 (@lbenedetto)
116+
- Merged #88 (@lbenedetto)
117+
- Merged #90 (@nanoandrew4)
118+
- Merged #91 (@nanoandrew4)
119+
- Merged #93 (@lbenedetto)
120+
- Merged #95 (@lbenedetto)
121+
- Merged #96 (@DataSecs)
122+
- Merged #97 (@lbenedetto)

build/jar/jterm-v0.7.0.jar

5.05 MB
Binary file not shown.

build/src/jterm-src-v0.7.0.zip

47.9 KB
Binary file not shown.

changelog.txt

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
(#116)[11/24/2017-13:45 0.7.0 Sergix]
2+
Wrote documentation for version "0.7.0".
3+
Compiled changelog.
4+
Compiled source zip
5+
Compiled "jterm-v0.7.0.jar".
6+
Modified README, CONTRIBUTING, and ROADMAP suffix version.
7+
Pushed updates to Git.
8+
19
(#115)[11/24/2017-13:38 0.6.1 Sergix]
210
Merged #97.
311
- Thanks to @lbenedetto!

docs/release/jterm-v0.7.0-docs.md

+193
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
# JTerm Documentation v0.7.0
2+
3+
## Table of Contents
4+
```
5+
I. Table of Contents
6+
II. Overview
7+
III. Build Targets
8+
IV. Changelog
9+
V. New Features
10+
A. GUI
11+
B. Commands
12+
VI. Active Command List
13+
```
14+
15+
## Overview
16+
This document provides information on changes included in release version "0.7.0". The JTerm project is close to its official release, but the project has had enough changes to include it as a new pre-release version. The Changelog section records changes made from the previous patch (0.6.1). This document was written by @Sergix and reviewed by @NCSGeek.
17+
18+
## Build Targets
19+
```
20+
[VERSION] [FILE] [STATE]
21+
0.1.0 jterm-v0.1.0.jar OK
22+
0.2.0 jterm-v0.2.0.jar OK
23+
0.2.1 jterm-v0.2.1.jar OK
24+
0.3.0 jterm-v0.3.0.jar DEPRECATED
25+
0.3.1 jterm-v0.3.1.jar OK
26+
0.4.0 jterm-v0.4.0.jar OK
27+
0.4.1 jterm-v0.4.1.jar OK
28+
0.5.0 jterm-v0.5.0.jar OK
29+
0.5.1 jterm-v0.5.1.jar OK
30+
0.6.0 jterm-v0.6.0.jar OK
31+
0.6.1 jterm-v0.6.1.jar DEPRECATED
32+
0.7.0 jterm-v0.7.0.jar OK
33+
```
34+
35+
## Changelog
36+
- `cd ..` no longer adds the `.`'s to current directory
37+
- Added `rm` command to delete files/directories
38+
- Added `commons.io` dependency to POM
39+
- Program starts with prompt instead of `./`
40+
- Fixed some formatting in `JTerm.java`
41+
- Added `setOS()` function to `Util.java`
42+
- Replaces code previously used to determine OS in `JTerm.java`
43+
- Re-added the build process batch files to the root directory
44+
- Removed `*.bat` from `.gitignore`
45+
- Removed `lang3` dependency from POM and all imports
46+
- Fixed issue where `InputHandler` was outputting an extra newline
47+
- Fixed issue where autocomplete was attempting a non existent directory and outputting `NullPointerException`
48+
- Added `Command` interface with `execute()` method (@ojles)
49+
- Added `CommandException` for package `jterm.command.*` (@ojles)
50+
- Implemented `Command` interface in all command classes (@ojles)
51+
- Added dynamic loading of command instances using reflection, saving them in a `Map<String, Command>` (@ojles)
52+
- Moved helper methods from `JTerm.java` to `Util.java` (@ojles)
53+
- Fixed ping command (@ojles)
54+
- Fixed `Exec.java`, which was not printing all the data got from the executed process
55+
- Removed `org.reflections` POM import
56+
- Updated `ROADMAP.md`
57+
- Fixed issue with Echo cutting off extra character
58+
- Fixed v0.6.0 documentation table
59+
- v0.6.1 is now DEPRECATED
60+
- Output now routes through JTerm.out
61+
- Created "I/O", "GUI", "bug fix", "ROADMAP", "cleanup", and "command" Issue labels
62+
- `Help.java` now automates commands output
63+
- Added `JTerm.getCommands()` function
64+
- `JTerm.COMMANDS` is now public
65+
- Added a fully functioning JavaX GUI (@lbenedetto)
66+
- Runs commands without recreating anything
67+
- Added `ProtectedDocument` class
68+
- Added `ProtectedTextComponent` class
69+
- Added `Terminal` class (GUI)
70+
- Added `com.intellij.forms_rt` import to POM for `Terminal.form` GUI layout
71+
- New autocompltete classes (@nanoandrew4)
72+
- Added `KeyHandler` class
73+
- Added `Keys` enum
74+
- Added `FileAutocomplete` class
75+
- Added `Util` functions
76+
- `removeSpaces()`
77+
- `containsOnlySpaces()`
78+
- `getRunTime()`
79+
- `clearLine()`
80+
- `getAsArray()`
81+
- `getAsString()`
82+
- `getRest()`
83+
- `getFullPath()`
84+
- Added a command interface (@ojles)
85+
- Command methods now have a `@Command` annotation
86+
- All commands are automatically updated and stored in a global hashmap
87+
- Added `CommandException` class
88+
- Added `target/` to `.gitignore`
89+
- Created `Files.move()`
90+
- Simplified UNIX Arrow Key input
91+
- Moved UNIX and Windows input functions to `RawConsoleInput` class from `UnixInput` and `WinInput` classes
92+
- Added "regex" command (@lbenedetto)
93+
- Added `Regex.java`
94+
- Added basic unit tests
95+
- Created `src/test` directory
96+
- Added `UtilTest.java`
97+
- Added `org.junit.jupiter.junit-jupiter-api` dependency to the POM
98+
- Added `JTerm.setPrompt()`
99+
- `cd`/`chdir` command now changes input prompt
100+
- Major refactor of code to prepare for text color in headless mode
101+
- Moved `RawConsoleInput.java`, `InputHandler.java`, and `Keys.java` classes to own package `jterm.io.input`
102+
- Added `jterm.io.output` package
103+
- Added `CollectorPrinter.java`
104+
- Added `GUIPrinter.java`
105+
- Added `HeadlessPrinter.java`
106+
- Added `Printer.java`
107+
- Added `TextColor.java`
108+
- Added `InputHander.java` test to tests
109+
- Fixed autocomplete bugs
110+
- Fixed Windows-based bugs
111+
- Fixed GUI tab parser
112+
- Closed [#45](https://github.com/Sergix/JTerm/issues/45)
113+
- Closed [#49](https://github.com/Sergix/JTerm/issues/49)
114+
- Closed [#59](https://github.com/Sergix/JTerm/issues/59)
115+
- Closed [#60](https://github.com/Sergix/JTerm/issues/60)
116+
- Closed [#68](https://github.com/Sergix/JTerm/issues/68)
117+
- Closed [#40](https://github.com/Sergix/JTerm/issues/40)
118+
- Closed [#47](https://github.com/Sergix/JTerm/issues/47) (PR #78)
119+
- Closed [#48](https://github.com/Sergix/JTerm/issues/48)
120+
- Closed [#52](https://github.com/Sergix/JTerm/issues/52) (wontfix)
121+
- Closed [#53](https://github.com/Sergix/JTerm/issues/53)
122+
- Closed [#71](https://github.com/Sergix/JTerm/issues/71) (PR #74)
123+
- Closed [#73](https://github.com/Sergix/JTerm/issues/73)
124+
- Closed [#75](https://github.com/Sergix/JTerm/issues/75)
125+
- Closed PR [#77](https://github.com/Sergix/JTerm/pull/77) (PR #79)
126+
- Closed [#80](https://github.com/Sergix/JTerm/issues/80)
127+
- Closed [#81](https://github.com/Sergix/JTerm/issues/81)
128+
- Closed [#94](https://github.com/Sergix/JTerm/issues/94)
129+
- Closed PR [#82](https://github.com/Sergix/JTerm/pull/82) (PR #83)
130+
- Merged [#58](https://github.com/Sergix/JTerm/pull/58) (@ojles)
131+
- Merged [#61](https://github.com/Sergix/JTerm/pull/61) (@nanoandrew4)
132+
- Merged [#67](https://github.com/Sergix/JTerm/pull/67) (@ojles)
133+
- Merged [#74](https://github.com/Sergix/JTerm/pull/74) (@lbenedetto)
134+
- Merged [#78](https://github.com/Sergix/JTerm/pull/78) (@nanoandrew4)
135+
- Merged [#79](https://github.com/Sergix/JTerm/pull/79) (@ojles)
136+
- Merged [#83](https://github.com/Sergix/JTerm/pull/83) (@Kaperskyguru)
137+
- Merged [#85](https://github.com/Sergix/JTerm/pull/85) (@lbenedetto)
138+
- Merged [#86](https://github.com/Sergix/JTerm/pull/86) (@nanoandrew4)
139+
- Merged [#87](https://github.com/Sergix/JTerm/pull/87) (@lbenedetto)
140+
- Merged [#88](https://github.com/Sergix/JTerm/pull/88) (@lbenedetto)
141+
- Merged [#90](https://github.com/Sergix/JTerm/pull/90) (@nanoandrew4)
142+
- Merged [#91](https://github.com/Sergix/JTerm/pull/91) (@nanoandrew4)
143+
- Merged [#93](https://github.com/Sergix/JTerm/pull/93) (@lbenedetto)
144+
- Merged [#95](https://github.com/Sergix/JTerm/pull/95) (@lbenedetto)
145+
- Merged [#96](https://github.com/Sergix/JTerm/pull/96) (@DataSecs)
146+
- Merged [#97](https://github.com/Sergix/JTerm/pull/97) (@lbenedetto)
147+
148+
## New Features
149+
150+
### GUI
151+
A new GUI interface has been added by @lbenedetto! It can run on any graphical interface and replicates the looks of a terminal, and functions in almost perfect unison with its terminal alternative. The GUI runs by default; if you would like to run without it, just specifify by running JTerm with the `headless` option.
152+
153+
### Commands
154+
The `download`, `rmdir`, `mv`/`move`, `rn`, and 'regex' commands have been added by @nanoandrew4, @lbenedetto, and @ojles. These command specifications have been listed in the "Active Command List" section.
155+
156+
## Active Command List
157+
- `help [-h]` - displays information about JTerm
158+
- `exit [-h]` - Exits the JTerm application
159+
- `ls [-h] [-f]` - Dispays extensive directory information, including files and subdirectories (@pmorgan3)
160+
- `-f` - toggles minimal output
161+
- `cd`, `chdir` `[-h] directory` - Changes the directory to the location specified
162+
- `pwd [-h]` - prints the current working directory
163+
- `md [-h] name` - creates a new directory
164+
- `read [-h] file1 [file2 file3...]` - prints the contents of the specified files
165+
- `delete`, `del`, `rm` `[-h] file/directory` - deletes the specified file or directory (@pmorgan3)
166+
- `write [-h] filename` - Opens an input prompt that will write the data to the new file named `filename`
167+
- `echo [-h] input` - outputs the input on a new line
168+
- `window [-h] [-r] [-w width] [-l height] [-t title]` - creates a new GUI window
169+
- `-r` - toggles resizability
170+
- `-w` - specifies window width
171+
- `-l` - specifies window height
172+
- `-t` - sets the name of the window, displayed in the title bar
173+
- `ps [-h]` - Lists all processes running on the host system
174+
- `ping [-h] [-p] host` - enables ICMP pinging to Internet hosts
175+
- `-p` - specifies the port to connect with
176+
- `set [-h] name = value` - creates a new variable in the current session (previously in Exec)
177+
- `pause [-h] [message]` - pauses the interpreter until the user hits the "Enter" key
178+
- `date [-h]` - prints the system date to the console
179+
- `time [-h]` - prints the system time to the console
180+
- `clear [-h]` - clears the terminal
181+
- `rmdir [-h] [-r] directory` - removes the specified directory
182+
- `-r` - recursively deletes the directory and all its contents
183+
- `exec executable` - executes the specified JAR or native executable
184+
- `move, mv [-h] source destination` - moves the source file to the destination specified
185+
- `rn [-h] file newName` - renames the specified file to the new name specified
186+
- `download [-h] url` - downloads the file at the specified URL into the current working directory
187+
- `regex [-m] "expression" command [commandOptions ...]`
188+
- `-m` - "multiline mode"; the output from the command is treated a single string with newline characters
189+
190+
> JTerm 0.7.0
191+
> `jterm-v0.7.0.jar`
192+
> This project and its source are held under the GNU General Public License, located in the LICENSE file in the project's directory.
193+
> (c) 2017

0 commit comments

Comments
 (0)