1 suite = {
   2   "mxversion" : "5.6.16",
   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.common" : {
  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.meta" : {
  70       "subDir" : "src/jdk.vm.ci/share/classes",
  71       "sourceDirs" : ["src"],
  72       "checkstyle" : "jdk.vm.ci.services",
  73       "javaCompliance" : "1.8",
  74       "workingSets" : "API,JVMCI",
  75     },
  76 
  77     "jdk.vm.ci.code" : {
  78       "subDir" : "src/jdk.vm.ci/share/classes",
  79       "sourceDirs" : ["src"],
  80       "dependencies" : ["jdk.vm.ci.meta"],
  81       "checkstyle" : "jdk.vm.ci.services",
  82       "javaCompliance" : "1.8",
  83       "workingSets" : "API,JVMCI",
  84     },
  85 
  86     "jdk.vm.ci.code.test" : {
  87       "subDir" : "test/compiler/jvmci",
  88       "sourceDirs" : ["src"],
  89       "dependencies" : [
  90         "mx:JUNIT",
  91         "jdk.vm.ci.amd64",
  92         "jdk.vm.ci.sparc",
  93         "jdk.vm.ci.code",
  94         "jdk.vm.ci.hotspot",
  95       ],
  96       "checkstyle" : "jdk.vm.ci.services",
  97       "javaCompliance" : "1.8",
  98       "workingSets" : "API,JVMCI",
  99     },
 100 
 101     "jdk.vm.ci.runtime" : {
 102       "subDir" : "src/jdk.vm.ci/share/classes",
 103       "sourceDirs" : ["src"],
 104       "dependencies" : [
 105         "jdk.vm.ci.code",
 106       ],
 107       "checkstyle" : "jdk.vm.ci.services",
 108       "javaCompliance" : "1.8",
 109       "workingSets" : "API,JVMCI",
 110     },
 111 
 112     "jdk.vm.ci.runtime.test" : {
 113       "subDir" : "test/compiler/jvmci",
 114       "sourceDirs" : ["src"],
 115       "dependencies" : [
 116         "mx:JUNIT",
 117         "jdk.vm.ci.common",
 118         "jdk.vm.ci.runtime",
 119       ],
 120       "checkstyle" : "jdk.vm.ci.services",
 121       "javaCompliance" : "1.8",
 122       "workingSets" : "API,JVMCI",
 123     },
 124 
 125     "jdk.vm.ci.inittimer" : {
 126       "subDir" : "src/jdk.vm.ci/share/classes",
 127       "sourceDirs" : ["src"],
 128       "checkstyle" : "jdk.vm.ci.services",
 129       "javaCompliance" : "1.8",
 130       "workingSets" : "JVMCI",
 131     },
 132 
 133     # ------------- JVMCI:HotSpot -------------
 134 
 135     "jdk.vm.ci.aarch64" : {
 136       "subDir" : "src/jdk.vm.ci/share/classes",
 137       "sourceDirs" : ["src"],
 138       "dependencies" : ["jdk.vm.ci.code"],
 139       "checkstyle" : "jdk.vm.ci.services",
 140       "javaCompliance" : "1.8",
 141       "workingSets" : "JVMCI,AArch64",
 142     },
 143 
 144     "jdk.vm.ci.amd64" : {
 145       "subDir" : "src/jdk.vm.ci/share/classes",
 146       "sourceDirs" : ["src"],
 147       "dependencies" : ["jdk.vm.ci.code"],
 148       "checkstyle" : "jdk.vm.ci.services",
 149       "javaCompliance" : "1.8",
 150       "workingSets" : "JVMCI,AMD64",
 151     },
 152 
 153     "jdk.vm.ci.sparc" : {
 154       "subDir" : "src/jdk.vm.ci/share/classes",
 155       "sourceDirs" : ["src"],
 156       "dependencies" : ["jdk.vm.ci.code"],
 157       "checkstyle" : "jdk.vm.ci.services",
 158       "javaCompliance" : "1.8",
 159       "workingSets" : "JVMCI,SPARC",
 160     },
 161 
 162     "jdk.vm.ci.hotspot" : {
 163       "subDir" : "src/jdk.vm.ci/share/classes",
 164       "sourceDirs" : ["src"],
 165       "dependencies" : [
 166         "jdk.vm.ci.hotspotvmconfig",
 167         "jdk.vm.ci.common",
 168         "jdk.vm.ci.inittimer",
 169         "jdk.vm.ci.runtime",
 170         "jdk.vm.ci.services",
 171         "JDK9_STUBS",
 172       ],
 173       "checkstyle" : "jdk.vm.ci.services",
 174       "javaCompliance" : "1.8",
 175       "workingSets" : "JVMCI",
 176     },
 177 
 178     "jdk.vm.ci.hotspot.test" : {
 179       "subDir" : "test/compiler/jvmci",
 180       "sourceDirs" : ["src"],
 181       "dependencies" : [
 182         "TESTNG",
 183         "jdk.vm.ci.hotspot",
 184       ],
 185       "checkstyle" : "jdk.vm.ci.services",
 186       "javaCompliance" : "1.8",
 187       "workingSets" : "API,JVMCI",
 188     },
 189 
 190     "jdk.vm.ci.hotspotvmconfig" : {
 191       "subDir" : "src/jdk.vm.ci/share/classes",
 192       "sourceDirs" : ["src"],
 193       "checkstyle" : "jdk.vm.ci.services",
 194       "javaCompliance" : "1.8",
 195       "workingSets" : "JVMCI,HotSpot",
 196     },
 197 
 198     "jdk.vm.ci.hotspot.aarch64" : {
 199       "subDir" : "src/jdk.vm.ci/share/classes",
 200       "sourceDirs" : ["src"],
 201       "dependencies" : [
 202         "jdk.vm.ci.aarch64",
 203         "jdk.vm.ci.hotspot",
 204       ],
 205       "checkstyle" : "jdk.vm.ci.services",
 206       "javaCompliance" : "1.8",
 207       "workingSets" : "JVMCI,HotSpot,AArch64",
 208     },
 209 
 210     "jdk.vm.ci.hotspot.amd64" : {
 211       "subDir" : "src/jdk.vm.ci/share/classes",
 212       "sourceDirs" : ["src"],
 213       "dependencies" : [
 214         "jdk.vm.ci.amd64",
 215         "jdk.vm.ci.hotspot",
 216       ],
 217       "checkstyle" : "jdk.vm.ci.services",
 218       "javaCompliance" : "1.8",
 219       "workingSets" : "JVMCI,HotSpot,AMD64",
 220     },
 221 
 222     "jdk.vm.ci.hotspot.sparc" : {
 223       "subDir" : "src/jdk.vm.ci/share/classes",
 224       "sourceDirs" : ["src"],
 225       "dependencies" : [
 226         "jdk.vm.ci.sparc",
 227         "jdk.vm.ci.hotspot",
 228       ],
 229       "checkstyle" : "jdk.vm.ci.services",
 230       "javaCompliance" : "1.8",
 231       "workingSets" : "JVMCI,HotSpot,SPARC",
 232     },
 233 
 234     "hotspot" : {
 235       "native" : True,
 236       "class" : "HotSpotProject",
 237     }
 238   },
 239 
 240   "distributions" : {
 241 
 242     # ------------- Distributions -------------
 243 
 244     "JVMCI_SERVICES" : {
 245       "subDir" : "src/jdk.vm.ci/share/classes",
 246       "dependencies" : ["jdk.vm.ci.services"],
 247     },
 248 
 249     "JVMCI_API" : {
 250       "subDir" : "src/jdk.vm.ci/share/classes",
 251       "dependencies" : [
 252         "jdk.vm.ci.inittimer",
 253         "jdk.vm.ci.runtime",
 254         "jdk.vm.ci.common",
 255         "jdk.vm.ci.aarch64",
 256         "jdk.vm.ci.amd64",
 257         "jdk.vm.ci.sparc",
 258       ],
 259       "distDependencies" : [
 260         "JVMCI_SERVICES",
 261       ],
 262     },
 263 
 264     "JVMCI_HOTSPOTVMCONFIG" : {
 265       "subDir" : "src/jdk.vm.ci/share/classes",
 266       "dependencies" : [
 267         "jdk.vm.ci.hotspotvmconfig",
 268       ],
 269     },
 270 
 271     "JVMCI_HOTSPOT" : {
 272       "subDir" : "src/jdk.vm.ci/share/classes",
 273       "dependencies" : [
 274         "jdk.vm.ci.hotspot.aarch64",
 275         "jdk.vm.ci.hotspot.amd64",
 276         "jdk.vm.ci.hotspot.sparc",
 277       ],
 278       "distDependencies" : [
 279         "JVMCI_HOTSPOTVMCONFIG",
 280         "JVMCI_SERVICES",
 281         "JVMCI_API",
 282       ],
 283     },
 284 
 285     "JVMCI_TEST" : {
 286       "subDir" : "test/compiler/jvmci",
 287       "dependencies" : [
 288         "jdk.vm.ci.runtime.test",
 289       ],
 290       "distDependencies" : [
 291         "JVMCI_API",
 292       ],
 293       "exclude" : ["mx:JUNIT"],
 294     },
 295 
 296     # This exists to have a monolithic jvmci.jar file which simplifies
 297     # using the -Xoverride option in JDK9.
 298     "JVMCI" : {
 299       "subDir" : "src/jdk.vm.ci/share/classes",
 300       "overlaps" : [
 301         "JVMCI_API",
 302         "JVMCI_SERVICES",
 303         "JVMCI_HOTSPOT",
 304         "JVMCI_HOTSPOTVMCONFIG",
 305       ],
 306       "dependencies" : [
 307         "jdk.vm.ci.services",
 308         "jdk.vm.ci.inittimer",
 309         "jdk.vm.ci.runtime",
 310         "jdk.vm.ci.common",
 311         "jdk.vm.ci.aarch64",
 312         "jdk.vm.ci.amd64",
 313         "jdk.vm.ci.sparc",
 314         "jdk.vm.ci.hotspotvmconfig",
 315         "jdk.vm.ci.hotspot.aarch64",
 316         "jdk.vm.ci.hotspot.amd64",
 317         "jdk.vm.ci.hotspot.sparc",
 318       ],
 319       "exclude" : ["JDK9_STUBS"]
 320     },
 321   },
 322 }