< prev index next >
common/conf/jib-profiles.js
Print this page
@@ -210,18 +210,21 @@
*
* @param input External data to use for generating the configuration
* @returns Common values
*/
var getJibProfilesCommon = function (input) {
- var common = {
- dependencies: ["boot_jdk", "gnumake", "jtreg"],
- configure_args: ["--with-default-make-target=all", "--enable-jtreg-failure-handler"],
- configure_args_32bit: ["--with-target-bits=32", "--with-jvm-variants=client,server"],
- configure_args_debug: ["--enable-debug"],
- configure_args_slowdebug: ["--with-debug-level=slowdebug"],
- organization: "jpg.infra.builddeps"
- };
+ var common = {};
+
+ common.dependencies = ["boot_jdk", "gnumake", "jtreg"],
+ common.default_make_targets = ["product-images", "test-image"],
+ common.default_make_targets_debug = common.default_make_targets;
+ common.default_make_targets_slowdebug = common.default_make_targets;
+ common.configure_args = ["--enable-jtreg-failure-handler"],
+ common.configure_args_32bit = ["--with-target-bits=32", "--with-jvm-variants=client,server"],
+ common.configure_args_debug = ["--enable-debug"],
+ common.configure_args_slowdebug = ["--with-debug-level=slowdebug"],
+ common.organization = "jpg.infra.builddeps"
return common;
};
/**
@@ -240,62 +243,62 @@
"linux-x64": {
target_os: "linux",
target_cpu: "x64",
dependencies: concat(common.dependencies, "devkit"),
configure_args: concat(common.configure_args, "--with-zlib=system"),
- make_args: common.make_args
+ default_make_targets: concat(common.default_make_targets, "docs-image")
},
"linux-x86": {
target_os: "linux",
target_cpu: "x86",
build_cpu: "x64",
dependencies: concat(common.dependencies, "devkit"),
configure_args: concat(common.configure_args, common.configure_args_32bit,
"--with-zlib=system"),
- make_args: common.make_args
+ default_make_targets: common.default_make_targets
},
"macosx-x64": {
target_os: "macosx",
target_cpu: "x64",
dependencies: concat(common.dependencies, "devkit"),
configure_args: concat(common.configure_args, "--with-zlib=system"),
- make_args: common.make_args
+ default_make_targets: common.default_make_targets
},
"solaris-x64": {
target_os: "solaris",
target_cpu: "x64",
dependencies: concat(common.dependencies, "devkit", "cups"),
configure_args: concat(common.configure_args, "--with-zlib=system"),
- make_args: common.make_args
+ default_make_targets: common.default_make_targets
},
"solaris-sparcv9": {
target_os: "solaris",
target_cpu: "sparcv9",
dependencies: concat(common.dependencies, "devkit", "cups"),
configure_args: concat(common.configure_args, "--with-zlib=system"),
- make_args: common.make_args
+ default_make_targets: common.default_make_targets
},
"windows-x64": {
target_os: "windows",
target_cpu: "x64",
dependencies: concat(common.dependencies, "devkit", "freetype"),
- configure_args: common.configure_args,
- make_args: common.make_args
+ configure_args: concat(common.configure_args),
+ default_make_targets: common.default_make_targets
},
"windows-x86": {
target_os: "windows",
target_cpu: "x86",
build_cpu: "x64",
dependencies: concat(common.dependencies, "devkit", "freetype"),
configure_args: concat(common.configure_args, common.configure_args_32bit),
- make_args: common.make_args
+ default_make_targets: common.default_make_targets
}
};
profiles = concatObjects(profiles, mainProfiles);
// Generate debug versions of all the main profiles
profiles = concatObjects(profiles, generateDebugProfiles(common, mainProfiles));
@@ -304,18 +307,19 @@
// Generate open only profiles for all the main profiles for JPRT and reference
// implementation builds.
var openOnlyProfiles = generateOpenOnlyProfiles(common, mainProfiles);
// The open only profiles on linux are used for reference builds and should
- // produce the compact profile images by default.
+ // produce the compact profile images by default. This adds "profiles" as an
+ // extra default target.
var openOnlyProfilesExtra = {
"linux-x64-open": {
- configure_args: ["--with-default-make-target=all profiles"],
+ default_make_targets: "profiles"
},
"linux-x86-open": {
- configure_args: ["--with-default-make-target=all profiles"],
+ default_make_targets: "profiles"
}
};
var openOnlyProfiles = concatObjects(openOnlyProfiles, openOnlyProfilesExtra);
profiles = concatObjects(profiles, openOnlyProfiles);
@@ -334,10 +338,11 @@
};
profiles = concatObjects(profiles, testOnlyProfiles);
// Generate the missing platform attributes
profiles = generatePlatformAttributes(profiles);
+ profiles = generateDefaultMakeTargetsConfigureArg(common, profiles);
return profiles;
};
/**
* Generate the dependencies part of the configuration
@@ -467,10 +472,12 @@
var newProfiles = {};
for (var profile in profiles) {
var debugProfile = profile + "-debug";
newProfiles[debugProfile] = clone(profiles[profile]);
newProfiles[debugProfile].debug_level = "fastdebug";
+ newProfiles[debugProfile].default_make_targets
+ = common.default_make_targets_debug;
newProfiles[debugProfile].labels
= concat(newProfiles[debugProfile].labels || [], "debug"),
newProfiles[debugProfile].configure_args
= concat(newProfiles[debugProfile].configure_args,
common.configure_args_debug);
@@ -490,10 +497,12 @@
var newProfiles = {};
for (var profile in profiles) {
var debugProfile = profile + "-slowdebug";
newProfiles[debugProfile] = clone(profiles[profile]);
newProfiles[debugProfile].debug_level = "slowdebug";
+ newProfiles[debugProfile].default_make_targets
+ = common.default_make_targets_slowdebug;
newProfiles[debugProfile].labels
= concat(newProfiles[debugProfile].labels || [], "slowdebug"),
newProfiles[debugProfile].configure_args
= concat(newProfiles[debugProfile].configure_args,
common.configure_args_slowdebug);
@@ -522,10 +531,43 @@
}
return newProfiles;
};
/**
+ * The default_make_targets attribute on a profile is not a real Jib attribute.
+ * This function rewrites that attribute into the corresponding configure arg.
+ * Calling this function multiple times on the same profiles object is safe.
+ *
+ * @param common Common values
+ * @param profiles Profiles map to rewrite profiles for
+ * @returns {{}} New map of profiles with the make targets converted
+ */
+var generateDefaultMakeTargetsConfigureArg = function (common, profiles) {
+ var ret = concatObjects(profiles, {});
+ for (var profile in ret) {
+ if (ret[profile]["default_make_targets"] != null) {
+ var targetsString = concat(ret[profile].default_make_targets).join(" ");
+ // Iterate over all configure args and see if --with-default-make-target
+ // is already there and change it, otherwise add it.
+ var found = false;
+ for (var arg in ret[profile].configure_args) {
+ if (arg.startsWith("--with-default-make-target")) {
+ found = true;
+ arg.replace(/=.*/, "=" + targetsString);
+ }
+ }
+ if (!found) {
+ ret[profile].configure_args = concat(
+ ret[profile].configure_args,
+ "--with-default-make-target=" + targetsString);
+ }
+ }
+ }
+ return ret;
+}
+
+/**
* Deep clones an object tree.
*
* @param o Object to clone
* @returns {{}} Clone of o
*/
< prev index next >