diff mx/mx_graal.py @ 17359:115de469a26b

support distributions in pom.mxdeps files
author Doug Simon <doug.simon@oracle.com>
date Tue, 07 Oct 2014 11:42:41 +0200
parents 95b879bdce67
children 4f9633b83a24
line wrap: on
line diff
--- a/mx/mx_graal.py	Mon Oct 06 18:14:12 2014 +0200
+++ b/mx/mx_graal.py	Tue Oct 07 11:42:41 2014 +0200
@@ -1794,12 +1794,18 @@
         graalSuite = mx.suite("graal")
         path = artifactId + '.jar'
         if args.permissive:
+            allDeps = []
             for name in deps:
-                if not mx.project(name, fatalIfMissing=False):
-                    if not mx.library(name, fatalIfMissing=False):
-                        mx.log('Skipping ' + groupId + '.' + artifactId + '.jar as ' + name + ' cannot be resolved')
-                        return
-        d = mx.Distribution(graalSuite, name=artifactId, path=path, sourcesPath=path, deps=deps, mainClass=None, excludedDependencies=[], distDependencies=[])
+                dist = mx.distribution(name, fatalIfMissing=False)
+                if dist:
+                    allDeps = allDeps + [d.name for d in dist.sorted_deps(transitive=True)]
+                else:
+                    if not mx.project(name, fatalIfMissing=False):
+                        if not mx.library(name, fatalIfMissing=False):
+                            mx.log('Skipping dependency ' + groupId + '.' + artifactId + ' as ' + name + ' cannot be resolved')
+                            return
+                    allDeps.append(name)
+        d = mx.Distribution(graalSuite, name=artifactId, path=path, sourcesPath=path, deps=allDeps, mainClass=None, excludedDependencies=[], distDependencies=[], javaCompliance=None)
         d.make_archive()
         cmd = ['mvn', 'install:install-file', '-DgroupId=' + groupId, '-DartifactId=' + artifactId,
                '-Dversion=1.0-SNAPSHOT', '-Dpackaging=jar', '-Dfile=' + d.path]