bazelbuild / migration-tooling

Migration tools for Bazel
Apache License 2.0
45 stars 30 forks source link

Update documentation for how to pass parameters #12

Closed petroseskinder closed 7 years ago

petroseskinder commented 7 years ago

The README states that one passes parameters to this tool by performing

bazel run //generate_workspace -- --maven_project=/path/to/maven/project

However when doing so, jcommander throws the following exception

INFO: Running command line: bazel-bin/generate_workspace/generate_workspace '--artifact=com.treasuredata.client:td-client:0.7.6'
Exception in thread "main" com.beust.jcommander.ParameterException: Was passed main parameter '--artifact=com.treasuredata.client:td-client:0.7.6' but no main parameter was defined in your arg class
    at com.beust.jcommander.JCommander.getMainParameter(JCommander.java:891)
    at com.beust.jcommander.JCommander.parseValues(JCommander.java:707)
    at com.beust.jcommander.JCommander.parse(JCommander.java:312)
    at com.beust.jcommander.JCommander.parse(JCommander.java:291)
    at com.google.devtools.build.workspace.GenerateWorkspace.main(GenerateWorkspace.java:48)
ERROR: Non-zero return code '1' from command: Process exited with status 1.

The correct manner to pass parameters is:

bazel run //generate_workspace:generate_workspace -- \
      --artifact "com.treasuredata.client:td-client:0.7.6"

The distinction is that one does not use an equals sign. This change came about due to the transition to jcommander to parse command line parameters.