Skip to content

Commit 1d6c808

Browse files
authored
v0.4.1
View changelog entry #76 for details.
2 parents 99e0bd3 + ee32e1b commit 1d6c808

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2550
-313
lines changed

.classpath

-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,4 @@
1212
</attributes>
1313
</classpathentry>
1414
<classpathentry kind="output" path="target/classes"/>
15-
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
16-
<classpathentry kind="lib" path="libs/jnativehook-2.1.0.jar"/>
17-
<classpathentry kind="output" path="src"/>
1815
</classpath>

.gitignore

+2-4
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,8 @@ build/tmp/
2626
# test scripts
2727
test.bat
2828
target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
29-
*.class
3029

3130
target/
3231
*.lst
33-
*.class
34-
target/classes/main/java/jterm/test.bat
35-
.project
32+
33+
*.class

.project

+6
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@
1010
<arguments>
1111
</arguments>
1212
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.m2e.core.maven2Builder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
1318
</buildSpec>
1419
<natures>
1520
<nature>org.eclipse.jdt.core.javanature</nature>
21+
<nature>org.eclipse.m2e.core.maven2Nature</nature>
1622
</natures>
1723
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
eclipse.preferences.version=1
22
encoding//src/main/java=UTF-8
3-
encoding//src/test/java=UTF-8
43
encoding/<project>=UTF-8

.settings/org.eclipse.jdt.core.prefs

-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
eclipse.preferences.version=1
2-
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
32
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
4-
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
53
org.eclipse.jdt.core.compiler.compliance=1.7
6-
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7-
org.eclipse.jdt.core.compiler.debug.localVariable=generate
8-
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9-
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10-
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
114
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
125
org.eclipse.jdt.core.compiler.source=1.7

.settings/org.eclipse.m2e.core.prefs

-4
This file was deleted.

.travis.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,4 @@ language: java
77
jdk:
88
- oraclejdk8
99
notifications:
10-
slack: sergix:qb9AYlJo8QqPybBY1FQ5V6my
11-
12-
# before_script: chmod +x compile.sh
10+
slack: sergix:qb9AYlJo8QqPybBY1FQ5V6my

.vscode/settings.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"java.configuration.updateBuildConfiguration": "automatic"
3+
}

CONTRIBUTING.md

+61-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,36 @@ These guidelines should be reviewed before contributing to the JTerm project.
66
## About
77
JTerm is a cross-platform terminal. The project is written in Java so that it can be run on virtually any computer. This document provides information such as project resources, guidelines, and other information needed to start programming for JTerm.
88

9+
## Implementation
10+
This project is written in Java using [Eclipse IDE for Java EE](http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon3).
11+
912
## Code of Conduct
1013
The Code of Conduct for any contributions and posting information can be found [here](/CODE_OF_CONDUCT.md).
1114

15+
## GitHub Branch
16+
The development branch of the JTerm project is the `dev` branch. _**Make sure to work off of this branch, not the master!**_ All commits on the dev branch are tracked in the 'Dev' PR. This is the PR that is merged into master.
17+
18+
## Builds
19+
Once you build a file from the source code to an archive (.jar), push it to the /build/jar folder, along with the associated changelog (see Changelog section), source code (see Source Code section), and documentation (see Documentation section.)
20+
21+
The format of the archive's filename is as follows: "jterm-v(build version).jar"
22+
23+
## Source Code
24+
Keep all updated and current source code in the /src directory, which should be updated with every build. Please review the [Source Code Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/SourceStyleGuide.md) for more information.
25+
26+
Subfolders are formatted for packaging and for CI integration.
27+
28+
When pushing the source code with a build, DO NOT change the filenames. As mentioned in the "Builds" section, package the source code with every build into a ".zip" file and a Wrapfile that should be placed in the /build/src directory when pushing a build. Subfolders in the /src directory (e.g. /src/main/java/...) should be included in packaged source. Wrapfiles should only include sources in the `main/` source directory. The format for the file should be as follows: `jterm-src-v(version).zip`, and `jterm-src-v(version).wrap`.
29+
30+
## Versioning
31+
Version numbers should use [Semantic Versioning](https://github.com/mojombo/semver/blob/master/semver.md).
32+
Numbering versions on files (such as released builds) should take the format of "vX.Y.Z", where "X.Y.Z" is the version.
33+
34+
## Documentation
35+
Documentation is published with every:
36+
- Major and minor release ([Documentation Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/DocStyleGuide.md))
37+
- Patch ([Patch Notes Documentation Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/PatchDocStyleGuide.md))
38+
1239
## Styling
1340
Source code, documentation, and patch note styling can be found here:
1441
- [Source Code Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/SourceStyleGuide.md)
@@ -18,7 +45,36 @@ Source code, documentation, and patch note styling can be found here:
1845
Any of these types of files MUST be formatted as shown in these documents.
1946

2047
## Changelog
21-
Any changes, in any branch, MUST be pushed to the changelog file found on the dev branch called "changelog.txt". View the "Changelog" section in the [README](/README.md) for more information. Do not push updates to changelog files on other branches; the dev one is to be the only one changed and updated.
48+
Every time an update is pushed, the changelog will be updated and pushed as well. It is highly recommended that every time you build you update the changelog.
49+
50+
Once you add something to the changelog, DO NOT remove the entry, unless if, and only if, it is incorrect (such as a typo in the version number.) If you change a previous entry you must include a statement stating your change in a seperate entry.
51+
52+
The global changelog file is in the root folder of the project and is named "changelog.txt"; EVERY note will go into this file. It is also required that when you push a build you push an associated changelog file, formatted "jterm-changelog-(build version).txt". This file should be pushed to the /build/changelog directory.
53+
54+
Changelog entry headings must be formatted as shown in the given example below. New changelog entries in the global "changelog.txt" file should be placed at the _top_ of the file, not the bottom. Simply create a few newlines before the latest entry and use the newlines to enter the new entry information. Entries must also be tab-indented.
55+
56+
The format for a changelog entry is as follows:
57+
```
58+
(#(entry))[MM/DD/YYYY-HH:MM (version) (username)]
59+
(entry contents)
60+
(entry contents)
61+
(blank newline)
62+
```
63+
Here is an example changelog:
64+
```
65+
(#2)[2/2/2017-3:33 1.3 NCSGeek]
66+
information uploaded.
67+
added files.
68+
pushed to github.
69+
70+
(#1)[1/1/2017-3:33 1.0 Sergix]
71+
information uploaded.
72+
pushed to github.
73+
74+
```
75+
Of course, a real changelog would be more descriptive in its entries.
76+
77+
Timestamps should be in 24-hour (aka military) time.
2278

2379
## Pull Requests
2480
Pull Requests, of course, MUST be opened on a new branch. The branch and PR name must be short but descriptive of its topic. A description must be made of the PR's purpose and a short description of the added code. Every PR must request to be reviewed by @Sergix or @NCSGeek. Travis CI is also used in this project (dashboard can be found [here](https://travis-ci.org/Sergix/JTerm)), and PR's are automatically checked by Travis CI to make sure they are ready to be deployed.
@@ -34,5 +90,7 @@ If a new bug or issue is found, create a new Issue! The issue name must be short
3490
- Version of JTerm
3591
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.
3692

37-
## Source Code
38-
When contributing new source code, edit the files contained in the `/src/main/java/jterm` directory. Create new files as shown in the [Source Code Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/DocStyleGuide.md). The editor used can be any of your choosing, but we recommend [Eclipse](http://www.eclipse.org/). Do not create new directories unless required and given permission by @Sergix or @NCSGeek.
93+
> JTerm 0.4.0
94+
> `jterm-v0.4.0.jar`
95+
> This project and its source are held under the GNU General Public License, located in the LICENSE file in the project's directory.
96+
> (c) 2017

README.md

+12-55
Original file line numberDiff line numberDiff line change
@@ -2,67 +2,24 @@
22

33
![Build Status](https://travis-ci.org/Sergix/JTerm.svg?branch=master)
44

5-
## Definition
6-
A terminal written for cross-platform usge.
5+
## What is it?
6+
A terminal written for cross-platform usage.
77

8-
## Implementation
9-
This project is written in Java using [Eclipse IDE for Java EE](http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon3).
8+
## Why will it help me?
9+
Because the JTerm project is written in Java, this provides it various advantages:
10+
- System compatibility downsides don't exist!
11+
- Much safer than C++/C and other system languages
1012

11-
## Contributing
12-
View the [Contributing Guidelines](https://github.com/Sergix/JTerm/blob/master/CONTRIBUTING.md) for more information. The JTerm project is open to anyone and any code!
13-
14-
## Builds
15-
Once you build a file from the source code to an archive (.jar), push it to the /build/jar folder, along with the associated changelog (see Changelog section), source code (see Source Code section), and documentation (see Documentation section.)
16-
The format of the archive's filename is as follows: "jterm-v(build version).jar"
17-
18-
## Source Code
19-
Keep all updated and current source code in the /src directory, which should be updated with every build.
20-
Please review the [Source Code Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/SourceStyleGuide.md) for more information.
21-
Subfolders are formatted for packaging and for CI integration.
22-
When pushing the source code with a build, DO NOT change the filenames.
23-
As mentioned in the "Builds" section, package the source code with every build into a ".zip" file and a Wrapfile that should be placed in the /build/src directory when pushing a build. Subfolders in the /src directory (e.g. /src/main/java/...) should be included in packaged source. Wrapfiles should only include sources in the `main/` source directory.
24-
The format for the file should be as follows: `jterm-src-v(version).zip`, and `jterm-src-v(version).wrap`.
25-
26-
## Changelog
27-
Every time an update is pushed, the changelog will be updated and pushed as well.
28-
It is highly recommended that every time you build you update the changelog. Once you add something to the changelog, DO NOT remove the entry, unless if, and only if, it is incorrect (such as a typo in the version number.) If you change a previous entry you must include a statement stating your change in a seperate entry.
29-
The global changelog file is in the root folder of the project and is named "changelog.txt"; EVERY note will go into this file. It is also required that when you push a build you push an associated changelog file, formatted "jterm-changelog-(build version).txt". This file should be pushed to the /build/changelog directory.
30-
Changelog entry headings must be formatted as shown in the given example below.
31-
New changelog entries in the global "changelog.txt" file should be placed at the _top_ of the file, not the bottom. Simply create a few newlines before the latest entry and use the newlines to enter the new entry information. Entries must also be tab-indented.
32-
The format for a changelog entry is as follows:
33-
```
34-
(#(entry))[MM/DD/YYYY-HH:MM (version) (username)]
35-
(entry contents)
36-
(entry contents)
37-
(blank newline)
38-
```
39-
Here is an example changelog:
40-
```
41-
(#2)[2/2/2017-3:33 1.3 NCSGeek]
42-
information uploaded.
43-
added files.
44-
pushed to github.
13+
Plus, it's open source, so if you find any issues, you can help out everyone else using JTerm!
4514

46-
(#1)[1/1/2017-3:33 1.0 Sergix]
47-
information uploaded.
48-
pushed to github.
15+
## Where do I get it?
16+
Check the [releases](https://github.com/Sergix/JTerm/releases) page for binaries, as well as the source code. You can also look in the `/builds` directory for changelogs and other build-related stuff.
4917

50-
```
51-
Of course, a real changelog would be more descriptive in its entries.
52-
53-
Timestamps should be in 24-hour (aka military) time.
54-
55-
## Versioning
56-
Version numbers should use [Semantic Versioning](https://github.com/mojombo/semver/blob/master/semver.md).
57-
Numbering versions on files (such as released builds) should take the format of "vX.Y.Z", where "X.Y.Z" is the version.
58-
59-
## Documentation
60-
Documentation is published with every:
61-
- Major and minor release ([Documentation Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/DocStyleGuide.md))
62-
- Patch ([Patch Notes Documentation Style Guide](https://github.com/Sergix/JTerm/blob/master/docs/PatchDocStyleGuide.md))
18+
## How can I help?
19+
View the [Contributing Guidelines](https://github.com/Sergix/JTerm/blob/master/CONTRIBUTING.md) for more information. The JTerm project is open to anyone and any code!
6320

6421
## Slack
65-
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 on the #jterm channel.
22+
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!
6623

6724
> JTerm 0.4.0
6825
> `jterm-v0.4.0.jar`

build.bat

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@echo off
2+
cls
3+
4+
rd /S /Q target
5+
6+
mvn clean package
+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
Changelog entry:
2+
3+
(#76)[9/8/2017-18:55 0.4.1 Sergix]
4+
Updated CONTRIBUTING.md with branch information.
5+
Changed POM project version to 0.4.1.
6+
Built binaries for version 0.4.1.
7+
Wrote patch notes and compiled the full changelog.
8+
Pushed updates to Git.
9+
10+
Full changes include:
11+
- Created Pause class
12+
- Pause.java
13+
- Contains all code previously located in Exec that was associated with the `pause` command
14+
- `EnterPause(options)`: pauses the interpreter until the Enter key is hit.
15+
- Created Set class
16+
- Set.java
17+
- Contains all code previously located in Exec that was associated with the `set` command
18+
- `set` now can be called from outside Exec
19+
- `vars`: global program hashtable containing all variables
20+
- `NewVar(options)`: creates a new variable
21+
- `PrintVars()`: prints all variables currently stored
22+
- Window class changes
23+
- Added `Window.CloseAll()` function (JTerm automatically calls `CloseAll()` right before exiting the application)
24+
- `Window.windows` array contains all active windows
25+
- Created batch scripts for build and run processes
26+
- `init.bat`: initializes the environment for building
27+
- `build.bat`: builds with Maven (`mvn clean package`)
28+
- `run.bat`: runs the application
29+
- The Maven package process now builds two JAR's: one w/o dependencies and one with.
30+
- If you perform the `run` batch script right after a build, it will rename the files to their respective names
31+
- Packaged JAR, no dependencies (before name change w/ `run`): `jterm-0.5.0.jar`
32+
- Packaged JAR, with dependencies (before name change w/ `run`): `jterm-0.5.0-jar-with-dependencies.jar`
33+
- Packaged JAR, no dependencies (after name change w/ `run`): `jterm-0.5.0-no-deps.jar`
34+
- Packaged JAR, with dependencies (after name change w/ `run`): `jterm-v0.5.0.jar`
35+
- `Files.WriteFile()` input stream is closed when a blank line is entered
36+
- Moved all non-JTerm-compatible switch cases from `Exec.Parse()` into `JTerm.Parse()`
37+
- Added documentation comments for multiple functions
38+
- Updated README and CONTRIBUTING
39+
- Deleted the `Dir` and `readfile` branches
40+
- Updated the POM to include build process changes
41+
- Maven now runs a special plugin that packages all dependencies into the binary (maven-assembly-plugin)
42+
- Merged [#17](https://github.com/Sergix/JTerm/pull/17). Thanks to @d4nntheman!
43+
- Fixed [#14](https://github.com/Sergix/JTerm/issues/14)
44+
- Fixed [#15](https://github.com/Sergix/JTerm/issues/15)
45+
- Fixed [#16](https://github.com/Sergix/JTerm/issues/16)
46+
- Fixed [#20](https://github.com/Sergix/JTerm/issues/20)
47+
- Minor Bug Fixes
48+
- `NewDir()` was not taking arguments with multiple spaces
49+
- `WriteFile()` was not taking arguments with multiple spaces
50+
- `Delete()` was not taking arguments with multiple spaces
51+
- `Echo()` was outputting an extra space
52+
- `ChangeDir()` accepts directory paths enclosed in quotes
53+
54+
More information provided in published patch notes documentation.

build/jar/jterm-v0.4.1.jar

501 KB
Binary file not shown.

0 commit comments

Comments
 (0)