X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.core%2Fsrc%2Forg%2Fargeo%2Fsync%2Fcli%2FSync.java;h=d21b5a255833c86eb3334534ff277dad5fa25527;hb=438237c2b8c995d4f9562d53bfe4ea63c4442054;hp=6bb098b1944fdbf943f87394fdd3b9e5abba5c26;hpb=d6bb3d3e0643c410ecd3ca1d4d88ae412697f258;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.core/src/org/argeo/sync/cli/Sync.java b/org.argeo.core/src/org/argeo/sync/cli/Sync.java index 6bb098b19..d21b5a255 100644 --- a/org.argeo.core/src/org/argeo/sync/cli/Sync.java +++ b/org.argeo.core/src/org/argeo/sync/cli/Sync.java @@ -1,11 +1,13 @@ package org.argeo.sync.cli; import java.net.URI; +import java.nio.file.Paths; import java.util.List; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; +import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.argeo.sync.fs.PathSync; @@ -15,21 +17,36 @@ public class Sync { public static void main(String[] args) { Options options = new Options(); options.addOption("r", "recursive", false, "recurse into directories"); - options.addOption(Option.builder().longOpt("progress").hasArg(false).desc("").build()); + options.addOption(Option.builder().longOpt("progress").hasArg(false).desc("show progress").build()); CommandLineParser parser = new DefaultParser(); try { CommandLine line = parser.parse(options, args); List remaining = line.getArgList(); - + if (remaining.size() == 0) { + System.err.println("There must be at least one argument"); + printHelp(options); + System.exit(1); + } URI sourceUri = new URI(remaining.get(0)); - URI targetUri = new URI(remaining.get(1)); + URI targetUri; + if (remaining.size() == 1) { + targetUri = Paths.get(System.getProperty("user.dir")).toUri(); + } else { + targetUri = new URI(remaining.get(1)); + } PathSync pathSync = new PathSync(sourceUri, targetUri); pathSync.run(); } catch (Exception exp) { exp.printStackTrace(); - + printHelp(options); + System.exit(1); } } + public static void printHelp(Options options) { + HelpFormatter formatter = new HelpFormatter(); + formatter.printHelp("sync SRC [DEST]", options, true); + } + }