diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml index 2cbcd2ea88..83c0f514a9 100644 --- a/apps/i2psnark/java/build.xml +++ b/apps/i2psnark/java/build.xml @@ -70,7 +70,7 @@ - + diff --git a/apps/i2psnark/java/src/org/klomp/snark/CommandLine.java b/apps/i2psnark/java/src/org/klomp/snark/CommandLine.java new file mode 100644 index 0000000000..f82943704c --- /dev/null +++ b/apps/i2psnark/java/src/org/klomp/snark/CommandLine.java @@ -0,0 +1,45 @@ +package org.klomp.snark; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import net.i2p.CoreVersion; + +/** + * Simple command line access to various utilities. + * Not a public API. Subject to change. + * Apps and plugins should use specific classes. + * + * @since 0.9.26 + */ +public class CommandLine extends net.i2p.util.CommandLine { + + protected static final List SCLASSES = Arrays.asList(new String[] { + "org.klomp.snark.MetaInfo", + //"org.klomp.snark.Snark", + //"org.klomp.snark.StaticSnark", + "org.klomp.snark.Storage", + "org.klomp.snark.bencode.BDecoder", + //"org.klomp.snark.web.RunStandalone", + }); + + protected CommandLine() {} + + public static void main(String args[]) { + List classes = new ArrayList(SCLASSES.size() + CLASSES.size()); + classes.addAll(SCLASSES); + classes.addAll(CLASSES); + if (args.length > 0) { + exec(args, classes); + } + usage(classes); + System.exit(1); + } + + private static void usage(List classes) { + System.err.println("I2PSnark version " + CoreVersion.VERSION + '\n' + + "USAGE: java -jar /path/to/i2psnark.jar command [args]"); + printCommands(classes); + } +}