Skip to content

Commit

Permalink
Add --resolve-only option
Browse files Browse the repository at this point in the history
When the option is provided, only the workspace is created and the location is printed to the command line. This can then be used, for example, as classpath for another tool.

```shell
$ jgo --resolve-only org.scijava:parsington
/home/hanslovskyp/.jgo/org/scijava/parsington/RELEASE
$ ls /home/hanslovskyp/.jgo/org/scijava/parsington/RELEASE
mainClass  parsington-1.0.4.jar  pom.xml
```

This is experimental (for now) but might be merged at some point in the future
  • Loading branch information
hanslovsky committed Mar 3, 2019
1 parent 142796f commit 23dbbb7
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions jgo/jgo.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ def jgo_parser():
parser.add_argument( '--additional-endpoints', nargs='+', help='Add additional endpoints', default=[], required=False)
parser.add_argument('--ignore-jgorc', action='store_true', help='Ignore ~/.jgorc')
parser.add_argument('--link-type', default=None, type=str, help='How to link from local maven repository into jgo cache. Defaults to the `links\' setting in ~/.jrunrc or \'auto\' if not specified.', choices=('hard', 'soft', 'copy', 'auto'))
parser.add_argument('--resolve-only', action='store_true', help='Only resolve dependencies and print workspace location. Will not run any code.', required=False)

return parser

Expand Down Expand Up @@ -551,6 +552,12 @@ def run(parser, argv=sys.argv[1:], stdout=None, stderr=None):
shortcuts = shortcuts,
verbose = args.verbose,
link_type = link_type)
if args.resolve_only:
print(workspace)
class MockObject(object):
def check_returncode(self):
pass
return MockObject()

main_class_file = os.path.join(workspace, primary_endpoint.main_class, 'mainClass') if primary_endpoint.main_class else os.path.join(workspace, 'mainClass')

Expand Down

0 comments on commit 23dbbb7

Please sign in to comment.