224 return data;
225 };
226
227 /**
228 * Generates some common values
229 *
230 * @param input External data to use for generating the configuration
231 * @returns Common values
232 */
233 var getJibProfilesCommon = function (input, data) {
234 var common = {};
235
236 common.organization = "jpg.infra.builddeps";
237 common.build_id = getBuildId(input);
238 common.build_number = input.build_number != null ? input.build_number : "0";
239
240 // List of the main profile names used for iteration
241 common.main_profile_names = [
242 "linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
243 "solaris-sparcv9", "windows-x64", "windows-x86",
244 "linux-aarch64", "linux-arm32"
245 ];
246
247 // These are the base setttings for all the main build profiles.
248 common.main_profile_base = {
249 dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf", "jmh", "jcov"],
250 default_make_targets: ["product-bundles", "test-bundles"],
251 configure_args: concat(["--enable-jtreg-failure-handler"],
252 "--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",
253 "--disable-manpages",
254 "--with-jvm-features=-shenandoahgc",
255 versionArgs(input, common))
256 };
257 // Extra settings for debug profiles
258 common.debug_suffix = "-debug";
259 common.debug_profile_base = {
260 configure_args: ["--enable-debug"],
261 labels: "debug"
262 };
263 // Extra settings for slowdebug profiles
264 common.slowdebug_suffix = "-slowdebug";
447 target_os: "linux",
448 target_cpu: "aarch64",
449 build_cpu: "x64",
450 dependencies: ["devkit", "build_devkit", "cups"],
451 configure_args: [
452 "--openjdk-target=aarch64-linux-gnu", "--with-freetype=bundled",
453 "--disable-warnings-as-errors"
454 ],
455 },
456
457 "linux-arm32": {
458 target_os: "linux",
459 target_cpu: "arm",
460 build_cpu: "x64",
461 dependencies: ["devkit", "build_devkit", "cups"],
462 configure_args: [
463 "--openjdk-target=arm-linux-gnueabihf", "--with-freetype=bundled",
464 "--with-abi-profile=arm-vfp-hflt", "--disable-warnings-as-errors"
465 ],
466 },
467 };
468
469 // Add the base settings to all the main profiles
470 common.main_profile_names.forEach(function (name) {
471 profiles[name] = concatObjects(common.main_profile_base, profiles[name]);
472 });
473
474 // Generate debug versions of all the main profiles
475 common.main_profile_names.forEach(function (name) {
476 var debugName = name + common.debug_suffix;
477 profiles[debugName] = concatObjects(profiles[name],
478 common.debug_profile_base);
479 });
480 // Generate slowdebug versions of all the main profiles
481 common.main_profile_names.forEach(function (name) {
482 var debugName = name + common.slowdebug_suffix;
483 profiles[debugName] = concatObjects(profiles[name],
484 common.slowdebug_profile_base);
485 });
486 // Generate testmake profiles for the main profile of each build host
609 },
610 "solaris-x64": {
611 platform: "solaris-x64",
612 },
613 "solaris-sparcv9": {
614 platform: "solaris-sparcv9",
615 },
616 "windows-x64": {
617 platform: "windows-x64",
618 jdk_suffix: "zip",
619 },
620 "windows-x86": {
621 platform: "windows-x86",
622 jdk_suffix: "zip",
623 },
624 "linux-aarch64": {
625 platform: "linux-aarch64",
626 },
627 "linux-arm32": {
628 platform: "linux-arm32",
629 }
630 }
631 // Generate common artifacts for all main profiles
632 Object.keys(artifactData).forEach(function (name) {
633 profiles[name] = concatObjects(profiles[name],
634 common.main_profile_artifacts(artifactData[name]));
635 });
636
637 // Generate common artifacts for all debug profiles
638 Object.keys(artifactData).forEach(function (name) {
639 var debugName = name + common.debug_suffix;
640 profiles[debugName] = concatObjects(profiles[debugName],
641 common.debug_profile_artifacts(artifactData[name]));
642 });
643
644 profilesArtifacts = {
645 "linux-x64": {
646 artifacts: {
647 doc_api_spec: {
648 local: "bundles/\\(jdk.*doc-api-spec.tar.gz\\)",
853 profiles = generateDefaultMakeTargetsConfigureArg(common, profiles);
854 return profiles;
855 };
856
857 /**
858 * Generate the dependencies part of the configuration
859 *
860 * @param input External data to use for generating the configuration
861 * @param common The common values
862 * @returns {{}} Dependencies part of configuration
863 */
864 var getJibProfilesDependencies = function (input, common) {
865
866 var devkit_platform_revisions = {
867 linux_x64: "gcc7.3.0-OEL6.4+1.2",
868 macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
869 solaris_x64: "SS12u4-Solaris11u1+1.0",
870 solaris_sparcv9: "SS12u6-Solaris11u3+1.0",
871 windows_x64: "VS2017-15.5.5+1.0",
872 linux_aarch64: "gcc7.3.0-Fedora27+1.2",
873 linux_arm: "gcc7.3.0-Fedora27+1.2"
874 };
875
876 var devkit_platform = (input.target_cpu == "x86"
877 ? input.target_os + "_x64"
878 : input.target_platform);
879
880 var boot_jdk_platform = (input.build_os == "macosx" ? "osx" : input.build_os)
881 + "-" + input.build_cpu;
882 var boot_jdk_ext = (input.build_os == "windows" ? ".zip" : ".tar.gz")
883 // If running in WSL and building for Windows, it will look like Linux,
884 // but we need a Windows boot JDK.
885 if (isWsl(input) && input.target_os == "windows") {
886 boot_jdk_platform = "windows-" + input.build_cpu;
887 boot_jdk_ext = ".zip";
888 }
889
890 var makeBinDir = (input.build_os == "windows"
891 ? input.get("gnumake", "install_path") + "/cygwin/bin"
892 : input.get("gnumake", "install_path") + "/bin");
893
|
224 return data;
225 };
226
227 /**
228 * Generates some common values
229 *
230 * @param input External data to use for generating the configuration
231 * @returns Common values
232 */
233 var getJibProfilesCommon = function (input, data) {
234 var common = {};
235
236 common.organization = "jpg.infra.builddeps";
237 common.build_id = getBuildId(input);
238 common.build_number = input.build_number != null ? input.build_number : "0";
239
240 // List of the main profile names used for iteration
241 common.main_profile_names = [
242 "linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
243 "solaris-sparcv9", "windows-x64", "windows-x86",
244 "linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x"
245 ];
246
247 // These are the base setttings for all the main build profiles.
248 common.main_profile_base = {
249 dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf", "jmh", "jcov"],
250 default_make_targets: ["product-bundles", "test-bundles"],
251 configure_args: concat(["--enable-jtreg-failure-handler"],
252 "--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",
253 "--disable-manpages",
254 "--with-jvm-features=-shenandoahgc",
255 versionArgs(input, common))
256 };
257 // Extra settings for debug profiles
258 common.debug_suffix = "-debug";
259 common.debug_profile_base = {
260 configure_args: ["--enable-debug"],
261 labels: "debug"
262 };
263 // Extra settings for slowdebug profiles
264 common.slowdebug_suffix = "-slowdebug";
447 target_os: "linux",
448 target_cpu: "aarch64",
449 build_cpu: "x64",
450 dependencies: ["devkit", "build_devkit", "cups"],
451 configure_args: [
452 "--openjdk-target=aarch64-linux-gnu", "--with-freetype=bundled",
453 "--disable-warnings-as-errors"
454 ],
455 },
456
457 "linux-arm32": {
458 target_os: "linux",
459 target_cpu: "arm",
460 build_cpu: "x64",
461 dependencies: ["devkit", "build_devkit", "cups"],
462 configure_args: [
463 "--openjdk-target=arm-linux-gnueabihf", "--with-freetype=bundled",
464 "--with-abi-profile=arm-vfp-hflt", "--disable-warnings-as-errors"
465 ],
466 },
467
468 "linux-ppc64le": {
469 target_os: "linux",
470 target_cpu: "ppc64le",
471 build_cpu: "x64",
472 dependencies: ["devkit", "build_devkit", "cups"],
473 configure_args: [
474 "--openjdk-target=ppc64le-linux-gnu", "--with-freetype=bundled",
475 "--disable-warnings-as-errors"
476 ],
477 },
478
479 "linux-s390x": {
480 target_os: "linux",
481 target_cpu: "s390x",
482 build_cpu: "x64",
483 dependencies: ["devkit", "build_devkit", "cups"],
484 configure_args: [
485 "--openjdk-target=s390x-linux-gnu", "--with-freetype=bundled",
486 "--disable-warnings-as-errors"
487 ],
488 },
489 };
490
491 // Add the base settings to all the main profiles
492 common.main_profile_names.forEach(function (name) {
493 profiles[name] = concatObjects(common.main_profile_base, profiles[name]);
494 });
495
496 // Generate debug versions of all the main profiles
497 common.main_profile_names.forEach(function (name) {
498 var debugName = name + common.debug_suffix;
499 profiles[debugName] = concatObjects(profiles[name],
500 common.debug_profile_base);
501 });
502 // Generate slowdebug versions of all the main profiles
503 common.main_profile_names.forEach(function (name) {
504 var debugName = name + common.slowdebug_suffix;
505 profiles[debugName] = concatObjects(profiles[name],
506 common.slowdebug_profile_base);
507 });
508 // Generate testmake profiles for the main profile of each build host
631 },
632 "solaris-x64": {
633 platform: "solaris-x64",
634 },
635 "solaris-sparcv9": {
636 platform: "solaris-sparcv9",
637 },
638 "windows-x64": {
639 platform: "windows-x64",
640 jdk_suffix: "zip",
641 },
642 "windows-x86": {
643 platform: "windows-x86",
644 jdk_suffix: "zip",
645 },
646 "linux-aarch64": {
647 platform: "linux-aarch64",
648 },
649 "linux-arm32": {
650 platform: "linux-arm32",
651 },
652 "linux-ppc64le": {
653 platform: "linux-ppc64le",
654 },
655 "linux-s390x": {
656 platform: "linux-s390x",
657 }
658 }
659 // Generate common artifacts for all main profiles
660 Object.keys(artifactData).forEach(function (name) {
661 profiles[name] = concatObjects(profiles[name],
662 common.main_profile_artifacts(artifactData[name]));
663 });
664
665 // Generate common artifacts for all debug profiles
666 Object.keys(artifactData).forEach(function (name) {
667 var debugName = name + common.debug_suffix;
668 profiles[debugName] = concatObjects(profiles[debugName],
669 common.debug_profile_artifacts(artifactData[name]));
670 });
671
672 profilesArtifacts = {
673 "linux-x64": {
674 artifacts: {
675 doc_api_spec: {
676 local: "bundles/\\(jdk.*doc-api-spec.tar.gz\\)",
881 profiles = generateDefaultMakeTargetsConfigureArg(common, profiles);
882 return profiles;
883 };
884
885 /**
886 * Generate the dependencies part of the configuration
887 *
888 * @param input External data to use for generating the configuration
889 * @param common The common values
890 * @returns {{}} Dependencies part of configuration
891 */
892 var getJibProfilesDependencies = function (input, common) {
893
894 var devkit_platform_revisions = {
895 linux_x64: "gcc7.3.0-OEL6.4+1.2",
896 macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
897 solaris_x64: "SS12u4-Solaris11u1+1.0",
898 solaris_sparcv9: "SS12u6-Solaris11u3+1.0",
899 windows_x64: "VS2017-15.5.5+1.0",
900 linux_aarch64: "gcc7.3.0-Fedora27+1.2",
901 linux_arm: "gcc7.3.0-Fedora27+1.2",
902 linux_ppc64le: "gcc7.3.0-Fedora27+1.0",
903 linux_s390x: "gcc7.3.0-Fedora27+1.0"
904 };
905
906 var devkit_platform = (input.target_cpu == "x86"
907 ? input.target_os + "_x64"
908 : input.target_platform);
909
910 var boot_jdk_platform = (input.build_os == "macosx" ? "osx" : input.build_os)
911 + "-" + input.build_cpu;
912 var boot_jdk_ext = (input.build_os == "windows" ? ".zip" : ".tar.gz")
913 // If running in WSL and building for Windows, it will look like Linux,
914 // but we need a Windows boot JDK.
915 if (isWsl(input) && input.target_os == "windows") {
916 boot_jdk_platform = "windows-" + input.build_cpu;
917 boot_jdk_ext = ".zip";
918 }
919
920 var makeBinDir = (input.build_os == "windows"
921 ? input.get("gnumake", "install_path") + "/cygwin/bin"
922 : input.get("gnumake", "install_path") + "/bin");
923
|