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