# HG changeset patch # User Doug Simon # Date 1411141595 -7200 # Node ID 30dda118ef3d329a3b9d7bd2f70a4ef95bce183a # Parent 4a955509b98a60fa34055245c20c604a689e7611 mx: added support for extending distributions; require list literals for list attributes in projects.py diff -r 4a955509b98a -r 30dda118ef3d mx/projects.py --- a/mx/projects.py Fri Sep 19 14:29:28 2014 +0200 +++ b/mx/projects.py Fri Sep 19 17:46:35 2014 +0200 @@ -16,9 +16,7 @@ "http://repo1.maven.org/maven2/junit/junit/4.11/junit-4.11-sources.jar", ], "sourceSha1" : "28e0ad201304e4a4abf999ca0570b7cffc352c3c", - "dependencies" : [ - "HAMCREST", - ], + "dependencies" : ["HAMCREST"], }, "HAMCREST" : { @@ -38,9 +36,7 @@ "HCFDIS" : { "path" : "lib/hcfdis-2.jar", - "urls" : [ - "http://lafo.ssw.uni-linz.ac.at/hcfdis-2.jar", - ], + "urls" : ["http://lafo.ssw.uni-linz.ac.at/hcfdis-2.jar"], "sha1" : "bc8b2253436485e9dbaf81771c259ccfa1a24c80", }, @@ -55,17 +51,13 @@ "C1VISUALIZER_DIST" : { "path" : "lib/c1visualizer_2014-04-22.zip", - "urls" : [ - "https://java.net/downloads/c1visualizer/c1visualizer_2014-04-22.zip", - ], + "urls" : ["https://java.net/downloads/c1visualizer/c1visualizer_2014-04-22.zip"], "sha1" : "220488d87affb569b893c7201f8ce5d2b0e03141", }, "JOL_INTERNALS" : { "path" : "lib/jol-internals.jar", - "urls" : [ - "http://lafo.ssw.uni-linz.ac.at/truffle/jol/jol-internals.jar", - ], + "urls" : ["http://lafo.ssw.uni-linz.ac.at/truffle/jol/jol-internals.jar"], "sha1" : "508bcd26a4d7c4c44048990c6ea789a3b11a62dc", }, @@ -89,17 +81,13 @@ "JACOCOAGENT" : { "path" : "lib/jacocoagent.jar", - "urls" : [ - "http://lafo.ssw.uni-linz.ac.at/jacoco/jacocoagent-0.7.1-1.jar", - ], + "urls" : ["http://lafo.ssw.uni-linz.ac.at/jacoco/jacocoagent-0.7.1-1.jar"], "sha1" : "2f73a645b02e39290e577ce555f00b02004650b0", }, "JACOCOREPORT" : { "path" : "lib/jacocoreport.jar", - "urls" : [ - "http://lafo.ssw.uni-linz.ac.at/jacoco/jacocoreport-0.7.1-2.jar", - ], + "urls" : ["http://lafo.ssw.uni-linz.ac.at/jacoco/jacocoreport-0.7.1-2.jar"], "sha1" : "a630436391832d697a12c8f7daef8655d7a1efd2", }, @@ -160,9 +148,7 @@ "JAVA_ALLOCATION_INSTRUMENTER" : { "path" : "lib/java-allocation-instrumenter.jar", "sourcePath" : "lib/java-allocation-instrumenter.jar", - "urls" : [ - "http://lafo.ssw.uni-linz.ac.at/java-allocation-instrumenter/java-allocation-instrumenter-8f0db117e64e.jar", - ], + "urls" : ["http://lafo.ssw.uni-linz.ac.at/java-allocation-instrumenter/java-allocation-instrumenter-8f0db117e64e.jar"], "sha1" : "476d9a44cd19d6b55f81571077dfa972a4f8a083", "bootClassPathAgent" : "true", }, @@ -186,7 +172,7 @@ "projects" : { "com.oracle.nfi" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.7", @@ -194,7 +180,7 @@ "com.oracle.nfi.test" : { "subDir" : "graal", - "sourceDirs" : "test", + "sourceDirs" : ["test"], "dependencies" : [ "com.oracle.nfi", "com.oracle.graal.compiler.common", @@ -206,7 +192,7 @@ "com.oracle.graal.api.collections" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "API,Graal", @@ -214,7 +200,7 @@ "com.oracle.graal.api.runtime" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "API,Graal", @@ -222,7 +208,7 @@ "com.oracle.graal.api.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "JUNIT", "com.oracle.graal.api.runtime", @@ -234,7 +220,7 @@ "com.oracle.graal.api.meta" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "API,Graal", @@ -242,7 +228,7 @@ "com.oracle.graal.api.meta.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "JUNIT", "com.oracle.graal.runtime", @@ -255,10 +241,8 @@ "com.oracle.graal.api.code" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.meta", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.meta"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "API,Graal", @@ -266,10 +250,8 @@ "com.oracle.graal.api.replacements" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.meta", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.meta"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "API,Graal,Replacements", @@ -277,10 +259,8 @@ "com.oracle.graal.service.processor" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.runtime", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.runtime"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Codegen,HotSpot", @@ -288,10 +268,8 @@ "com.oracle.graal.amd64" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.code", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.code"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,AMD64", @@ -299,10 +277,8 @@ "com.oracle.graal.ptx" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.code", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.code"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,PTX", @@ -310,10 +286,8 @@ "com.oracle.graal.sparc" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.code", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.code"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,SPARC", @@ -321,19 +295,17 @@ "com.oracle.graal.hotspotvmconfig" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler.common", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler.common"], "checkstyle" : "com.oracle.graal.graph", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot", }, "com.oracle.graal.hotspot" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.replacements", "com.oracle.graal.runtime", @@ -343,14 +315,17 @@ "com.oracle.nfi", ], "checkstyle" : "com.oracle.graal.graph", - "annotationProcessors" : "com.oracle.graal.replacements.verifier,com.oracle.graal.service.processor", + "annotationProcessors" : [ + "com.oracle.graal.replacements.verifier", + "com.oracle.graal.service.processor", + ], "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot", }, "com.oracle.graal.hotspot.loader" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", @@ -359,10 +334,8 @@ "com.oracle.graal.hotspot.sourcegen" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.hotspot", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.hotspot"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot", @@ -370,13 +343,13 @@ "com.oracle.graal.hotspot.jfr" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.hotspot", "JFR", ], "checkstyle" : "com.oracle.graal.graph", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "javaCompliance" : "1.8", "profile" : "", "workingSets" : "Graal,HotSpot", @@ -384,33 +357,31 @@ "com.oracle.graal.hotspot.amd64" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler.amd64", "com.oracle.graal.hotspot", "com.oracle.graal.replacements.amd64", ], "checkstyle" : "com.oracle.graal.graph", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot,AMD64", }, "com.oracle.graal.hotspot.sparc" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler.sparc", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler.sparc"], "checkstyle" : "com.oracle.graal.graph", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot,SPARC", }, "com.oracle.graal.hotspot.ptx" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.ptx", "com.oracle.graal.compiler.ptx", @@ -418,31 +389,29 @@ "com.oracle.graal.gpu", ], "checkstyle" : "com.oracle.graal.graph", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot,PTX", }, "com.oracle.graal.hotspot.hsail" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.replacements.hsail", "com.oracle.graal.hotspot", "com.oracle.graal.gpu", ], "checkstyle" : "com.oracle.graal.graph", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot,PTX", }, "com.oracle.graal.hotspot.server" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.hotspot", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.hotspot"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,HotSpot", @@ -450,7 +419,7 @@ "com.oracle.graal.hotspot.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.replacements.test", "com.oracle.graal.hotspot", @@ -462,7 +431,7 @@ "com.oracle.graal.hotspot.amd64.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.asm.amd64", "com.oracle.graal.compiler.test", @@ -475,7 +444,7 @@ "com.oracle.graal.options" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Codegen", @@ -483,7 +452,7 @@ "com.oracle.graal.options.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.options", "JUNIT", @@ -495,7 +464,7 @@ "com.oracle.graal.nodeinfo" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Graph", @@ -503,7 +472,7 @@ "com.oracle.graal.nodeinfo.processor" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "dependencies" : [ "com.oracle.graal.nodeinfo", @@ -515,7 +484,7 @@ "com.oracle.graal.graph" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.nodeinfo", "com.oracle.graal.debug", @@ -525,13 +494,13 @@ "FINDBUGS", ], "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.graal.nodeinfo.processor", + "annotationProcessors" : ["com.oracle.graal.nodeinfo.processor"], "workingSets" : "Graal,Graph", }, "com.oracle.graal.graph.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "dependencies" : [ "JUNIT", @@ -543,7 +512,7 @@ "com.oracle.graal.debug" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Debug", @@ -551,7 +520,7 @@ "com.oracle.graal.debug.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "JUNIT", "com.oracle.graal.debug", @@ -563,7 +532,7 @@ "com.oracle.graal.lir" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler.common", "com.oracle.graal.asm", @@ -576,7 +545,7 @@ "com.oracle.graal.lir.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "JUNIT", "com.oracle.graal.lir", @@ -588,7 +557,7 @@ "com.oracle.graal.lir.amd64" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.lir", "com.oracle.graal.asm.amd64", @@ -600,10 +569,8 @@ "com.oracle.graal.lir.ptx" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.asm.ptx", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.asm.ptx"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,LIR,PTX", @@ -611,10 +578,8 @@ "com.oracle.graal.lir.sparc" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.asm.sparc", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.asm.sparc"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,LIR,SPARC", @@ -622,10 +587,8 @@ "com.oracle.graal.alloc" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler.common", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler.common"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal", @@ -633,10 +596,8 @@ "com.oracle.graal.word" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.phases", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.phases"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "API,Graal", @@ -644,7 +605,7 @@ "com.oracle.graal.replacements" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler", "com.oracle.graal.java", @@ -652,28 +613,27 @@ ], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.graal.replacements.verifier,com.oracle.graal.service.processor", + "annotationProcessors" : [ + "com.oracle.graal.replacements.verifier", + "com.oracle.graal.service.processor", + ], "workingSets" : "Graal,Replacements", }, "com.oracle.graal.replacements.amd64" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.replacements", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.replacements"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "workingSets" : "Graal,Replacements,AMD64", }, "com.oracle.graal.replacements.hsail" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler.hsail", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler.hsail"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Replacements,HSAIL", @@ -681,7 +641,7 @@ "com.oracle.graal.replacements.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler.test", "com.oracle.graal.replacements", @@ -693,7 +653,7 @@ "com.oracle.graal.replacements.verifier" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.api.replacements", "com.oracle.graal.graph", @@ -705,7 +665,7 @@ "com.oracle.graal.nodes" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.graph", "com.oracle.graal.api.replacements", @@ -713,16 +673,14 @@ ], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.graal.replacements.verifier", + "annotationProcessors" : ["com.oracle.graal.replacements.verifier"], "workingSets" : "Graal,Graph", }, "com.oracle.graal.nodes.test" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler.test", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler.test"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Graph", @@ -730,10 +688,8 @@ "com.oracle.graal.phases" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.nodes", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.nodes"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Phases", @@ -741,10 +697,8 @@ "com.oracle.graal.phases.common" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.phases", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.phases"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Phases", @@ -752,10 +706,8 @@ "com.oracle.graal.virtual" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.phases.common", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.phases.common"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Phases", @@ -763,10 +715,8 @@ "com.oracle.graal.loop" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.phases.common", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.phases.common"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Phases", @@ -774,7 +724,7 @@ "com.oracle.graal.compiler" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.virtual", "com.oracle.graal.loop", @@ -782,13 +732,13 @@ ], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "workingSets" : "Graal", }, "com.oracle.graal.compiler.amd64" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler", "com.oracle.graal.lir.amd64", @@ -800,10 +750,8 @@ "com.oracle.graal.compiler.amd64.test" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler.test", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler.test"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,AMD64,Test", @@ -811,7 +759,7 @@ "com.oracle.graal.compiler.ptx" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.lir.ptx", "com.oracle.graal.compiler", @@ -823,7 +771,7 @@ "com.oracle.graal.compiler.ptx.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.hotspot.ptx", "com.oracle.graal.compiler.test", @@ -835,10 +783,8 @@ "com.oracle.graal.compiler.sparc" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.lir.sparc", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.lir.sparc"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,SPARC", @@ -846,10 +792,8 @@ "com.oracle.graal.compiler.sparc.test" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler.test", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler.test"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,SPARC,Test", @@ -857,10 +801,8 @@ "com.oracle.graal.runtime" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.compiler", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.compiler"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal", @@ -868,7 +810,7 @@ "com.oracle.graal.bytecode" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Java", @@ -876,7 +818,7 @@ "com.oracle.graal.java" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.phases", "com.oracle.graal.bytecode", @@ -888,7 +830,7 @@ "com.oracle.graal.compiler.common" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.api.code", "com.oracle.graal.options", @@ -900,7 +842,7 @@ "com.oracle.graal.baseline" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler", "com.oracle.graal.java", @@ -912,10 +854,8 @@ "com.oracle.graal.java.decompiler" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.java", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.java"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal", @@ -923,7 +863,7 @@ "com.oracle.graal.java.decompiler.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "JUNIT", "com.oracle.graal.printer", @@ -936,7 +876,7 @@ "com.oracle.graal.printer" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.java.decompiler", "com.oracle.graal.compiler", @@ -948,7 +888,7 @@ "com.oracle.graal.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "JUNIT", "com.oracle.graal.debug", @@ -960,7 +900,7 @@ "com.oracle.graal.compiler.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.test", "com.oracle.graal.printer", @@ -975,7 +915,7 @@ "com.oracle.graal.jtt" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler.test", "ASM", @@ -987,10 +927,8 @@ "com.oracle.graal.asm" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.code", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.code"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Assembler", @@ -998,7 +936,7 @@ "com.oracle.graal.asm.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.test", "com.oracle.graal.runtime", @@ -1010,7 +948,7 @@ "com.oracle.graal.asm.amd64" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.asm", "com.oracle.graal.amd64", @@ -1022,7 +960,7 @@ "com.oracle.graal.asm.amd64.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.asm.test", "com.oracle.graal.asm.amd64", @@ -1034,27 +972,23 @@ "com.oracle.graal.gpu" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.nodes", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.nodes"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", }, "com.oracle.graal.hsail" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.api.code", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.api.code"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", }, "com.oracle.graal.lir.hsail" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.lir", "com.oracle.graal.asm.hsail", @@ -1065,7 +999,7 @@ "com.oracle.graal.compiler.hsail" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler", "com.oracle.graal.lir.hsail", @@ -1076,7 +1010,7 @@ "com.oracle.graal.compiler.hsail.test.infra" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.test", "com.oracle.graal.hotspot.hsail", @@ -1088,7 +1022,7 @@ "com.oracle.graal.compiler.hsail.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.compiler.hsail.test.infra", "com.oracle.graal.compiler.test", @@ -1100,7 +1034,7 @@ "com.oracle.graal.asm.hsail" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.hsail", "OKRA", @@ -1113,10 +1047,8 @@ "com.oracle.graal.asm.ptx" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.graal.lir", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.graal.lir"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", "workingSets" : "Graal,Assembler,PTX", @@ -1124,7 +1056,7 @@ "com.oracle.graal.asm.sparc" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.hotspot", "com.oracle.graal.sparc", @@ -1136,7 +1068,7 @@ "com.oracle.truffle.api" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [], "javaCompliance" : "1.7", "workingSets" : "API,Truffle", @@ -1144,7 +1076,7 @@ "com.oracle.truffle.api.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.truffle.api", "JUNIT", @@ -1156,10 +1088,8 @@ "com.oracle.truffle.api.dsl" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.truffle.api", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.truffle.api"], "checkstyle" : "com.oracle.truffle.api", "javaCompliance" : "1.7", "workingSets" : "API,Truffle,Codegen", @@ -1167,23 +1097,21 @@ "com.oracle.truffle.api.dsl.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.truffle.api.dsl", "JUNIT", ], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.7", - "annotationProcessors" : "com.oracle.truffle.dsl.processor", + "annotationProcessors" : ["com.oracle.truffle.dsl.processor"], "workingSets" : "API,Truffle,Codegen,Test", }, "com.oracle.truffle.dsl.processor" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.truffle.api.dsl", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.truffle.api.dsl"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.7", "workingSets" : "Truffle,Codegen", @@ -1191,19 +1119,17 @@ "com.oracle.truffle.sl" : { "subDir" : "graal", - "sourceDirs" : "src", - "dependencies" : [ - "com.oracle.truffle.api.dsl", - ], + "sourceDirs" : ["src"], + "dependencies" : ["com.oracle.truffle.api.dsl"], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.truffle.dsl.processor", + "annotationProcessors" : ["com.oracle.truffle.dsl.processor"], "workingSets" : "Truffle,SimpleLanguage", }, "com.oracle.truffle.sl.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.truffle.sl", "JUNIT", @@ -1215,7 +1141,7 @@ "com.oracle.graal.truffle" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.truffle.api", "com.oracle.graal.replacements", @@ -1229,7 +1155,7 @@ "com.oracle.graal.truffle.test" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.truffle", "com.oracle.graal.compiler.test", @@ -1242,27 +1168,27 @@ "com.oracle.graal.truffle.hotspot" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.truffle", "com.oracle.graal.hotspot", ], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "workingSets" : "Graal,Truffle", }, "com.oracle.graal.truffle.hotspot.amd64" : { "subDir" : "graal", - "sourceDirs" : "src", + "sourceDirs" : ["src"], "dependencies" : [ "com.oracle.graal.truffle.hotspot", "com.oracle.graal.asm.amd64", ], "checkstyle" : "com.oracle.graal.graph", "javaCompliance" : "1.8", - "annotationProcessors" : "com.oracle.graal.service.processor", + "annotationProcessors" : ["com.oracle.graal.service.processor"], "workingSets" : "Graal,Truffle", } }, @@ -1280,16 +1206,14 @@ "com.oracle.graal.hotspot.jfr", "com.oracle.graal.hotspot.hsail", ], - "exclude" : "FINDBUGS", + "exclude" : ["FINDBUGS"], }, "GRAAL_LOADER" : { "path" : "build/graal-loader.jar", "subDir" : "graal", "sourcesPath" : "build/graal-loader.src.zip", - "dependencies" : [ - "com.oracle.graal.hotspot.loader", - ], + "dependencies" : ["com.oracle.graal.hotspot.loader"], }, "TRUFFLE" : { @@ -1311,8 +1235,11 @@ "com.oracle.graal.truffle", "com.oracle.graal.truffle.hotspot.amd64", ], - "exclude" : "FINDBUGS", - "distDependencies" : "GRAAL,TRUFFLE", + "exclude" : ["FINDBUGS"], + "distDependencies" : [ + "GRAAL", + "TRUFFLE", + ], }, "TRUFFLE-DSL-PROCESSOR" : { @@ -1320,10 +1247,9 @@ "subDir" : "graal", "sourcesPath" : "build/truffle-dsl-processor.src.zip", "javaCompliance" : "1.7", - "dependencies" : [ - "com.oracle.truffle.dsl.processor", - ], - "distDependencies" : "TRUFFLE", + "dependencies" : ["com.oracle.truffle.dsl.processor"], + "distDependencies" : ["TRUFFLE"], } - } + }, + } diff -r 4a955509b98a -r 30dda118ef3d mxtool/mx.py --- a/mxtool/mx.py Fri Sep 19 14:29:28 2014 +0200 +++ b/mxtool/mx.py Fri Sep 19 17:46:35 2014 +0200 @@ -871,22 +871,28 @@ def dec(self): self.prefix = ''.rjust(len(self.prefix) - self.indent) + list_attrs = ['urls', 'dependencies', 'sourceUrls', 'sourceDirs', 'annotationProcessors', 'exclude', 'distDependencies'] + for projectsFile in args: suite = _read_projects_file(projectsFile) - def print_attrs(p, name, attrs, listKeys, is_last=False): + def print_attrs(p, name, attrs, is_last=False): p.println('"' + name + '" : {') p.inc() for n, v in attrs.iteritems(): - if n in listKeys: + if n in list_attrs: if len(v) == 0: p.println('"{}" : [],'.format(n)) else: - p.println('"{}" : ['.format(n)) - p.inc() - for e in v.split(','): - p.println('"' + e.strip() + '",') - p.dec() - p.println('],') + v = [e.strip() for e in v.split(',')] + if len(v) == 1: + p.println('"{}" : ["{}"],'.format(n, v[0])) + else: + p.println('"{}" : ['.format(n)) + p.inc() + for e in v: + p.println('"' + e + '",') + p.dec() + p.println('],') else: p.println('"{}" : "{}",'.format(n, v)) p.dec() @@ -904,7 +910,7 @@ i = 0 for name, attrs in section.iteritems(): i = i + 1 - print_attrs(p, name, attrs, ['urls', 'dependencies', 'sourceUrls'], i == len(section)) + print_attrs(p, name, attrs, i == len(section)) p.dec() if is_last: @@ -918,9 +924,16 @@ assert existing['name'] == suite.pop('name') assert existing['mxversion'] == suite.pop('mxversion') for s in ['projects', 'libraries', 'jrelibraries', 'distributions']: + section = suite[s] for k in existing[s].iterkeys(): - suite[s].pop(k) - if len(suite[s]) == 0: + duplicate = section.pop(k) + if duplicate and s == 'distributions': + original = existing[s][k] + extensions = [d for d in duplicate['dependencies'].split(',') if d not in original['dependencies']] + if len(extensions): + extensions = ','.join(extensions) + suite.setdefault('distribution_extensions', {})[k] = {'dependencies' : extensions} + if len(section) == 0: suite.pop(s) if len(suite): @@ -934,7 +947,10 @@ print_section(p, 'libraries', suite) print_section(p, 'jrelibraries', suite) print_section(p, 'projects', suite) - print_section(p, 'distributions', suite, is_last=True) + print_section(p, 'distributions', suite) + if existing and suite.has_key('distribution_extensions'): + print_section(p, 'distribution_extensions', suite, is_last=True) + p.dec() p.println('}') @@ -981,7 +997,7 @@ if not hasattr(module, dictName): abort(modulePath + ' must define a variable named "' + dictName + '"') d = getattr(module, dictName) - sections = ['projects', 'libraries', 'jrelibraries', 'distributions'] + ([] if suite else ['name', 'mxversion']) + sections = ['projects', 'libraries', 'jrelibraries', 'distributions'] + (['distribution_extensions'] if suite else ['name', 'mxversion']) unknown = d.viewkeys() - sections if unknown: abort(modulePath + ' defines unsupported suite sections: ' + ', '.join(unknown)) @@ -1000,6 +1016,19 @@ if conflicting: abort(modulePath + ' redefines: ' + ', '.join(conflicting)) existing.update(additional) + distExtensions = d.get('distribution_extensions') + if distExtensions: + existing = suite['distributions'] + for n, attrs in distExtensions.iteritems(): + original = existing.get(n) + if not original: + abort('cannot extend non-existing distribution ' + n) + for k, v in attrs.iteritems(): + if k != 'dependencies': + abort('Only the dependencies of distribution ' + n + ' can be extended') + if not isinstance(v, types.ListType): + abort('distribution_extensions.' + n + '.dependencies must be a list') + original['dependencies'] += v dictName = 'extra' moduleName = 'projects' + str(suffix) @@ -1056,18 +1085,19 @@ projsMap = suiteDict['projects'] distsMap = suiteDict['distributions'] - def pop_list(attrs, name): + def pop_list(attrs, name, context): v = attrs.pop(name, None) - if isinstance(v, list): - return v - if v is None or len(v.strip()) == 0: + if not v: return [] - return [n.strip() for n in v.split(',')] + if not isinstance(v, list): + abort('Attribute "' + name + '" for ' + context + ' must be a list') + return v for name, attrs in projsMap.iteritems(): - srcDirs = pop_list(attrs, 'sourceDirs') - deps = pop_list(attrs, 'dependencies') - ap = pop_list(attrs, 'annotationProcessors') + context = 'project ' + name + srcDirs = pop_list(attrs, 'sourceDirs', context) + deps = pop_list(attrs, 'dependencies', context) + ap = pop_list(attrs, 'annotationProcessors', context) javaCompliance = attrs.pop('javaCompliance', None) subDir = attrs.pop('subDir', None) if subDir is None: @@ -1093,6 +1123,7 @@ self.jreLibs.append(l) for name, attrs in libsMap.iteritems(): + context = 'library ' + name if "|" in name: if name.count('|') != 2: abort("Format error in library name: " + name + "\nsyntax: libname|os-platform|architecture") @@ -1100,12 +1131,12 @@ if platform != get_os() or architecture != get_arch(): continue path = attrs.pop('path') - urls = pop_list(attrs, 'urls') + urls = pop_list(attrs, 'urls', context) sha1 = attrs.pop('sha1', None) sourcePath = attrs.pop('sourcePath', None) - sourceUrls = pop_list(attrs, 'sourceUrls') + sourceUrls = pop_list(attrs, 'sourceUrls', context) sourceSha1 = attrs.pop('sourceSha1', None) - deps = pop_list(attrs, 'dependencies') + deps = pop_list(attrs, 'dependencies', context) # Add support optional libraries once we have a good use case optional = False l = Library(self, name, path, optional, urls, sha1, sourcePath, sourceUrls, sourceSha1, deps) @@ -1113,12 +1144,13 @@ self.libs.append(l) for name, attrs in distsMap.iteritems(): + context = 'distribution ' + name path = attrs.pop('path') sourcesPath = attrs.pop('sourcesPath', None) - deps = pop_list(attrs, 'dependencies') + deps = pop_list(attrs, 'dependencies', context) mainClass = attrs.pop('mainClass', None) - exclDeps = pop_list(attrs, 'exclude') - distDeps = pop_list(attrs, 'distDependencies') + exclDeps = pop_list(attrs, 'exclude', context) + distDeps = pop_list(attrs, 'distDependencies', context) javaCompliance = attrs.pop('javaCompliance', None) d = Distribution(self, name, path, sourcesPath, deps, mainClass, exclDeps, distDeps, javaCompliance) d.__dict__.update(attrs) @@ -1172,7 +1204,7 @@ self.dists.append(d) if self.name is None: - abort('Missing "suite=" in ' + projectsFile) + abort('Missing "suite=" in ' + projectsPyFile) def _commands_name(self): return 'mx_' + self.name.replace('-', '_') @@ -3056,10 +3088,6 @@ nonCanonical = [] for s in suites(True): - projectsPyFile = join(s.mxDir, 'projects') - if not exists(projectsPyFile): - continue - for p in s.projects: for pkg in p.defined_java_packages(): if not pkg.startswith(p.name): @@ -3543,8 +3571,8 @@ def _check_ide_timestamp(suite, configZip, ide): """return True if and only if the projects file, eclipse-settings files, and mx itself are all older than configZip""" - projectsFile = join(suite.mxDir, 'projects') - if configZip.isOlderThan(projectsFile): + projectsPyFiles = [join(suite.mxDir, e) for e in os.listdir(suite.mxDir) if e.startswith('projects') and e.endswith('.py')] + if configZip.isOlderThan(projectsPyFiles): return False # Assume that any mx change might imply changes to the generated IDE files if configZip.isOlderThan(__file__): @@ -5087,9 +5115,8 @@ def show_projects(args): """show all loaded projects""" for s in suites(): - projectsFile = join(s.mxDir, 'projects') - if exists(projectsFile): - log(projectsFile) + if len(s.projects) != 0: + log(join(s.mxDir, 'projects*.py')) for p in s.projects: log('\t' + p.name) @@ -5177,7 +5204,7 @@ for f in os.listdir(d): if (mxDirName == None and (f == 'mx' or fnmatch.fnmatch(f, 'mx.*'))) or f == mxDirName: mxDir = join(d, f) - if exists(mxDir) and isdir(mxDir) and exists(join(mxDir, 'projects')): + if exists(mxDir) and isdir(mxDir) and (exists(join(mxDir, 'projects.py')) or exists(join(mxDir, 'projects'))): return mxDir def _check_primary_suite():