1 suite = {
   2   "mxversion" : "5.22.0",
   3   "name" : "jvmci",
   4   "url" : "http://openjdk.java.net/projects/graal",
   5   "developer" : {
   6     "name" : "Truffle and Graal developers",
   7     "email" : "graal-dev@openjdk.java.net",
   8     "organization" : "Graal",
   9     "organizationUrl" : "http://openjdk.java.net/projects/graal",
  10   },
  11   "repositories" : {
  12     "lafo-snapshots" : {
  13       "url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots",
  14       "licenses" : ["GPLv2-CPE", "UPL"]
  15     },
  16   },
  17 
  18   "licenses" : {
  19     "UPL" : {
  20       "name" : "Universal Permissive License, Version 1.0",
  21       "url" : "http://opensource.org/licenses/UPL",
  22     }
  23   },
  24 
  25   "defaultLicense" : "GPLv2-CPE",
  26 
  27   # This puts mx/ as a sibling of the JDK build configuration directories
  28   # (e.g., macosx-x86_64-normal-server-release).
  29   "outputRoot" : "../build/mx/hotspot",
  30 
  31     # ------------- Libraries -------------
  32 
  33   "libraries" : {
  34 
  35     "TESTNG" : {
  36       "urls" : ["http://central.maven.org/maven2/org/testng/testng/6.9.10/testng-6.9.10.jar"],
  37       "sha1" : "6feb3e964aeb7097aff30c372aac3ec0f8d87ede",
  38     },
  39 
  40     # Stubs for classes introduced in JDK9 that allow compilation with a JDK8 javac and Eclipse.
  41     # The "path" and "sha1" attributes are added when mx_jvmci is loaded
  42     # (see mx_jvmci._update_JDK9_STUBS_library()).
  43     "JDK9_STUBS" : {
  44         "license" : "GPLv2-CPE",
  45      },
  46   },
  47 
  48   "projects" : {
  49 
  50     # ------------- JVMCI:Service -------------
  51 
  52     "jdk.vm.ci.services" : {
  53       "subDir" : "src/jdk.vm.ci/share/classes",
  54       "sourceDirs" : ["src"],
  55       "javaCompliance" : "1.8",
  56       "workingSets" : "API,JVMCI",
  57     },
  58 
  59     # ------------- JVMCI:API -------------
  60 
  61     "jdk.vm.ci.meta" : {
  62       "subDir" : "src/jdk.vm.ci/share/classes",
  63       "sourceDirs" : ["src"],
  64       "checkstyle" : "jdk.vm.ci.services",
  65       "javaCompliance" : "1.8",
  66       "workingSets" : "API,JVMCI",
  67     },
  68 
  69     "jdk.vm.ci.code" : {
  70       "subDir" : "src/jdk.vm.ci/share/classes",
  71       "sourceDirs" : ["src"],
  72       "dependencies" : ["jdk.vm.ci.meta"],
  73       "checkstyle" : "jdk.vm.ci.services",
  74       "javaCompliance" : "1.8",
  75       "workingSets" : "API,JVMCI",
  76     },
  77 
  78     "jdk.vm.ci.code.test" : {
  79       "subDir" : "test/compiler/jvmci",
  80       "sourceDirs" : ["src"],
  81       "dependencies" : [
  82         "mx:JUNIT",
  83         "jdk.vm.ci.amd64",
  84         "jdk.vm.ci.sparc",
  85         "jdk.vm.ci.code",
  86         "jdk.vm.ci.hotspot",
  87       ],
  88       "checkstyle" : "jdk.vm.ci.services",
  89       "javaCompliance" : "1.8",
  90       "workingSets" : "API,JVMCI",
  91     },
  92 
  93     "jdk.vm.ci.runtime" : {
  94       "subDir" : "src/jdk.vm.ci/share/classes",
  95       "sourceDirs" : ["src"],
  96       "dependencies" : [
  97         "jdk.vm.ci.code",
  98         "jdk.vm.ci.services",
  99       ],
 100       "checkstyle" : "jdk.vm.ci.services",
 101       "javaCompliance" : "1.8",
 102       "workingSets" : "API,JVMCI",
 103     },
 104 
 105     "jdk.vm.ci.runtime.test" : {
 106       "subDir" : "test/compiler/jvmci",
 107       "sourceDirs" : ["src"],
 108       "dependencies" : [
 109         "mx:JUNIT",
 110         "jdk.vm.ci.runtime",
 111       ],
 112       "checkstyle" : "jdk.vm.ci.services",
 113       "javaCompliance" : "1.8",
 114       "workingSets" : "API,JVMCI",
 115     },
 116 
 117     "jdk.vm.ci.inittimer" : {
 118       "subDir" : "src/jdk.vm.ci/share/classes",
 119       "sourceDirs" : ["src"],
 120       "checkstyle" : "jdk.vm.ci.services",
 121       "javaCompliance" : "1.8",
 122       "workingSets" : "JVMCI",
 123     },
 124 
 125     # ------------- JVMCI:HotSpot -------------
 126 
 127     "jdk.vm.ci.aarch64" : {
 128       "subDir" : "src/jdk.vm.ci/share/classes",
 129       "sourceDirs" : ["src"],
 130       "dependencies" : ["jdk.vm.ci.code"],
 131       "checkstyle" : "jdk.vm.ci.services",
 132       "javaCompliance" : "1.8",
 133       "workingSets" : "JVMCI,AArch64",
 134     },
 135 
 136     "jdk.vm.ci.amd64" : {
 137       "subDir" : "src/jdk.vm.ci/share/classes",
 138       "sourceDirs" : ["src"],
 139       "dependencies" : ["jdk.vm.ci.code"],
 140       "checkstyle" : "jdk.vm.ci.services",
 141       "javaCompliance" : "1.8",
 142       "workingSets" : "JVMCI,AMD64",
 143     },
 144 
 145     "jdk.vm.ci.sparc" : {
 146       "subDir" : "src/jdk.vm.ci/share/classes",
 147       "sourceDirs" : ["src"],
 148       "dependencies" : ["jdk.vm.ci.code"],
 149       "checkstyle" : "jdk.vm.ci.services",
 150       "javaCompliance" : "1.8",
 151       "workingSets" : "JVMCI,SPARC",
 152     },
 153 
 154     "jdk.vm.ci.hotspot" : {
 155       "subDir" : "src/jdk.vm.ci/share/classes",
 156       "sourceDirs" : ["src"],
 157       "dependencies" : [
 158         "jdk.vm.ci.hotspotvmconfig",
 159         "jdk.vm.ci.inittimer",
 160         "jdk.vm.ci.runtime",
 161         "jdk.vm.ci.services",
 162         "JDK9_STUBS",
 163       ],
 164       "checkstyle" : "jdk.vm.ci.services",
 165       "javaCompliance" : "1.8",
 166       "workingSets" : "JVMCI",
 167     },
 168 
 169     "jdk.vm.ci.hotspot.test" : {
 170       "subDir" : "test/compiler/jvmci",
 171       "sourceDirs" : ["src"],
 172       "dependencies" : [
 173         "TESTNG",
 174         "jdk.vm.ci.hotspot",
 175       ],
 176       "checkstyle" : "jdk.vm.ci.services",
 177       "javaCompliance" : "1.8",
 178       "workingSets" : "API,JVMCI",
 179     },
 180 
 181     "jdk.vm.ci.hotspotvmconfig" : {
 182       "subDir" : "src/jdk.vm.ci/share/classes",
 183       "sourceDirs" : ["src"],
 184       "checkstyle" : "jdk.vm.ci.services",
 185       "javaCompliance" : "1.8",
 186       "workingSets" : "JVMCI,HotSpot",
 187     },
 188 
 189     "jdk.vm.ci.hotspot.aarch64" : {
 190       "subDir" : "src/jdk.vm.ci/share/classes",
 191       "sourceDirs" : ["src"],
 192       "dependencies" : [
 193         "jdk.vm.ci.aarch64",
 194         "jdk.vm.ci.hotspot",
 195       ],
 196       "checkstyle" : "jdk.vm.ci.services",
 197       "javaCompliance" : "1.8",
 198       "workingSets" : "JVMCI,HotSpot,AArch64",
 199     },
 200 
 201     "jdk.vm.ci.hotspot.amd64" : {
 202       "subDir" : "src/jdk.vm.ci/share/classes",
 203       "sourceDirs" : ["src"],
 204       "dependencies" : [
 205         "jdk.vm.ci.amd64",
 206         "jdk.vm.ci.hotspot",
 207       ],
 208       "checkstyle" : "jdk.vm.ci.services",
 209       "javaCompliance" : "1.8",
 210       "workingSets" : "JVMCI,HotSpot,AMD64",
 211     },
 212 
 213     "jdk.vm.ci.hotspot.sparc" : {
 214       "subDir" : "src/jdk.vm.ci/share/classes",
 215       "sourceDirs" : ["src"],
 216       "dependencies" : [
 217         "jdk.vm.ci.sparc",
 218         "jdk.vm.ci.hotspot",
 219       ],
 220       "checkstyle" : "jdk.vm.ci.services",
 221       "javaCompliance" : "1.8",
 222       "workingSets" : "JVMCI,HotSpot,SPARC",
 223     },
 224 
 225     "hotspot" : {
 226       "native" : True,
 227       "class" : "HotSpotProject",
 228     }
 229   },
 230 
 231   "distributions" : {
 232 
 233     # ------------- Distributions -------------
 234 
 235     "JVMCI_SERVICES" : {
 236       "subDir" : "src/jdk.vm.ci/share/classes",
 237       "dependencies" : ["jdk.vm.ci.services"],
 238     },
 239 
 240     "JVMCI_API" : {
 241       "subDir" : "src/jdk.vm.ci/share/classes",
 242       "dependencies" : [
 243         "jdk.vm.ci.inittimer",
 244         "jdk.vm.ci.runtime",
 245         "jdk.vm.ci.aarch64",
 246         "jdk.vm.ci.amd64",
 247         "jdk.vm.ci.sparc",
 248       ],
 249       "distDependencies" : [
 250         "JVMCI_SERVICES",
 251       ],
 252     },
 253 
 254     "JVMCI_HOTSPOTVMCONFIG" : {
 255       "subDir" : "src/jdk.vm.ci/share/classes",
 256       "dependencies" : [
 257         "jdk.vm.ci.hotspotvmconfig",
 258       ],
 259     },
 260 
 261     "JVMCI_HOTSPOT" : {
 262       "subDir" : "src/jdk.vm.ci/share/classes",
 263       "dependencies" : [
 264         "jdk.vm.ci.hotspot.aarch64",
 265         "jdk.vm.ci.hotspot.amd64",
 266         "jdk.vm.ci.hotspot.sparc",
 267       ],
 268       "distDependencies" : [
 269         "JVMCI_HOTSPOTVMCONFIG",
 270         "JVMCI_SERVICES",
 271         "JVMCI_API",
 272       ],
 273     },
 274 
 275     "JVMCI_TEST" : {
 276       "subDir" : "test/compiler/jvmci",
 277       "dependencies" : [
 278         "jdk.vm.ci.runtime.test",
 279       ],
 280       "distDependencies" : [
 281         "JVMCI_API",
 282       ],
 283       "exclude" : ["mx:JUNIT"],
 284     },
 285 
 286     # This exists to have a monolithic jvmci.jar file which simplifies
 287     # using the -Xoverride option in JDK9.
 288     "JVMCI" : {
 289       "subDir" : "src/jdk.vm.ci/share/classes",
 290       "overlaps" : [
 291         "JVMCI_API",
 292         "JVMCI_SERVICES",
 293         "JVMCI_HOTSPOT",
 294         "JVMCI_HOTSPOTVMCONFIG",
 295       ],
 296       "dependencies" : [
 297         "jdk.vm.ci.services",
 298         "jdk.vm.ci.inittimer",
 299         "jdk.vm.ci.runtime",
 300         "jdk.vm.ci.aarch64",
 301         "jdk.vm.ci.amd64",
 302         "jdk.vm.ci.sparc",
 303         "jdk.vm.ci.hotspotvmconfig",
 304         "jdk.vm.ci.hotspot.aarch64",
 305         "jdk.vm.ci.hotspot.amd64",
 306         "jdk.vm.ci.hotspot.sparc",
 307       ],
 308       "exclude" : ["JDK9_STUBS"]
 309     },
 310   },
 311 }