--- a/make/conf/jib-profiles.js Thu Mar 29 01:06:12 2018 +0200
+++ b/make/conf/jib-profiles.js Tue Aug 28 12:43:03 2018 -0700
@@ -184,8 +184,7 @@
// Identifies the version of this format to the tool reading it.
// 1.1 signifies that the publish, publish-src and get-src features are usable.
- // FIXME: For testing purposes, try 1.2
- //data.format_version = "1.1";
+ // 1.2 signifies that artifact uploads should fail on missing artifacts by default.
data.format_version = "1.2";
// Organization, product and version are used when uploading/publishing build results
@@ -234,16 +233,18 @@
common.main_profile_names = [
"linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
"solaris-sparcv9", "windows-x64", "windows-x86",
- "linux-aarch64", "linux-arm64", "linux-arm-vfp-hflt",
+ "linux-aarch64", "linux-arm32", "linux-arm64", "linux-arm-vfp-hflt",
"linux-arm-vfp-hflt-dyn"
];
// These are the base setttings for all the main build profiles.
common.main_profile_base = {
- dependencies: ["boot_jdk", "gnumake", "jtreg", "jib"],
+ dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf"],
default_make_targets: ["product-bundles", "test-bundles"],
configure_args: concat(["--enable-jtreg-failure-handler"],
- versionArgs(input, common))
+ "--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
+ "--disable-manpages",
+ versionArgs(input, common))
};
// Extra settings for debug profiles
common.debug_suffix = "-debug";
@@ -273,28 +274,19 @@
*/
common.main_profile_artifacts = function (o) {
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
- var jre_subdir = (o.jre_subdir != null ? o.jre_subdir : "jre-" + data.version);
+ var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
var pf = o.platform
return {
artifacts: {
jdk: {
- local: "bundles/\\(jdk.*bin.tar.gz\\)",
+ local: "bundles/\\(jdk.*bin." + jdk_suffix + "\\)",
remote: [
- "bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin.tar.gz",
+ "bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin." + jdk_suffix,
"bundles/" + pf + "/\\1"
],
subdir: jdk_subdir,
exploded: "images/jdk"
},
- jre: {
- local: "bundles/\\(jre.*bin.tar.gz\\)",
- remote: [
- "bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin.tar.gz",
- "bundles/" + pf + "/\\1"
- ],
- subdir: jre_subdir,
- exploded: "images/jre"
- },
test: {
local: "bundles/\\(jdk.*bin-tests.tar.gz\\)",
remote: [
@@ -320,15 +312,6 @@
subdir: jdk_subdir,
exploded: "images/jdk"
},
- jre_symbols: {
- local: "bundles/\\(jre.*bin-symbols.tar.gz\\)",
- remote: [
- "bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin-symbols.tar.gz",
- "bundles/" + pf + "/\\1"
- ],
- subdir: jre_subdir,
- exploded: "images/jre"
- }
}
};
};
@@ -340,28 +323,19 @@
*/
common.debug_profile_artifacts = function (o) {
var jdk_subdir = "jdk-" + data.version + "/fastdebug";
- var jre_subdir = "jre-" + data.version + "/fastdebug";
+ var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
var pf = o.platform
return {
artifacts: {
jdk: {
- local: "bundles/\\(jdk.*bin-debug.tar.gz\\)",
+ local: "bundles/\\(jdk.*bin-debug." + jdk_suffix + "\\)",
remote: [
- "bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-debug.tar.gz",
+ "bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-debug." + jdk_suffix,
"bundles/" + pf + "/\\1"
],
subdir: jdk_subdir,
exploded: "images/jdk"
},
- jre: {
- local: "bundles/\\(jre.*bin-debug.tar.gz\\)",
- remote: [
- "bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin-debug.tar.gz",
- "bundles/" + pf + "/\\1"
- ],
- subdir: jre_subdir,
- exploded: "images/jre"
- },
test: {
local: "bundles/\\(jdk.*bin-tests-debug.tar.gz\\)",
remote: [
@@ -379,20 +353,11 @@
subdir: jdk_subdir,
exploded: "images/jdk"
},
- jre_symbols: {
- local: "bundles/\\(jre.*bin-debug-symbols.tar.gz\\)",
- remote: [
- "bundles/" + pf + "/jre-" + data.version + "_" + pf + "_bin-debug-symbols.tar.gz",
- "bundles/" + pf + "/\\1"
- ],
- subdir: jre_subdir,
- exploded: "images/jre"
- }
}
};
};
- common.boot_jdk_version = "9";
+ common.boot_jdk_version = "10";
common.boot_jdk_home = input.get("boot_jdk", "home_path") + "/jdk-"
+ common.boot_jdk_version
+ (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
@@ -414,7 +379,7 @@
"linux-x64": {
target_os: "linux",
target_cpu: "x64",
- dependencies: ["devkit", "autoconf", "graphviz", "pandoc"],
+ dependencies: ["devkit", "graphviz", "pandoc", "graalunit_lib"],
configure_args: concat(common.configure_args_64bit,
"--enable-full-docs", "--with-zlib=system"),
default_make_targets: ["docs-bundles"],
@@ -424,7 +389,7 @@
target_os: "linux",
target_cpu: "x86",
build_cpu: "x64",
- dependencies: ["devkit", "autoconf"],
+ dependencies: ["devkit"],
configure_args: concat(common.configure_args_32bit,
"--with-jvm-variants=minimal,server", "--with-zlib=system"),
},
@@ -432,15 +397,15 @@
"macosx-x64": {
target_os: "macosx",
target_cpu: "x64",
- dependencies: ["devkit", "autoconf"],
+ dependencies: ["devkit", "graalunit_lib"],
configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
- "--with-macosx-version-max=10.7.0"),
+ "--with-macosx-version-max=10.9.0"),
},
"solaris-x64": {
target_os: "solaris",
target_cpu: "x64",
- dependencies: ["devkit", "autoconf", "cups"],
+ dependencies: ["devkit", "cups"],
configure_args: concat(common.configure_args_64bit,
"--with-zlib=system", "--enable-dtrace"),
},
@@ -448,7 +413,7 @@
"solaris-sparcv9": {
target_os: "solaris",
target_cpu: "sparcv9",
- dependencies: ["devkit", "autoconf", "cups"],
+ dependencies: ["devkit", "cups"],
configure_args: concat(common.configure_args_64bit,
"--with-zlib=system", "--enable-dtrace"),
},
@@ -456,7 +421,7 @@
"windows-x64": {
target_os: "windows",
target_cpu: "x64",
- dependencies: ["devkit", "autoconf"],
+ dependencies: ["devkit", "graalunit_lib"],
configure_args: concat(common.configure_args_64bit),
},
@@ -464,7 +429,7 @@
target_os: "windows",
target_cpu: "x86",
build_cpu: "x64",
- dependencies: ["devkit", "autoconf"],
+ dependencies: ["devkit"],
configure_args: concat(common.configure_args_32bit),
},
@@ -472,9 +437,10 @@
target_os: "linux",
target_cpu: "aarch64",
build_cpu: "x64",
- dependencies: ["devkit", "autoconf", "build_devkit", "cups"],
+ dependencies: ["devkit", "build_devkit", "cups"],
configure_args: [
- "--openjdk-target=aarch64-linux-gnu"
+ "--openjdk-target=aarch64-linux-gnu", "--with-freetype=bundled",
+ "--disable-warnings-as-errors", "--with-cpu-port=aarch64",
],
},
@@ -482,7 +448,7 @@
target_os: "linux",
target_cpu: "aarch64",
build_cpu: "x64",
- dependencies: ["devkit", "autoconf", "build_devkit", "cups", "headless_stubs"],
+ dependencies: ["devkit", "build_devkit", "cups", "headless_stubs"],
configure_args: [
"--with-cpu-port=arm64",
"--with-jvm-variants=server",
@@ -491,16 +457,29 @@
],
},
+ "linux-arm32": {
+ target_os: "linux",
+ target_cpu: "arm",
+ build_cpu: "x64",
+ dependencies: ["devkit", "build_devkit", "cups"],
+ configure_args: [
+ "--openjdk-target=arm-linux-gnueabihf", "--with-freetype=bundled",
+ "--with-abi-profile=arm-vfp-hflt", "--disable-warnings-as-errors"
+ ],
+ },
+
"linux-arm-vfp-hflt": {
target_os: "linux",
target_cpu: "arm",
build_cpu: "x64",
- dependencies: ["devkit", "autoconf", "build_devkit", "cups"],
+ dependencies: ["devkit", "build_devkit", "cups"],
configure_args: [
"--with-jvm-variants=minimal1,client",
"--with-x=" + input.get("devkit", "install_path") + "/arm-linux-gnueabihf/libc/usr/X11R6-PI",
+ "--with-fontconfig=" + input.get("devkit", "install_path") + "/arm-linux-gnueabihf/libc/usr/X11R6-PI",
"--openjdk-target=arm-linux-gnueabihf",
- "--with-abi-profile=arm-vfp-hflt"
+ "--with-abi-profile=arm-vfp-hflt",
+ "--with-freetype=bundled"
],
},
@@ -545,17 +524,6 @@
profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
profiles[maketestName].default_make_targets = [ "test-make" ];
});
- // Generate cmp-baseline profiles for each main profile. This profile does
- // a compare build run with no changes to verify that the compare script
- // has a clean baseline
- common.main_profile_names.forEach(function (name) {
- var cmpBaselineName = name + "-cmp-baseline";
- profiles[cmpBaselineName] = clone(profiles[name]);
- // Only compare the images target. This should pressumably be expanded
- // to include more build targets when possible.
- profiles[cmpBaselineName].default_make_targets = [ "images" ];
- profiles[cmpBaselineName].make_args = [ "COMPARE_BUILD=CONF=" ];
- });
// Profiles for building the zero jvm variant. These are used for verification
// in JPRT.
@@ -592,6 +560,29 @@
profiles[debugName] = concatObjects(profiles[name], common.debug_profile_base);
});
+ // Bootcycle profiles runs the build with itself as the boot jdk. This can
+ // be done in two ways. Either using the builtin bootcycle target in the
+ // build system. Or by supplying the main jdk build as bootjdk to configure.
+ [ "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
+ .forEach(function (name) {
+ var bootcycleName = name + "-bootcycle";
+ var bootcyclePrebuiltName = name + "-bootcycle-prebuilt";
+ // The base bootcycle profile just changes the default target
+ // compared to the base profile
+ profiles[bootcycleName] = clone(profiles[name]);
+ profiles[bootcycleName].default_make_targets = [ "bootcycle-images" ];
+ // The prebuilt bootcycle variant modifies the boot jdk argument
+ var bootcyclePrebuiltBase = {
+ dependencies: [ name + ".jdk" ],
+ configure_args: "--with-boot-jdk=" + input.get(name + ".jdk", "home_path"),
+ }
+ profiles[bootcyclePrebuiltName] = concatObjects(profiles[name],
+ bootcyclePrebuiltBase);
+ var bootJdkIndex = profiles[bootcyclePrebuiltName].dependencies.indexOf("boot_jdk");
+ delete profiles[bootcyclePrebuiltName].dependencies[bootJdkIndex];
+ profiles[bootcyclePrebuiltName].default_make_targets = [ "product-images" ];
+ });
+
//
// Define artifacts for profiles
//
@@ -607,7 +598,6 @@
"macosx-x64": {
platform: "osx-x64",
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
- jre_subdir: "jre-" + data.version + ".jre/Contents/Home"
},
"solaris-x64": {
platform: "solaris-x64",
@@ -617,13 +607,18 @@
},
"windows-x64": {
platform: "windows-x64",
+ jdk_suffix: "zip",
},
"windows-x86": {
platform: "windows-x86",
+ jdk_suffix: "zip",
},
"linux-aarch64": {
platform: "linux-aarch64",
},
+ "linux-arm32": {
+ platform: "linux-arm32",
+ },
"linux-arm64": {
platform: "linux-arm64-vfp-hflt",
},
@@ -714,6 +709,30 @@
profiles[openName].artifacts["jdk"].remote));
});
+ // Enable ZGC in linux-x64-open builds
+ [ "linux-x64-open" ].forEach(function (name) {
+ var configureArgs = { configure_args: [ "--with-jvm-features=zgc" ] };
+ var debugName = name + common.debug_suffix;
+ profiles[name] = concatObjects(profiles[name], configureArgs);
+ profiles[debugName] = concatObjects(profiles[debugName], configureArgs);
+ });
+
+ // Generate cmp-baseline profiles for each main profile and their
+ // corresponding debug profile. This profile does a compare build run with no
+ // changes to verify that the compare script has a clean baseline
+ common.main_profile_names.forEach(function (name) {
+ [ "", common.open_suffix ].forEach(function (suffix) {
+ var cmpBaselineName = name + suffix + "-cmp-baseline";
+ profiles[cmpBaselineName] = clone(profiles[name + suffix]);
+ // Only compare the images target. This should pressumably be expanded
+ // to include more build targets when possible.
+ profiles[cmpBaselineName].default_make_targets = [ "images" ];
+ profiles[cmpBaselineName].make_args = [ "COMPARE_BUILD=CONF=" ];
+ // Do not inherit artifact definitions from base profile
+ delete profiles[cmpBaselineName].artifacts;
+ });
+ });
+
// Profiles used to run tests. Used in JPRT and Mach 5.
var testOnlyProfiles = {
"run-test-jprt": {
@@ -817,17 +836,21 @@
var getJibProfilesDependencies = function (input, common) {
var devkit_platform_revisions = {
- linux_x64: "gcc4.9.2-OEL6.4+1.3",
- macosx_x64: "Xcode6.3-MacOSX10.9+1.0",
+ linux_x64: "gcc7.3.0-OEL6.4+1.0",
+ macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
solaris_x64: "SS12u4-Solaris11u1+1.0",
solaris_sparcv9: "SS12u4-Solaris11u1+1.1",
- windows_x64: "VS2013SP4+1.0",
+ windows_x64: "VS2017-15.5.5+1.0",
linux_aarch64: (input.profile != null && input.profile.indexOf("arm64") >= 0
? "gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux+1.0"
: "gcc7.3.0-Fedora27+1.0"),
linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 0
? "gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux+1.0"
- : "arm-linaro-4.7+1.0")
+ : (input.profile.indexOf("arm32") >= 0
+ ? "gcc7.3.0-Fedora27+1.0"
+ : "arm-linaro-4.7+1.0"
+ )
+ )
};
var devkit_platform = (input.target_cpu == "x86"
@@ -847,7 +870,7 @@
server: "jpg",
product: "jdk",
version: common.boot_jdk_version,
- build_number: "181",
+ build_number: "46",
file: "bundles/" + boot_jdk_platform + "/jdk-" + common.boot_jdk_version + "_"
+ boot_jdk_platform + "_bin.tar.gz",
configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
@@ -877,7 +900,7 @@
jtreg: {
server: "javare",
revision: "4.2",
- build_number: "b12",
+ build_number: "b13",
checksum_file: "MD5_VALUES",
file: "jtreg_bin-4.2.zip",
environment_name: "JT_HOME",
@@ -949,6 +972,14 @@
configure_args: "",
},
+ graalunit_lib: {
+ organization: common.organization,
+ ext: "zip",
+ revision: "619_Apr_12_2018",
+ module: "graalunit-lib",
+ configure_args: "--with-graalunit-lib=" + input.get("graalunit_lib", "install_path"),
+ environment_name: "GRAALUNIT_LIB"
+ },
};
// Need to add a value for the Visual Studio tools variable to make