A simple project to get me used to Java's picocli
which is, in fact, vastly superior to Python's arparse
module (sorry, argparse
. Though you're built into the Python Standard Library, you don't have ANSI coloring for parameters)
Go to the Changelog to see the current changes to the project
Well, I've been considerably inactive when using my GitHub, but I've learned C++ and Java now, the latter being my favorite besides Python for various reasons like Jars, actual build tools like Apache Maven and Gradle, and namespaced projects. You don't get that in Python
Besides, picocli
has ANSI coloring and is pretty customizable
I will assume that you've done the following:
- You've downloaded and installed the JRE 11
- You've downloaded the latest JAR release of this project
- Your shell's PWD is where you downloaded said latest JAR release
Run the following command to get the list of subcommands:
$ java -jar CheckSum.jar help
Run the following command to get the checksums of Java class files:
$ java -jar path/to/checksum-x.x.x.jar check **/*.class
Notes: 1) Must have Java class files. 2) Not tested on Windows
Output would look something like this:
SHA256 Checksum of Checksum.class:
37a960b10198c247738afb9b3d6723fac3c8b24f5c6a4569536f4b900d55c232
SHA256 Checksum of BaseCommand.class:
9786c0d4d4e3fdbab7edd643612931c70d1c0d4cc58d3e389506628d1d50302a
SHA256 Checksum of Update.class:
2bdae72c8f4e54f59fce7a16ae82479ab27638d4adaf27585b778937df5c10c5
SHA256 Checksum of VersionProvider.class:
327d8768323d035b47a74eeea25936e2e6934b9e63cbd7e96dfce04dbdd3c7f4
Optional flags & subcommands can be found by passing in help
instead of check
A program that is written to compute checksums yet doesn't have its own checksum is kinda silly, so here's the official checksum for the current release
SHA-256 Checksum of checksum-0.0.4.jar:
00e121ef0f191368869c9e6b7815e076de164caf1b4f9458d1efef10588f13c7
- Uniform the usage output.
- Right now, the
Usage
,Description
andCommand-local Flags
sections are tabbed, while theCommands
andError Codes
sections aren't
- Right now, the
-
com.misery.internal.Update
.- Basically a class that downloads the latest JAR and replaces the old one, maybe making a dump just in case stuff breaks
- Probably gonna make it optional/runnable with a command
- A suite of tools that are bundled with the JAR to maybe help debug the program
- Write
ExceptionMixin
, which works similarly to the current way that the program handles exceptions, but on one mix-in - A subcommand to compute and print the JAR's checksum, so you'd run
java -jar checksum-x.x.x.jar checksum
instead ofjava -jar checksum-x.x.x.jar check checksum-x.x.x.jar