# HG changeset patch # User erikj # Date 1510176760 28800 # Node ID d2b306a70bf151dc8c6705725474a3790e7d6d7c # Parent 79efc2c3d8325ae6cf6820570fa9861cee1a2bb9 8190735: Define all base artifacts for all open/open-debug profiles Reviewed-by: tbell diff -r 79efc2c3d832 -r d2b306a70bf1 make/conf/jib-profiles.js --- a/make/conf/jib-profiles.js Wed Nov 08 12:34:59 2017 -0800 +++ b/make/conf/jib-profiles.js Wed Nov 08 13:32:40 2017 -0800 @@ -518,32 +518,6 @@ common.slowdebug_profile_base); }); - // Generate open only profiles for all the main profiles for JPRT and reference - // implementation builds. - common.main_profile_names.forEach(function (name) { - var openName = name + common.open_suffix; - profiles[openName] = concatObjects(profiles[name], - common.open_profile_base); - }); - // The open only profiles on linux are used for reference builds and should - // produce the compact profile images by default. This adds "profiles" as an - // extra default target. - var openOnlyProfilesExtra = { - "linux-x86-open": { - default_make_targets: "profiles-bundles", - configure_args: "--with-jvm-variants=client,server" - } - }; - profiles = concatObjects(profiles, openOnlyProfilesExtra); - - // Generate debug profiles for the open only profiles - common.main_profile_names.forEach(function (name) { - var openName = name + common.open_suffix; - var openDebugName = openName + common.debug_suffix; - profiles[openDebugName] = concatObjects(profiles[openName], - common.debug_profile_base); - }); - // Profiles for building the zero jvm variant. These are used for verification // in JPRT. var zeroProfiles = { @@ -579,82 +553,6 @@ profiles[debugName] = concatObjects(profiles[name], common.debug_profile_base); }); - // Profiles used to run tests. Used in JPRT and Mach 5. - var testOnlyProfiles = { - "run-test-jprt": { - target_os: input.build_os, - target_cpu: input.build_cpu, - dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ], - labels: "test", - environment: { - "JT_JAVA": common.boot_jdk_home - } - }, - - "run-test": { - target_os: input.build_os, - target_cpu: input.build_cpu, - dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ], - labels: "test", - environment: { - "JT_JAVA": common.boot_jdk_home - } - } - }; - profiles = concatObjects(profiles, testOnlyProfiles); - - // Profiles used to run tests using Jib for internal dependencies. - var testedProfile = input.testedProfile; - if (testedProfile == null) { - testedProfile = input.build_os + "-" + input.build_cpu; - } - var testOnlyProfilesPrebuilt = { - "run-test-prebuilt": { - target_os: input.build_os, - target_cpu: input.build_cpu, - src: "src.conf", - dependencies: [ "jtreg", "gnumake", "boot_jdk", "jib", testedProfile + ".jdk", - testedProfile + ".test", "src.full" - ], - work_dir: input.get("src.full", "install_path") + "/test", - environment: { - "JT_JAVA": common.boot_jdk_home, - "PRODUCT_HOME": input.get(testedProfile + ".jdk", "home_path"), - "TEST_IMAGE_DIR": input.get(testedProfile + ".test", "home_path"), - "TEST_OUTPUT_DIR": input.src_top_dir - }, - labels: "test" - } - }; - // If actually running the run-test-prebuilt profile, verify that the input - // variable is valid and if so, add the appropriate target_* values from - // the tested profile. - if (input.profile == "run-test-prebuilt") { - if (profiles[testedProfile] == null) { - error("testedProfile is not defined: " + testedProfile); - } - } - if (profiles[testedProfile] != null) { - testOnlyProfilesPrebuilt["run-test-prebuilt"]["target_os"] - = profiles[testedProfile]["target_os"]; - testOnlyProfilesPrebuilt["run-test-prebuilt"]["target_cpu"] - = profiles[testedProfile]["target_cpu"]; - } - profiles = concatObjects(profiles, testOnlyProfilesPrebuilt); - - // On macosx add the devkit bin dir to the path in all the run-test profiles. - // This gives us a guaranteed working version of lldb for the jtreg failure handler. - if (input.build_os == "macosx") { - macosxRunTestExtra = { - dependencies: [ "devkit" ], - environment_path: input.get("devkit", "install_path") - + "/Xcode.app/Contents/Developer/usr/bin" - } - profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra); - profiles["run-test-jprt"] = concatObjects(profiles["run-test-jprt"], macosxRunTestExtra); - profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra); - } - // // Define artifacts for profiles // @@ -707,7 +605,6 @@ common.debug_profile_artifacts(artifactData[name])); }); - // Extra profile specific artifacts profilesArtifacts = { "linux-x64": { artifacts: { @@ -719,261 +616,51 @@ ], }, } - }, - - "linux-x64-open": { - artifacts: { - jdk: { - local: "bundles/\\(jdk.*bin.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/linux-x64/jdk-" + data.version - + "_linux-x64_bin.tar.gz", - "bundles/openjdk/GPL/linux-x64/\\1" - ], - subdir: "jdk-" + data.version - }, - jre: { - local: "bundles/\\(jre.*bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/linux-x64/\\1", - }, - test: { - local: "bundles/\\(jdk.*bin-tests.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/linux-x64/jdk-" + data.version - + "_linux-x64_bin-tests.tar.gz", - "bundles/openjdk/GPL/linux-x64/\\1" - ] - }, - jdk_symbols: { - local: "bundles/\\(jdk.*bin-symbols.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/linux-x64/jdk-" + data.version - + "_linux-x64_bin-symbols.tar.gz", - "bundles/openjdk/GPL/linux-x64/\\1" - ], - subdir: "jdk-" + data.version - }, - jre_symbols: { - local: "bundles/\\(jre.*bin-symbols.tar.gz\\)", - remote: "bundles/openjdk/GPL/linux-x64/\\1", - }, - doc_api_spec: { - local: "bundles/\\(jdk.*doc-api-spec.tar.gz\\)", - remote: "bundles/openjdk/GPL/linux-x64/\\1", - }, - } - }, - - "linux-x86-open": { - artifacts: { - jdk: { - local: "bundles/\\(jdk.*bin.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/linux-x86/jdk-" + data.version - + "_linux-x86_bin.tar.gz", - "bundles/openjdk/GPL/linux-x86/\\1" - ], - subdir: "jdk-" + data.version - }, - jdk_symbols: { - local: "bundles/\\(jdk.*bin-symbols.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/linux-x86/jdk-" + data.version - + "_linux-x86_bin-symbols.tar.gz", - "bundles/openjdk/GPL/linux-x86/\\1" - ], - subdir: "jdk-" + data.version - }, - test: { - local: "bundles/\\(jdk.*bin-tests.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/linux-x86/jdk-" + data.version - + "_linux-x86_bin-tests.tar.gz", - "bundles/openjdk/GPL/linux-x86/\\1" - ] - }, - jre: { - // This regexp needs to not match the compact* files below - local: "bundles/\\(jre.*[+][0-9]\\{1,\\}_linux-x86_bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/profile/linux-x86/\\1", - }, - jre_compact1: { - local: "bundles/\\(jre.*-compact1_linux-x86_bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/profile/linux-x86/\\1", - }, - jre_compact2: { - local: "bundles/\\(jre.*-compact2_linux-x86_bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/profile/linux-x86/\\1", - }, - jre_compact3: { - local: "bundles/\\(jre.*-compact3_linux-x86_bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/profile/linux-x86/\\1", - }, - } - }, - - "macosx-x64-open": { - artifacts: { - jdk: { - local: "bundles/\\(jdk.*bin.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/osx-x64/jdk-" + data.version - + "_osx-x64_bin.tar.gz", - "bundles/openjdk/GPL/osx-x64/\\1" - ], - subdir: "jdk-" + data.version - }, - jre: { - local: "bundles/\\(jre.*bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/osx-x64/\\1", - }, - test: { - local: "bundles/\\(jdk.*bin-tests.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/osx-x64/jdk-" + data.version - + "_osx-x64_bin-tests.tar.gz", - "bundles/openjdk/GPL/osx-x64/\\1" - ] - }, - jdk_symbols: { - local: "bundles/\\(jdk.*bin-symbols.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/osx-x64/jdk-" + data.version - + "_osx-x64_bin-symbols.tar.gz", - "bundles/openjdk/GPL/osx-x64/\\1" - ], - subdir: "jdk-" + data.version - }, - jre_symbols: { - local: "bundles/\\(jre.*bin-symbols.tar.gz\\)", - remote: "bundles/openjdk/GPL/osx-x64/\\1", - }, - doc_api_spec: { - local: "bundles/\\(jdk.*doc-api-spec.tar.gz\\)", - remote: "bundles/openjdk/GPL/osx-x64/\\1", - }, - } - }, - - "windows-x86-open": { - artifacts: { - jdk: { - local: "bundles/\\(jdk.*bin.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/windows-x86/jdk-" + data.version - + "_windows-x86_bin.tar.gz", - "bundles/openjdk/GPL/windows-x86/\\1" - ], - subdir: "jdk-" + data.version - }, - jre: { - local: "bundles/\\(jre.*bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/windows-x86/\\1" - }, - test: { - local: "bundles/\\(jdk.*bin-tests.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/windows-x86/jdk-" + data.version - + "_windows-x86_bin-tests.tar.gz", - "bundles/openjdk/GPL/windows-x86/\\1" - ] - }, - jdk_symbols: { - local: "bundles/\\(jdk.*bin-symbols.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/windows-x86/jdk-" + data.version - + "_windows-x86_bin-symbols.tar.gz", - "bundles/openjdk/GPL/windows-x86/\\1" - ], - subdir: "jdk-" + data.version - }, - jre_symbols: { - local: "bundles/\\(jre.*bin-symbols.tar.gz\\)", - remote: "bundles/openjdk/GPL/windows-x86/\\1", - } - } - }, - - "windows-x64-open": { - artifacts: { - jdk: { - local: "bundles/\\(jdk.*bin.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/windows-x64/jdk-" + data.version - + "_windows-x64_bin.tar.gz", - "bundles/openjdk/GPL/windows-x64/\\1" - ], - subdir: "jdk-" + data.version - }, - jre: { - local: "bundles/\\(jre.*bin.tar.gz\\)", - remote: "bundles/openjdk/GPL/windows-x64/\\1" - }, - test: { - local: "bundles/\\(jdk.*bin-tests.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/windows-x64/jdk-" + data.version - + "_windows-x64_bin-tests.tar.gz", - "bundles/openjdk/GPL/windows-x64/\\1" - ] - }, - jdk_symbols: { - local: "bundles/\\(jdk.*bin-symbols.tar.gz\\)", - remote: [ - "bundles/openjdk/GPL/windows-x64/jdk-" + data.version - + "_windows-x64_bin-symbols.tar.gz", - "bundles/openjdk/GPL/windows-x64/\\1" - ], - subdir: "jdk-" + data.version - }, - jre_symbols: { - local: "bundles/\\(jre.*bin-symbols.tar.gz\\)", - remote: "bundles/openjdk/GPL/windows-x64/\\1", - } - } - }, - - "linux-x86-open-debug": { - artifacts: { - jdk: { - local: "bundles/\\(jdk.*bin-debug.tar.gz\\)", - remote: "bundles/openjdk/GPL/profile/linux-x86/\\1", - }, - jre: { - local: "bundles/\\(jre.*bin-debug.tar.gz\\)", - remote: "bundles/openjdk/GPL/profile/linux-x86/\\1", - }, - jdk_symbols: { - local: "bundles/\\(jdk.*bin-debug-symbols.tar.gz\\)", - remote: "bundles/openjdk/GPL/profile/linux-x86/\\1", - }, - } - }, - + } }; profiles = concatObjects(profiles, profilesArtifacts); + // Generate open only profiles for all the main and debug profiles. + // Rewrite artifact remote paths by adding "openjdk/GPL". + common.main_profile_names.forEach(function (name) { + var openName = name + common.open_suffix; + profiles[openName] = concatObjects(profiles[name], + common.open_profile_base); + for (artifactName in profiles[openName].artifacts) { + var artifact = profiles[openName].artifacts[artifactName]; + artifact.remote = replaceAll( + "bundles\/", "bundles/openjdk/GPL/", + (artifact.remote != null ? artifact.remote : artifact.local)); + } + var debugName = name + common.debug_suffix; + var openDebugName = name + common.open_suffix + common.debug_suffix; + profiles[openDebugName] = concatObjects(profiles[debugName], + common.open_profile_base); + for (artifactName in profiles[openDebugName].artifacts) { + var artifact = profiles[openDebugName].artifacts[artifactName]; + artifact.remote = replaceAll( + "bundles\/", "bundles/openjdk/GPL/", + (artifact.remote != null ? artifact.remote : artifact.local)); + } + }); // Define the reference implementation profiles. These are basically the same - // as the open profiles, but upload artifacts to a different location and - // are only defined for specific platforms. - profiles["linux-x64-ri"] = clone(profiles["linux-x64-open"]); - profiles["linux-x86-ri"] = clone(profiles["linux-x86-open"]); - profiles["linux-x86-ri-debug"] = clone(profiles["linux-x86-open-debug"]); - profiles["macosx-x64-ri"] = clone(profiles["macosx-x64-open"]); - profiles["windows-x86-ri"] = clone(profiles["windows-x86-open"]); - profiles["windows-x64-ri"] = clone(profiles["windows-x64-open"]); - - // Generate artifacts for ri profiles - [ "linux-x64-ri", "linux-x86-ri", "linux-x86-ri-debug", "macosx-x64-ri", "windows-x86-ri", "windows-x64-ri" ] - .forEach(function (name) { - // Rewrite all remote dirs to "bundles/openjdk/BCL/..." - for (artifactName in profiles[name].artifacts) { - var artifact = profiles[name].artifacts[artifactName]; - artifact.remote = replaceAll("\/GPL\/", "/BCL/", - (artifact.remote != null ? artifact.remote : artifact.local)); - } - }); + // as the open profiles, but upload artifacts to a different location. + common.main_profile_names.forEach(function (name) { + var riName = name + "-ri"; + var riDebugName = riName + common.debug_suffix; + var openName = name + common.open_suffix; + var openDebugName = openName + common.debug_suffix; + profiles[riName] = clone(profiles[openName]); + profiles[riDebugName] = clone(profiles[openDebugName]); + // Rewrite all remote dirs to "bundles/openjdk/BCL/..." + for (artifactName in profiles[riName].artifacts) { + var artifact = profiles[riName].artifacts[artifactName]; + artifact.remote = replaceAll( + "\/GPL\/", "/BCL/", + (artifact.remote != null ? artifact.remote : artifact.local)); + } + }); // The windows ri profile needs to add the freetype license file profilesRiFreetype = { @@ -990,6 +677,83 @@ }; profiles = concatObjects(profiles, profilesRiFreetype); + // Profiles used to run tests. Used in JPRT and Mach 5. + var testOnlyProfiles = { + "run-test-jprt": { + target_os: input.build_os, + target_cpu: input.build_cpu, + dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ], + labels: "test", + environment: { + "JT_JAVA": common.boot_jdk_home + } + }, + + "run-test": { + target_os: input.build_os, + target_cpu: input.build_cpu, + dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ], + labels: "test", + environment: { + "JT_JAVA": common.boot_jdk_home + } + } + }; + profiles = concatObjects(profiles, testOnlyProfiles); + + // Profiles used to run tests using Jib for internal dependencies. + var testedProfile = input.testedProfile; + if (testedProfile == null) { + testedProfile = input.build_os + "-" + input.build_cpu; + } + var testOnlyProfilesPrebuilt = { + "run-test-prebuilt": { + target_os: input.build_os, + target_cpu: input.build_cpu, + src: "src.conf", + dependencies: [ "jtreg", "gnumake", "boot_jdk", "jib", testedProfile + ".jdk", + testedProfile + ".test", "src.full" + ], + work_dir: input.get("src.full", "install_path") + "/test", + environment: { + "JT_JAVA": common.boot_jdk_home, + "PRODUCT_HOME": input.get(testedProfile + ".jdk", "home_path"), + "TEST_IMAGE_DIR": input.get(testedProfile + ".test", "home_path"), + "TEST_OUTPUT_DIR": input.src_top_dir + }, + labels: "test" + } + }; + + // If actually running the run-test-prebuilt profile, verify that the input + // variable is valid and if so, add the appropriate target_* values from + // the tested profile. + if (input.profile == "run-test-prebuilt") { + if (profiles[testedProfile] == null) { + error("testedProfile is not defined: " + testedProfile); + } + } + if (profiles[testedProfile] != null) { + testOnlyProfilesPrebuilt["run-test-prebuilt"]["target_os"] + = profiles[testedProfile]["target_os"]; + testOnlyProfilesPrebuilt["run-test-prebuilt"]["target_cpu"] + = profiles[testedProfile]["target_cpu"]; + } + profiles = concatObjects(profiles, testOnlyProfilesPrebuilt); + + // On macosx add the devkit bin dir to the path in all the run-test profiles. + // This gives us a guaranteed working version of lldb for the jtreg failure handler. + if (input.build_os == "macosx") { + macosxRunTestExtra = { + dependencies: [ "devkit" ], + environment_path: input.get("devkit", "install_path") + + "/Xcode.app/Contents/Developer/usr/bin" + } + profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra); + profiles["run-test-jprt"] = concatObjects(profiles["run-test-jprt"], macosxRunTestExtra); + profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra); + } + // Generate the missing platform attributes profiles = generatePlatformAttributes(profiles); profiles = generateDefaultMakeTargetsConfigureArg(common, profiles);