forked from Sergix/JTerm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
886 lines (771 loc) · 35.4 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
(#116)[11/24/2017-13:45 0.7.0 Sergix]
Wrote documentation for version "0.7.0".
Compiled changelog.
Compiled source zip
Compiled "jterm-v0.7.0.jar".
Modified README, CONTRIBUTING, and ROADMAP suffix version.
Pushed updates to Git.
(#115)[11/24/2017-13:38 0.6.1 Sergix]
Merged #97.
- Thanks to @lbenedetto!
- Major refactor of code to prepare for text color in headless mode.
- Moved RawConsoleInput, InputHandler, and Keys classes to own package jterm.io.input
- Added jterm.io.output package
- Added CollectorPrinter
- Added GUIPrinter
- Added HeadlessPrinter
- Added Printer
- Added TextColor
- Removed PrintStreamCollector
- Removed PrintStreamInterceptor
- Removed PromptInterceptor
- Removed PromptPrinter
- Added InputHander test to test package
(#114)[11/23/2017-23:39 0.6.1 Sergix]
Closed #94.
- Added JTerm.setPrompt(prompt)
- "cd"/"chdir" now changes prompt
Pushed updates to Git.
(#113)[11/23/2017-23:18 0.6.1 Sergix]
Merged #96.
- Thanks to @DataSecs!
- Code cleanup throughout the code.
Added "cleanup" and "command" issue labels.
(#112)[11/23/2017-21:22 0.6.1 Sergix]
Merged #95.
- Thanks to @lbenedetto!
- Added "regex" command
- Syntax: "regex [-m] "expression" command [commandOptions ...]"
- Regex.java
- PrintStreamCollector.java (for collecting command output)
- Takes the output of a command and compares it to a regular expression string
- Added basic unit tests
- Created src/test directory
- test/UtilTest.java
- Added org.junit.jupiter.junit-jupiter-api dependency to POM
- Fixed arrow key usage in GUI
(#111)[11/22/2017-18:46 0.6.1 Sergix]
Merged #93.
- Thanks to @lbenedetto!
- Fixes GUI tab parser
(#110)[11/22/2017-10:01 0.6.1 Sergix]
Created "Bug Fix" issue label.
Merged #91.
- Thanks to @nanoandrew4!
- Fixes Windows crashing issues
- Fixes tab rotation with autocomplete
Pushed updates to Git.
(#109)[11/21/2017-17:35 0.6.1 Sergix]
Made JTerm.COMMANDS private.
Merged #90.
- Thanks to @nanoandrew4!
- Fixes autocomplete bugs
- Fixes character deletion
(#108)[11/20/2017-17:52 0.6.1 Sergix]
Help.java now automates command outputs and is no longer hard coded.
Added JTerm.getCommands() function.
JTerm.COMMANDS is now public.
Pushed updates to Git.
(#107)[11/20/2017-16:12 0.6.1 Sergix]
Merged #88.
- Thanks to @lbenedetto!
- A static class was using getters and setters to access its own private static variable.
- A lot of things should have been delcared final in other classes.
- Removed Key.java.
(#106)[11/20/2017-12:56 0.6.1 Sergix]
Merged #85.
- Thanks @lbenedetto!
- Added PrintStreamInterceptor to System.out.
- Removed log() and logln()
- Should have been in CL #103.
Merged #87.
- Thanks to @lbenedetto!
- Routes input and output through JTerm.out.
- Closes #80.
- Added PromptInterceptor class.
- Added PromptPrinter class.
- Added RawConsoleInput class.
- Removed ArrowKeyHandler class.
- Removed ArrowKeys enum.
- Removed Command (io) class.
- Removed Input class.
- Removed UnixInput class.
- Removed WinInput class.
Closed #80.
(#105)[11/20/2017-12:18 0.6.1 Sergix]
Fixed PROMPT (@nanoandrew4).
Pushed updates to Git.
(#104)[11/20/2017-10:49 0.6.1 Sergix]
Merged #86.
- Thanks @nanoandrew4!
- Removed duplicate Input.java file in jterm.io package.
- Simplified UNIX Arrow Key input.
- Fixed Windows headless mode.
Created I/O, GUI, and ROADMAP Issue labels.
Fixed command annotations and gave more syntax information.
Pushed updates to Git.
(#103)[11/19/2017-21:48 0.6.1 Sergix]
Fixed issue with Echo cutting off extra character.
Fixed v0.6.0 docs.
v0.6.1 is now DEPRECATED.
Updated Help list.
(#102)[11/19/2017-20:44 0.6.1 Sergix]
Fixed issue with Command annotation in Files.move().
Pushed updates to Git.
(#101)[11/19/2017-16:23 0.6.1 Sergix]
Removed org.reflections import. JTerm.initCommands() has been updated to compensate.
Closed #40.
Closed #47.
- PR #78.
Closed #48.
Closed #52 (wontfix).
Closed #53.
Closed #71.
- PR #74.
Closed #73.
Closed #75.
Closed PR #77.
- PR #79.
Closed #81.
Closed PR #82.
- PR #83.
Merged #74.
- Thanks @lbenedetto!
- Added a fully functioning JavaX GUI!
- Runs commands without recreating anything.
- Added log functions to JTerm.java
- log()
- logln()
- All output should be through these from now on.
- Added ProtectedDocument class
- Added ProtectedTextComponent class
- Added Terminal class (GUI)
- Added com.intellij.forms_rt import for Terminal.form GUI layout.
Merged #78.
- Thanks @nanoandrew4!
- Added ArrowKeyHandler class.
- Added ArrowKeys enum.
- Added Command enum.
- Added KeyHandler class.
- Added Keys enum.
- Moved UNIX and Windows input functions from Input class to UnixInput and WinInput classes, respectively.
- Added FileAutocomplete class.
- Added Util functions.
- removeSpaces()
- containsOnlySpaces()
Merged #67, #79.
- Thanks @ojles!
- Added a Command interface.
- Command methods now have a @Command annotation.
- All commands are automatically updated and stored in a global hashmap.
- Added target/ to .gitignore.
- Added CommandException class.
- Added functions to Util.java.
- getRunTime()
- clearLine()
- getAsArray()
- getAsString()
- getRest()
- getFullPath()
Merged #83.
- Thanks @Kaperskyguru!
- Created Files.move()
Updated ROADMAP.md.
Pushed updates to Git.
(#100)[11/8/2017-13:28 0.6.1 ojles]
Added Command interface with execute() method
Added CommandException for package jterm.command.*
Implemented Command interface in all command classes
Added dynamic loading of command instances using reflection, saving them in a map<String, Command>
Fixed some codestyle issues
Moved helper methods from JTerm to Util.java
Fixed ping command
Fixed Exec.java, witch was not printing all the data got from the executed process
(#99)[11/5/2017-14:50 0.6.1 Sergix]
Removed lang3 dependency from POM and all imports.
Fixed issue where InputHandler was outputting an extra newline.
Fixed issue where auto complete was attempting a non existent directory and outputting NullPointerException.
Pushed updates to Git.
(#98)[11/4/2017-22:17 0.6.1 Sergix]
Fixed some formatting in JTerm.java.
Added "setOS()" function to Util.java.
- replaces code previously used to determine OS in JTerm.java.
Re-added the build process batch files to the root directory.
Removed "*.bat" from .gitignore.
Pushed updates to Git.
(#97)[10/31/2017-19:49 0.6.1 wuhugh]
Closed #68.
Edited Dir.java
- cd .. no longer adds the .'s to cwd string
- Added rm command to delete files/directories
Added commons.io dependency to pom.xml
Edited JTerm.java
- Program starts with cwd instead of "./"
Pushed updates to Git.
(#96)[10/23/2017-21:05 0.6.1 Sergix]
Closed #45.
Closed #49.
- Should have been in changelog entry #92.
Closed #59.
Closed #60.
Merged #58.
- Thanks to @ojles for formatting!
Merged #61.
- Thanks to @nanoandrew4!
Updated ROADMAP.
Pushed updates to Git.
(#95)[10/20/2017-21:28 0.6.1 Sergix]
Closed #56.
- Accidentally merged the non-updated Exec class.
Fixed typo in jterm-v0.6.0-docs.md.
Fixed "JTerm.version".
Created missing source build for version 0.6.0.
Created dependency files for 0.6.1.
Created documentation.
Pushed updates to Git.
(#94)[10/19/2017-21:10 0.6.0 Sergix]
Added licensing information headers to multiple files.
Added help information to Date, Clear, Exit, Help, Pause, Set, and Time.
Created dependency files for 0.6.0.
Created documentation.
Pushed updates to Git.
(#93)[10/19/2017-13:58 0.5.1 Sergix]
Merged #46.
- Closes #32.
- Adds the ability to run JAR's and native system executables.
- Thanks to @nanoandrew4!
Pushed updates to Git.
(#92)[10/9/2017-14:41 0.5.1 Sergix]
Closed #40.
- Closed #50.
- Manually merged changes due to conflicts.
- Adds command list.
- Thanks to @negste!
Pushed updates to Git.
(#91)[10/5/2017-21:05 0.5.1 Sergix]
Closed #32.
- Runs executables and JAR files
- Exec
Closed #33.
- Clear.java
Merged #44.
- #33
Updated ROADMAP.md.
- Added "Text editor"
Updated CONTRIBUTING.md.
Pushed updates to Git.
(#90)[10/1/2017-17:05 0.5.1 Sergix]
Moved command classes into their own package (main.java.jterm.command).
Created imports for "main.java.jterm.JTerm" in multiple classes.
Made the JTerm class variables public.
Pushed updates to Git.
(#89)[9/30/2017-13:30 0.5.1 Sergix]
Added Issue template to repo (borrowed from "angular-translate"). (#43)
Created ROADMAP.md file, which contains information about the needs to reach "v1.0.0" of JTerm.
Created a GitHub milestone to track the ROADMAP.
Closed #35, 36, 37.
- Merged #38, #39.
- Fixed issues with running on Mac and other UNIX distros.
Pushed updates to Git.
(#88)[9/29/2017-17:28 0.5.1 Sergix]
Tab autocompletion has been implemented! Thanks to @nanoandrew4. Changes:
- Input.java: http://www.source-code.biz/snippets/java/RawConsoleInput
- InputHander.java
- fileNames: list of files for tab rotation and printing options
- command: stores JTerm.command while rotating through above list
- startComplete: length of original input to be completed
- ProcessUnix(): processes input provided by Input class (UNIX)
- ProcessWin(): processes input provided by Input class (Windows)
- FileAutocomplete(): displays all files that match the current input
- ClearLine(): clears a line in the console of size line.length()
- CommandAutocomplete() (WIP)
- Works with "exec"; completes filenames
- If there are multiple possible results, it prints out a list of possible completions, then the user can cycle through options by repeatedly hitting TAB.
- Applied formatting changes to Input.java and JTerm.java (@Sergix)
JTerm.java changes and additions for tab completion:
- os: gets the OS name
- isWin: boolean for if OS is Windows-based
- isUnix: boolean for if OS is UNIX-based
- capsOn: used for determining whether Caps Lock is pressed
- command: command string currently stored
- Removed Standby(); characters are read individually
Closed #31 (https://github.com/Sergix/JTerm/issues/31).
- Merged #34.
Command completion is soon to be implemented.
Pushed updates to Git.
(#87)[9/20/2017-22:17 0.5.1 Sergix]
Added Waffle.io throughput graph to the README.
Pushed updates to Git.
(#86)[9/20/2017-22:08 0.5.1 Sergix]
Fixed issue where if "dir" or "files" was entered it crashed the application due to an out of bounds exception.
TODO: update help information for Dir and Files commands.
Pushed updates to Git.
(#85)[9/17/2017-18:07 0.5.1 Sergix]
Updated documentation comments in the source code.
Removed the Process() function from Window and Exec.
Pushed updates to Git.
(#84)[9/12/2017-21:26 0.5.1 Sergix]
Wrote patch notes and changelog for version "0.5.1".
Compiled binaries and source code, as well as the wrapfile (which may be deprecated).
Changed POM project version to 0.5.1.
Changed JTERM_VERSION to 0.5.1.
Changed README and CONTRIBUTING.md version to 0.5.1.
Pushed updates to Git.
(#83)[9/10/2017-18:17 0.5.0 Sergix]
Command processing is now even more efficient! The name of the function is now the second part of the command, or if it is a single-word command it defaults to Process().
Arguments for Process() functions are now ArrayList<>'s, and the method caller in JTerm.Parse() now passes an ArrayList<> rather than a String.
Changed multple function names.
- Dir
- PrintDir() -> Ls()
- ChangeDir() -> Cd(), Chdir()
- PrintWorkingDir() -> Pwd()
- NewDir() -> Md()
- Files
- WriteFile() -> Write()
- ReadFile() -> Read()
Created Del() and Rm() function that are identical to Delete().
Moved function contents to class constructors.
- Echo.EchoInput()
- Exit.ExitApp()
- Help.PrintHelp()
- Pause.EnterPause()
- Ping.PingHost()
- Ps.View()
- Set.NewVar(), Set.PrintVar()
Pushed updates to Git.
(#82)[9/9/2017-21:56 0.5.0 Sergix]
Added Doc comments to new JTerm.GetAsArray() and JTerm.GetAsString() functions.
Fixed issue where "dir" and "files" were crashing when being passed no options.
"quit" command is now "exit".
Changed POM project version to 0.5.0.
Changed JTERM_VERSION to 0.5.0.
Built binaries for version 0.5.0.
Wrote patch notes and compiled the full release changelog.
Pushed updates to Git.
(#81)[9/9/2017-21:14 0.4.1 Sergix]
Created a new command parsing algorithm.
- Commands are now the exact name of the class
- Each class now has a Process() function that runs the function associated with the command
- Commands are now formatted as "[class] [command]" (i.e. "dir ls", list directory contents)
The "init" batch now defines an environment variable, JTERM_VERSION, that contains the version to build the JAR as.
Added a CodeTriage badge to the README!
Fixed Issue #23.
- The POM now builds the MANIFEST with the main class included to be able to run with -jar.
Created multiple classes.
- Exit.java (exit)
- Help.java (help)
Pushed updates to Git.
(#80)[9/8/2017-21:39 0.4.1 Sergix]
Changed the username of the last two entries and in the JTerm.java doc comments. ;P
Pushed updates to Git.
(#79)[9/8/2017-17:32 0.4.1 pmorgan3]
Added break to line 202 in JTerm.java
(#78)[9/8/2017-17:11 0.4.1 pmorgan3]
Added UNIX equivalents of dir and del (ls and rm respectively)
(#77)[9/8/2017-19:38 0.4.1 Sergix]
Updated README and CONTRIBUTING footer version.
Opened Dev PR.
Pushed updates to Git.
(#76)[9/8/2017-19:30 0.4.1 Sergix]
Updated CONTRIBUTING.md with branch information.
Changed POM project version to 0.4.1.
Built binaries for version 0.4.1.
Wrote patch notes and compiled the full changelog.
Pushed updates to Git.
(#75)[9/8/2017-17:56 0.4.0 Sergix]
Removed unecessary imports in multiple files.
Changed Exec error message.
Moved options tokenizer from Exec.Parse() into the Exec.Run() line processing loop, and it now calls JTerm.Parse() rather than Exec.Parse() for command processing.
Created Pause class.
- Pause.java
- EnterPause(options): pauses the interpreter until the Enter key is hit.
Moved all non-JTerm-compatible switch cases from Exec.Parse() into JTerm.Parse().
Added documentation comments for multiple functions.
Pushed updates to Git.
(#74)[9/8/2017-16:46 0.4.0 Sergix]
Moved all the "set" command code into its own class, Set.
- vars: global program hashtable containing all variables
- NewVar(options): creates a new variable
- PrintVars(): prints all variables currently stored
Slight improvements in efficiency in the Set command.
Set can also now be called from the regular prompt, and not just from exec files.
The next update to JTerm will probably result in a patch (v0.4.1) unless something significant is added.
Pushed updates to Git.
(#73)[9/8/2017-13:00 0.4.0 Sergix]
Fixed an issue with the importing of the commons library in the POM.
Pushed updates to Git.
(#72)[9/8/2017-12:47 0.4.0 Sergix]
Fixed Issue #20.
- Maven was not loading the dependencies into the output JAR.
- Added the maven-assembly-plugin to the POM.
Slight modifications to the batch build and run scripts.
The Maven package process now builds two JAR's: one w/o dependencies and one with.
- If you perform the "run" batch script right after a build, it will rename the files to their respective names.
- Packaged JAR, no dependencies (before name change w/ "run"): jterm-0.5.0.jar
- Packaged JAR, with dependencies (before name change w/ "run"): jterm-0.5.0-jar-with-dependencies.jar
- Packaged JAR, no dependencies (after name change w/ "run"): jterm-0.5.0-no-deps.jar
- Packaged JAR, with dependencies (after name change w/ "run"): jterm-v0.5.0.jar
Closed Issue #20.
Pushed updates to Git.
(#71)[9/7/2017-21:52 0.4.0 Sergix]
Deleted the Dir and readfile branches.
Updated some stuff in the Slack group! :D
Slight changes to the POM in trying to resolve Issue #20.
Pushed updates to Git.
(#70)[9/5/2017-21:52 0.4.0 Sergix]
Issue presented in entry #69 still present. Opening an issue on GitHub to get multiple people's input.
Updated the README and CONTRIBUTING docs (mostly just moved some stuff around.)
Added the Apache Commons Lang library to /lib, trying to figure out how to package it with Maven....
Added "Pushed updates to Git." line in previous entry.
Pushed updates to Git.
(#69)[9/4/2017-22:01 0.4.0 Sergix]
Time to start this project up again! It's been dormant for a while as I've been busy with other things.
I myself have moved out of the Eclipse IDE for this project, so I have made a very small "init", "build", and "run" batchfile to help me out. :P
Also, I am currently working on setting up a Vagrantfile for helping out new users who want to contribute (more info at https://www.vagrantup.com/intro/index.html).
Known Issue:
- SystemUtils lib not importing in Ps.java (POM issue?)
Pushed updates to Git.
(#68)[7/10/2017-18:03 0.4.0 Sergix]
Merged PR #17 which included the ReadFile() function in Files.java written by @d4nntheman.
- Closes issue #16
Slight changes to Files.ReadFile() code spacing.
Added BufferedReader to imports of Files.java (fixes Travis CI build fail).
Pushed updates to Git.
(#67)[7/6/2017-11:25 0.4.0 Sergix]
Fixed issue #15 (2). (https://github.com/Sergix/JTerm/issues/15)
ChangeDir() accepts directory paths enclosed in quotes.
Pushed updates to Git.
(#66)[7/6/2017-11:25 0.4.0 Sergix]
Fixed issue #15. (https://github.com/Sergix/JTerm/issues/15)
Fixed other issues:
- NewDir() was not taking arguments with multiple spaces
- WriteFile() was not taking arguments with multiple spaces
- Delete() was not taking arguments with multiple spaces
- Echo() was outputting an extra space
Pushed updates to Git.
(#65)[7/4/2017-13:48 0.4.0 Sergix]
Updated WriteFile(); input stream is closed when a blank line is entered.
A single space on a line can be used to output a blank line into a file.
Pushed updates to Git.
(#64)[7/4/2017-11:41 0.4.0 Sergix]
Fixed #14 (https://github.com/Sergix/JTerm/issues/14).
Added Window.CloseAll() function and the Window.windows array.
JTerm automatically calls CloseAll() right before exiting the application.
Pushed updates to Git.
(#63)[7/3/2017-14:36 0.4.0 Sergix]
Resolved file conflicts from last push to dev branch.
Removed unecessary files and reformatted eclipse project.
(#62)[7/1/2017-19:12 0.3.1 Sergix]
Preparing for v0.4.0 release.
Set a longer timeout for the "ping" command. Timeout is now 10 seconds.
Edited "Ps" and "Ping" classes for function names and option processing. Original credit goes to @chromechris for writing these methods.
Wrote docs for v0.4.0 and compiled binaries and other dependencies.
EventHandler() is currently unneeded, so it has been removed.
Included a wrapfile in the build/src/ directory for the release. More info in the documentation.
Added @chromechris to list of contributers at startup. Thanks again! :)
Pushed updates to Git.
(#61)[null-null 0.3.1 chromechris]
Added a ping functionality
Added a class called 'Ping'
Added a 'ping' case statment in the JTerm class
(#60)[null-null 0.3.1 chromechris]
Converted to Maven Project.
Added a process view functionality for both Windows and Linux, output is based on OS environment check.
Functionality called 'ps' added to JTerm Class.
New Class called Ps added.
Added a new library through Maven.
(#59)[6/19/2017-20:53 0.3.1 Sergix]
Added basic arithmetic options that can be assigned to variables.
Numeric addition is soon to be implemented.
(#58)[6/19/2017-20:53 0.3.1 Sergix]
Updated README to include Changelog changes.
Changelog entry headings now include an entry number that is used in Git commit messages and can be used to reference changelog entries that specify a new issue or a change.
All entries have been updated to include this change.
Uploaded class file builds into target directory built from Maven and javac.
Finished TODO presented in #57.
Pushed updates to Git.
(#57)[6/18/2017-22:47 0.3.1 Sergix]
Fixed two output prompt issue presented in last changelog entry.
First issue in issue list in the last changelog entry is now irrelevant, as the "pause" command no longer uses the EventHandler
for input.
User input reader moved to global static variable (JTerm.userInput) to avoid having multiple readers for System.in open.
TODO in Exec(), line 162 (!)
Pushed updates to Git.
(#56)[6/16/2017-23:15 0.3.1 Sergix]
Fixed pause key listener.
Known issues:
- When pressing a key during pause, that key is read and automatically passed to the BufferedReader in the command loop; it is able to be backspaced,
but doing so and then entering more characters crashes the program.
- (Linked with above issue) Hitting enter for a pause command outputs two command input prompts and an extra newline before
(#55)[6/15/2017-19:39 0.3.1 Sergix]
Moved all event handlers to new EventHandler class.
Initialized from EventHandler.init() called in main().
Key detection is disabled for now, and focus should move to Exec for the project.
(#54)[6/14/2017-22:49 0.3.1 Sergix]
Added key detection functions using JNativeHook libs.
Current TODO is auto-completion of commands and executable filenames.
Pushed updates to Git.
(#53)[6/14/2017-21:08 0.3.1 Sergix]
The project now runs Maven for local build testing in Eclipse.
The POM has been modified to include these changes.
(#52)[6/12/2017-14:52 0.3.0 Sergix]
Entering "cd /" only adds a slash ('/') to the current working directory (which is still valid, but not what the user desires
and can potentially cause confusion.)
Entering a single slash now changes the directory to the highest-level directory available.
Wrote documentation for version "0.3.1".
Updated source builds and JAR builds.
Created version changelog and release notes.
Put License commenting in the source code.
Opened a PR and requested for merging into master.
(#51)[6/12/2017-14:44 0.3.0 Sergix]
Added some more scripting elements for windows.
"pause", "window", and window title and visibility changes are now possible.
Windows can be stored as variables and modified later.
Found a large issue that needs to be released as a new patch (v0.3.1):
- Blank input into the console crashes JTerm
Pushed updates to Git.
(#50)[6/12/2017-10:09 0.3.0 Sergix]
Moved project folders around for possible Maven integration for the CI.
Added "-h" option to exec.
Pushed updates to Git.
(#49)[6/11/2017-17:19 0.3.0 Sergix]
Added "set" command to Exec.Parse().
Known issue: an extra space is added at the end of the variable value
(#48)[6/11/2017-15:46 0.3.0 Sergix]
Moved some code around in the JTerm class.
Standby() now calls JTerm.Parse() to parse commands. This makes the code reusable with the Exec.Parse() function.
Pushed updates to Git.
(#47)[6/4/2017-20:08 0.3.0 Sergix]
Release 0.3.0 has been pushed with the associated documentation and other data.
Documentation now includes a section covering commands that JTerm provides.
The Client/Server classes are included in the packaged source, although they are not actually used in the release executable; see associated release documentation for more details.
Pushed updates to Git.
(#46)[6/3/2017-23:04 0.2.1 Sergix]
Created "jwindow" command that creates a new OS window.
Main class is the "Window" class.
Function called by JTerm command is "new Window(options)"
Options are defined in function documentation comment.
Release v0.3.0 is planned for tomorrow.
Pushed updates to Git.
(#45)[6/3/2017-18:50 0.2.1 Sergix]
Ceasing updates on Client/Server model until script interpreter is made.
DO NOT run the "connect" or "server" command; they are DEPRECATED.
Pushed updates to Git.
(#44)[5/31/2017-23:28 0.2.1 Sergix]
Created a "Server" class that can run a socket server directly from JTerm and accepts multiple client requests.
Soon, this will become programmable through scripts.
Server.Start() is the used function.
Threads are used to keep track of connecting users.
Only issues are:
- Loops cannot be used to receive input on the server side; the connection must be immediately severed after recieving a message
- Server close code is unreachable
Pushed updates to Git.
(#43)[5/31/2017-20:43 0.2.1 Sergix]
Created a "Client" class that can connect to open TCP servers using a specified port and IP address.
Two-way messaging is also enabled from the console.
Client.Connect() is the connect function.
The Client class also implements a runnable thread for reading input while writing messages.
Pushed updates to Git.
(#42)[5/31/2017-17:03 0.2.1 Sergix]
Made the change directory function not require a full directory list;
directory paths relative to the current directory can be entered.
Pushed updates to Git.
(#41)[5/31/2017-16:31 0.2.1 Sergix]
Added a directory creation command, "md".
Function is in Dir.NewDir().
(#40)[5/31/2017-16:04 0.2.1 Sergix]
Quite a few changes made. Here is a full list:
- Removed Write.java file and moved the WriteFile function to the new "Files" class
- Added "delete"/"del" command which deletes the specified file
- Added command option parsing for WriteFile
- Made inputed commands (not options) default to lowercase
- Files.Delete deletes both files AND directories
Created "dev" branch that will be used for development.
Fixed incorrect date in last changelog entry.
(#39)[5/31/2017-15:30 0.2.1 Sergix]
So according to semantic versioning, patch 0.2.1 should actually be version "0.3.0".
However, to is not possible under the Semantic Versioning specifications to change a release or patch version number.
Updated the 0.2.1 docs to include this statement in the patch notes section.
Pushed updates to Git.
(#38)[5/29/2017-21:07 0.2.1 Sergix]
Pushed v0.2.1 dependencies.
Changelog and documentation have been finished writing and other smaller formatting changes.
Pusehd updates to Git.
(#37)[5/29/2017-20:50 0.2.1 NCSGeek]
Created Echo.java
Added Echo command
(#36)[5/28/2017-22:12 0.2.0 Sergix]
Updated README; now contains "Contributing" section.
Pushed updates to Git.
(#35)[5/28/2017-22:09 0.2.0 Sergix]
Created a "Source Code" section of the Contributing Guidelines for more information on source code and files.
Pushed updates to Git.
(#34)[5/28/2017-22:02 0.2.0 Sergix]
Changed the dates of the last few entries to be "5/28/2017" rather than "5/29/2017".
Created a Contributing Guidelines document to be followed by any new contributers.
Pushed updates to Git.
(#33)[5/28/2017-21:01 0.2.0 Sergix]
Created a Code of Conduct for new contributers and the W.I.P. Guidelines.
Pushed updates to Git.
(#32)[5/28/2017-16:08 0.2.0 Sergix]
Created build files and metadeta at /build/src and /build/changelog directories.
Pushed updates to Git.
(#31)[5/28/2017-16:00 0.2.0 Sergix]
Merged a PR from the Dir branch.
Published build 0.2.0!
Exported new jar to the /build/jar directory.
Created documentation in the new /docs/release folder of the project.
Pushed updates to Git.
(#30)[5/28/2017-15:00 0.1.0 Sergix]
Added command details to cd, dir, pwd.
Moved some code around in the dir function to be more efficient.
Created Dir branch for this code to be reviewed and a PR.
Pushed updates to Git.
(#29)[5/28/2017-14:41 0.1.0 Sergix]
Fixed a couple issues mentioned in previous entry.
The "dir" command now prints from the "currentDirectory" global variable unless otherwise specified.
(#28)[5/28/2017-23:22 0.1.0 Sergix]
Added the "cd" and "pwd" commands.
"cd" changes the directory to the specified input.
"pwd" prints the working directory of the console.
There are known issues and will be resolved ASAP.
(#27)[5/27/2017-22:18 0.1.0 Sergix]
Created a Patch Notes Documentation Style Guide located at /docs/PatchDocStyleGuide.md
Updated Documentation Style Guide.
Changed README to include new documentation files.
Pushed updates to Git.
(#26)[5/27/2017-15:51 0.1.0 Sergix]
Created a Documentation Style Guide located at /docs/DocStyleGuide.md
This file includes infomation about writing documentation for new releases.
Pushed updates to Git.
(#25)[5/26/2017-18:23 0.1.0 Sergix]
Made a few small updates to the Style Guide.
Documentation Comments also describe command-line arguments (e.g. "-f", "-h") that are interpreted by the function.
Updated more of the code to adapt to the Style Guide.
Pushed updates to Git.
(#24)[5/25/2017-23:00 0.1.0 Sergix]
Changed some of the code syntax to align with the new Source Code Style Guide.
Pushed updates to Git.
(#23)[5/25/2017-18:29 0.1.0 Sergix]
Created a Source Style Guide located at /docs/SourceStyleGuide.md
Provides extensive information on how source code is to be formatted.
Pushed updates to Git.
(#22)[5/24/2017-20:23 0.1.0 Sergix]
Edited README with small changes and a new "Versioning" section.
Version numbers now implement the "Semantic Versioning" specification (see README for details.)
Changed the name of the pre-release jar to "jterm-v0.1.0.jar" to align with this specification.
Updated the jar file in the GitHub "release"->"Prerelease" section on the project site.
Changelog entries's version number has now changed from "pre-alpha" to "0.1.0". This doesn't admit any notable changes.
Changelog entries (if not beforehand specified) must use the version number of the last released build. This is because we don't know if the next build will end up being a major, minor, or patch release, so it only seems logical to do this.
Changed the format of build "src" and "changelog" files, as now specified in the README update. It only made sense that the naming conventions of all files published in a build remain similar.
Edited the filenames of the pre-release build files. "vPrerelease-changelog.txt" -> "jterm-changelog-v0.1.0.txt"; "vPrerelease-src.zip" -> "jterm-src-v0.1.0.zip".
Pushed updates to Git.
(#21)[5/23/2017-21:57 pre-alpha Sergix]
Added arguments for commands.
All class functions should take the "options" variable as the only argument.
Class functions will loop through the options and take out what it needs as it needs it.
A known error is in the Write class, where if you do not specify an filename when calling it, the program crashes.
Pushed updates to Git.
(#20)[5/23/2017-20:48 pre-alpha Sergix]
Updated the output of the "dir" command with some fancy output.
Output details are listed in a comment block in Dir.java.
Pushed updates to Git.
(#19)[5/23/2017-17:58 pre-alpha Sergix]
Recieved approval to merge PR #2.
Merged into master with changes:
- Dir.java file
- "dir [directory]" command added to JTerm.Standby()
Pushed updates to Git.
(#18)[5/23/2017-16:32 pre-alpha Sergix]
Add "dir" to runnable commands in JTerm class.
Command syntax: dir [directory]
When [directory] is not specified, the function defaults to the current directory (".").
Running Travis builds at the moment. I have requested for review to merge the PR (#2) if successful.
Pushed updates to Git.
(#17)[5/23/2017-8:40 pre-alpha Sergix]
Create Dir.java file.
Will contain all static methods related to directory functions.
Created PrintDir method and opened a PR on the Dir branch.
Travis CI ran some build tests... failed both. Checking imported libs.
Pushed updates to Git.
(#16)[5/20/2017-13:45 pre-alpha Sergix]
Made some changes to compile.sh for Travis builds.
Changes to the file are no longer necessary as long as all source files stay in the current folder.
Pushed updates to Git.
(#15)[5/19/2017-20:06 pre-alpha Sergix]
Input is now read as an entire line (via BufferedReader) and then iterated through as smaller "tokens" or substrings, using spaces as delimiters.
Removed class files from the Git folder, but keep them in your local project folder.
Changed .gitignore to reject .class files.
Pushed updates to Git.
(#14)[5/19/2017-19:47 pre-alpha Sergix]
Actually got Travis CI to work. Made a custom shell script that compiles the classes into the build/classes folder.
Added the compile.sh file for CI build scripts.
Updated .travis.yml to work with the new parameters.
Changed README to include build status image from Travis CI.
Pushed updates to Git.
(#13)[5/18/2017-17:23 pre-alpha Sergix]
Attempting a different CI: CircleCI.
Already started building the project... hopefully everything sails smoothly.
Obviously, however, all issues are coming from Maven/Gradle, and I still cannot understand how to format the Maven POM or the build.gradle.
There MUST be an easier way to deploy Java projects.... If anyone has any insight into this I am open to any suggestions.
I'm probably going to give up on CI though. It's definitely nice for large projects, but Java does not seem to want to work with my CI.
Removing all CI dependencies now, and closing all running CI environments.
Pushed updates to Git.
(#12)[5/18/2017-17:02 pre-alpha Sergix]
Updated Gradle Builds.
The Travis CI at least WORKS now... sort of. I don't think it's actually building/deploying anything, as every time gradle runs it just reports "UP-TO-DATE" for everything...
Working and past builds can be viewed at https://travis-ci.org/Sergix/JTerm
Edited the directories for the java package.
Pushed updates to Git.
(#11)[5/18/2017-17:02 pre-alpha Sergix]
Created gradle dependencies.
Pushed updates to Git.
(#10)[5/18/2017-16:46 pre-alpha Sergix]
Been messing around with getting Travis CI to automate build tests for the project.
Attempting to get Gradle to work.... with not much luck yet.
Moved some directories around to hopefully work with the integrated builds.
Pushed updates to Git.
(#9)[5/17/2017-22:03 pre-alpha Sergix]
Finished the WriteFile class.
Uploaded files to the Write-File branch.
Opened a PR to merge to master.
Pushed to GitHub.
(#8)[5/17/2017-21:38 pre-alpha Sergix]
Added a logo to the readme, viewable online.
Also added a project page at https://sergix.github.io/projects/jterm/index.html
(#7)[5/17/2017-21:38 pre-alpha Sergix]
Added a logo to the readme, viewable online.
Also added a project page at https://sergix.github.io/projects/jterm/index.html
(#6)[5/16/2017-20:47 pre-alpha Sergix]
Created Write.java class file.
Adds writing to files.
Created "write" command in terminal.
Pushed to Write-File GitHub branch.
(#5)[5/16/2017-19:52 pre-alpha Sergix]
Uploaded pre-release jar.
No big changes in source code since last update.
Changed .gitignore to not ignore .jars.
Pushed to GitHub along with associated source and changelog.
(#4)[5/16/2017-19:09 pre-alpha Sergix]
Finally reformatted the directory.
Created a 'jterm' subfolder under /src that is used as the 'package' directory for eclipse.
Class files are generated in the /src/jterm folder (the same folder as the source files).
Went ahead and removed compile.bat, as it is now useless. :P
Added some comments to JTerm.java for more explanation.
Created a .gitignore for files. NOTE: zipped files (.rar, .zip) can no longer be uploaded. Create a separate branch for changes.
Updated the README for a change in the "Changelog" section: changelog entries must be indented (as now shown.) This adds for better readability.
Pushed updates to GitHub.
(#3)[5/16/2017-17:36 pre-alpha Sergix]
Edited uploaded files by NCSGeek.
Eclipse generated some weird files... gonna have to rework the directory.
(#2)[5/16/2017-17:05 pre-alpha Sergix]
Created classpath and source directory.
Created .vscode settings folder for VSCode preferences.
compile.bat automatically builds classes and runs it in the console.
Only issue at the moment is getting JARs to work for a console application, if it is even possible. Typically JARs are only used for GUI applications.
Pushed updates to GitHub.
(#1)[5/15/2017-8:55 pre-alpha Sergix]
Uploaded the global changelog file to the project.
Changed README.md "Changelog" section to require username in changelog entries.
New entires in the changelog must be placed at the top of the file, rather than the bottom.
Renamed my GitHub profile to simply "Sergix" rather than "Sergix7440."