< prev index next >

make/conf/jib-profiles.js

Print this page
rev 59102 : imported patch build


 222     data.dependencies = getJibProfilesDependencies(input, common, data);
 223 
 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", "static-libs-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             "--disable-jvm-feature-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


 412             default_make_targets: ["docs-bundles"],
 413         },
 414 
 415         "linux-x86": {
 416             target_os: "linux",
 417             target_cpu: "x86",
 418             build_cpu: "x64",
 419             dependencies: ["devkit"],
 420             configure_args: concat(common.configure_args_32bit,
 421                 "--with-jvm-variants=minimal,server", "--with-zlib=system"),
 422         },
 423 
 424         "macosx-x64": {
 425             target_os: "macosx",
 426             target_cpu: "x64",
 427             dependencies: ["devkit", "pandoc", "graalunit_lib"],
 428             configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
 429                 "--with-macosx-version-max=10.9.0"),
 430         },
 431 
 432         "solaris-x64": {
 433             target_os: "solaris",
 434             target_cpu: "x64",
 435             dependencies: ["devkit", "cups"],
 436             configure_args: concat(common.configure_args_64bit,
 437                 "--with-zlib=system", "--enable-dtrace", "--enable-deprecated-ports=yes"),
 438         },
 439 
 440         "solaris-sparcv9": {
 441             target_os: "solaris",
 442             target_cpu: "sparcv9",
 443             dependencies: ["devkit", "cups"],
 444             configure_args: concat(common.configure_args_64bit,
 445                 "--with-zlib=system", "--enable-dtrace", "--enable-deprecated-ports=yes"),
 446         },
 447 
 448         "windows-x64": {
 449             target_os: "windows",
 450             target_cpu: "x64",
 451             dependencies: ["devkit", "pandoc", "graalunit_lib"],
 452             configure_args: concat(common.configure_args_64bit),
 453         },
 454 
 455         "windows-x86": {
 456             target_os: "windows",
 457             target_cpu: "x86",
 458             build_cpu: "x64",
 459             dependencies: ["devkit"],
 460             configure_args: concat(common.configure_args_32bit),
 461         },
 462 
 463         "linux-aarch64": {
 464             target_os: "linux",
 465             target_cpu: "aarch64",
 466             build_cpu: "x64",
 467             dependencies: ["devkit", "build_devkit", "pandoc"],


 516     common.main_profile_names.forEach(function (name) {
 517         var debugName = name + common.debug_suffix;
 518         profiles[debugName] = concatObjects(profiles[name],
 519                                             common.debug_profile_base);
 520     });
 521     // Generate slowdebug versions of all the main profiles
 522     common.main_profile_names.forEach(function (name) {
 523         var debugName = name + common.slowdebug_suffix;
 524         profiles[debugName] = concatObjects(profiles[name],
 525                                             common.slowdebug_profile_base);
 526     });
 527     // Generate testmake profiles for the main profile of each build host
 528     // platform. This profile only runs the makefile tests.
 529     // Ant is needed to run the idea project generator test.
 530     var testmakeBase = {
 531         dependencies: [ "ant" ],
 532         environment: {
 533             "ANT_HOME": input.get("ant", "home_path")
 534         }
 535     };
 536     [ "linux-x64", "macosx-x64", "solaris-sparcv9", "solaris-x64", "windows-x64"]
 537         .forEach(function (name) {
 538             var maketestName = name + "-testmake";
 539             profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
 540             profiles[maketestName].default_make_targets = [ "test-make" ];
 541         });
 542 
 543     // Generate -gcov profiles
 544     [ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {
 545         var gcovName = name + "-gcov";
 546         profiles[gcovName] = clone(profiles[name]);
 547         profiles[gcovName].default_make_targets = ["product-bundles", "test-bundles"];
 548         profiles[gcovName].configure_args = concat(profiles[gcovName].configure_args,
 549             ["--enable-native-coverage", "--disable-warnings-as-errors"]);
 550     });
 551 
 552     // Profiles for building the zero jvm variant. These are used for verification.
 553     var zeroProfiles = {
 554         "linux-x64-zero": {
 555             target_os: "linux",
 556             target_cpu: "x64",


 590             target_os: "linux",
 591             target_cpu: "x64",
 592             dependencies: ["devkit"],
 593             configure_args: concat(common.configure_args_64bit,
 594                 "--with-zlib=system", "--disable-precompiled-headers"),
 595         },
 596     };
 597     profiles = concatObjects(profiles, noPchProfiles);
 598     // Add base settings to noPch profiles
 599     Object.keys(noPchProfiles).forEach(function (name) {
 600         profiles[name] = concatObjects(common.main_profile_base, profiles[name]);
 601         profiles[name] = concatObjects(common.debug_profile_base, profiles[name]);
 602         // Override default make target with hotspot as that's the only part of
 603         // the build using precompiled headers.
 604         profiles[name].default_make_targets = ["hotspot"];
 605     });
 606 
 607     // Bootcycle profiles runs the build with itself as the boot jdk. This can
 608     // be done in two ways. Either using the builtin bootcycle target in the
 609     // build system. Or by supplying the main jdk build as bootjdk to configure.
 610     [ "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
 611         .forEach(function (name) {
 612             var bootcycleName = name + "-bootcycle";
 613             var bootcyclePrebuiltName = name + "-bootcycle-prebuilt";
 614             // The base bootcycle profile just changes the default target
 615             // compared to the base profile
 616             profiles[bootcycleName] = clone(profiles[name]);
 617             profiles[bootcycleName].default_make_targets = [ "bootcycle-images" ];
 618             // The prebuilt bootcycle variant modifies the boot jdk argument
 619             var bootcyclePrebuiltBase = {
 620                 dependencies: [ name + ".jdk" ],
 621                 configure_args: [
 622                     "--with-boot-jdk=" + input.get(name + ".jdk", "home_path"),
 623                     // Full docs do not currently work with bootcycle build
 624                     // since Nashorn was removed. This negates the
 625                     // --enable-full-docs from the main profile.
 626                     "--enable-full-docs=auto",
 627                 ]
 628             }
 629             profiles[bootcyclePrebuiltName] = concatObjects(profiles[name],
 630                 bootcyclePrebuiltBase);
 631             var bootJdkIndex = profiles[bootcyclePrebuiltName].dependencies.indexOf("boot_jdk");
 632             delete profiles[bootcyclePrebuiltName].dependencies[bootJdkIndex];
 633             profiles[bootcyclePrebuiltName].default_make_targets = [ "product-images" ];
 634         });
 635 
 636     // JCov profiles build JCov-instrumented JDK image based on images provided through dependencies.
 637     [ "linux-aarch64", "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
 638         .forEach(function (name) {
 639             var jcovName = name + "-jcov";
 640             profiles[jcovName] = clone(common.main_profile_base);
 641             profiles[jcovName].target_os = profiles[name].target_os
 642             profiles[jcovName].target_cpu = profiles[name].target_cpu
 643             profiles[jcovName].default_make_targets = [ "jcov-bundles" ];
 644             profiles[jcovName].dependencies = concat(profiles[jcovName].dependencies,
 645                 [ name + ".jdk", "devkit" ]);
 646             profiles[jcovName].configure_args = concat(profiles[jcovName].configure_args,
 647                 ["--with-jcov-input-jdk=" + input.get(name + ".jdk", "home_path")]);
 648         });
 649 
 650     //
 651     // Define artifacts for profiles
 652     //
 653     // Macosx bundles are named osx
 654     // tar.gz.
 655     var artifactData = {
 656         "linux-x64": {
 657             platform: "linux-x64",
 658         },
 659         "linux-x86": {
 660             platform: "linux-x86",
 661         },
 662         "macosx-x64": {
 663             platform: "osx-x64",
 664             jdk_subdir: "jdk-" + data.version +  ".jdk/Contents/Home",
 665         },
 666         "solaris-x64": {
 667             platform: "solaris-x64",
 668         },
 669         "solaris-sparcv9": {
 670             platform: "solaris-sparcv9",
 671         },
 672         "windows-x64": {
 673             platform: "windows-x64",
 674             jdk_suffix: "zip",
 675         },
 676         "windows-x86": {
 677             platform: "windows-x86",
 678             jdk_suffix: "zip",
 679         },
 680        "linux-aarch64": {
 681             platform: "linux-aarch64",
 682         },
 683        "linux-arm32": {
 684             platform: "linux-arm32",
 685         },
 686        "linux-ppc64le": {
 687             platform: "linux-ppc64le",
 688         },
 689        "linux-s390x": {
 690             platform: "linux-s390x",
 691         }


 778             var cmpBaselineName = name + suffix + "-cmp-baseline";
 779             profiles[cmpBaselineName] = clone(profiles[name + suffix]);
 780             // Only compare the images target. This should pressumably be expanded
 781             // to include more build targets when possible.
 782             profiles[cmpBaselineName].default_make_targets = [ "images", "test-image" ];
 783             if (name == "linux-x64") {
 784                 profiles[cmpBaselineName].default_make_targets
 785                     = concat(profiles[cmpBaselineName].default_make_targets, "docs");
 786             }
 787             profiles[cmpBaselineName].make_args = [ "COMPARE_BUILD=CONF=" ];
 788             profiles[cmpBaselineName].configure_args = concat(
 789                 profiles[cmpBaselineName].configure_args,
 790                 "--with-hotspot-build-time=n/a", 
 791                 "--disable-precompiled-headers");
 792             // Do not inherit artifact definitions from base profile
 793             delete profiles[cmpBaselineName].artifacts;
 794         });
 795     });
 796 
 797     // Artifacts of JCov profiles
 798     [ "linux-aarch64", "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
 799         .forEach(function (name) {
 800             var o = artifactData[name]
 801             var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
 802             var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
 803             var pf = o.platform
 804             var jcovName = name + "-jcov";
 805             profiles[jcovName].artifacts = {
 806                 jdk: {
 807                     local: "bundles/\\(jdk-jcov.*bin." + jdk_suffix + "\\)",
 808                     remote: [
 809                         "bundles/" + pf + "/jdk-jcov-" + data.version + "_" + pf + "_bin." + jdk_suffix
 810                     ],
 811                     subdir: jdk_subdir,
 812                     exploded: "images/jdk-jcov"
 813                 }
 814             };
 815         });
 816 
 817     // Artifacts of gcov (native-code-coverage) profiles
 818     [ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {


 967     }
 968 
 969     // Generate the missing platform attributes
 970     profiles = generatePlatformAttributes(profiles);
 971     profiles = generateDefaultMakeTargetsConfigureArg(common, profiles);
 972     return profiles;
 973 };
 974 
 975 /**
 976  * Generate the dependencies part of the configuration
 977  *
 978  * @param input External data to use for generating the configuration
 979  * @param common The common values
 980  * @returns {{}} Dependencies part of configuration
 981  */
 982 var getJibProfilesDependencies = function (input, common) {
 983 
 984     var devkit_platform_revisions = {
 985         linux_x64: "gcc9.2.0-OL6.4+1.0",
 986         macosx_x64: "Xcode10.1-MacOSX10.14+1.0",
 987         solaris_x64: "SS12u4-Solaris11u1+1.0",
 988         solaris_sparcv9: "SS12u6-Solaris11u3+1.0",
 989         windows_x64: "VS2017-15.9.16+1.0",
 990         linux_aarch64: "gcc9.2.0-OL7.6+1.0",
 991         linux_arm: "gcc8.2.0-Fedora27+1.0",
 992         linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
 993         linux_s390x: "gcc8.2.0-Fedora27+1.0"
 994     };
 995 
 996     var devkit_platform = (input.target_cpu == "x86"
 997         ? input.target_os + "_x64"
 998         : input.target_platform);
 999 
1000     var devkit_cross_prefix = "";
1001     if (input.build_platform != input.target_platform
1002        && input.build_platform != devkit_platform) {
1003         devkit_cross_prefix = input.build_platform + "-to-";
1004     }
1005 
1006     var boot_jdk_platform = (input.build_os == "macosx" ? "osx" : input.build_os)
1007         + "-" + input.build_cpu;
1008     var boot_jdk_ext = (input.build_os == "windows" ? ".zip" : ".tar.gz")


1020     if (input.build_cpu == 'aarch64') {
1021         boot_jdk = {
1022             organization: common.organization,
1023             ext: "tar.gz",
1024             module: "jdk-linux_aarch64",
1025             revision: "14+1.0",
1026             configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
1027             environment_path: common.boot_jdk_home + "/bin"
1028         }
1029     } else {
1030         boot_jdk = {
1031             server: "jpg",
1032             product: "jdk",
1033             version: common.boot_jdk_version,
1034             build_number: common.boot_jdk_build_number,
1035             file: "bundles/" + boot_jdk_platform + "/jdk-" + common.boot_jdk_version + "_"
1036                 + boot_jdk_platform + "_bin" + boot_jdk_ext,
1037             configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
1038             environment_path: common.boot_jdk_home + "/bin"
1039         }
1040     }
1041     if (input.build_cpu == 'sparcv9') {
1042         boot_jdk.file = "bundles/openjdk/GPL/" + boot_jdk_platform
1043             + "/openjdk-" + common.boot_jdk_version + "_"
1044             + boot_jdk_platform + "_bin" + boot_jdk_ext;
1045     }
1046 
1047     var dependencies = {
1048         boot_jdk: boot_jdk,
1049 
1050         devkit: {
1051             organization: common.organization,
1052             ext: "tar.gz",
1053             module: "devkit-" + devkit_cross_prefix + devkit_platform,
1054             revision: devkit_platform_revisions[devkit_platform],
1055             environment: {
1056                 "DEVKIT_HOME": input.get("devkit", "home_path"),
1057             }
1058         },
1059 
1060         build_devkit: {
1061             organization: common.organization,
1062             ext: "tar.gz",
1063             module: "devkit-" + input.build_platform,
1064             revision: devkit_platform_revisions[input.build_platform]




 222     data.dependencies = getJibProfilesDependencies(input, common, data);
 223 
 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",
 243         "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", "static-libs-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             "--disable-jvm-feature-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


 412             default_make_targets: ["docs-bundles"],
 413         },
 414 
 415         "linux-x86": {
 416             target_os: "linux",
 417             target_cpu: "x86",
 418             build_cpu: "x64",
 419             dependencies: ["devkit"],
 420             configure_args: concat(common.configure_args_32bit,
 421                 "--with-jvm-variants=minimal,server", "--with-zlib=system"),
 422         },
 423 
 424         "macosx-x64": {
 425             target_os: "macosx",
 426             target_cpu: "x64",
 427             dependencies: ["devkit", "pandoc", "graalunit_lib"],
 428             configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
 429                 "--with-macosx-version-max=10.9.0"),
 430         },
 431 
















 432         "windows-x64": {
 433             target_os: "windows",
 434             target_cpu: "x64",
 435             dependencies: ["devkit", "pandoc", "graalunit_lib"],
 436             configure_args: concat(common.configure_args_64bit),
 437         },
 438 
 439         "windows-x86": {
 440             target_os: "windows",
 441             target_cpu: "x86",
 442             build_cpu: "x64",
 443             dependencies: ["devkit"],
 444             configure_args: concat(common.configure_args_32bit),
 445         },
 446 
 447         "linux-aarch64": {
 448             target_os: "linux",
 449             target_cpu: "aarch64",
 450             build_cpu: "x64",
 451             dependencies: ["devkit", "build_devkit", "pandoc"],


 500     common.main_profile_names.forEach(function (name) {
 501         var debugName = name + common.debug_suffix;
 502         profiles[debugName] = concatObjects(profiles[name],
 503                                             common.debug_profile_base);
 504     });
 505     // Generate slowdebug versions of all the main profiles
 506     common.main_profile_names.forEach(function (name) {
 507         var debugName = name + common.slowdebug_suffix;
 508         profiles[debugName] = concatObjects(profiles[name],
 509                                             common.slowdebug_profile_base);
 510     });
 511     // Generate testmake profiles for the main profile of each build host
 512     // platform. This profile only runs the makefile tests.
 513     // Ant is needed to run the idea project generator test.
 514     var testmakeBase = {
 515         dependencies: [ "ant" ],
 516         environment: {
 517             "ANT_HOME": input.get("ant", "home_path")
 518         }
 519     };
 520     [ "linux-x64", "macosx-x64", "windows-x64"]
 521         .forEach(function (name) {
 522             var maketestName = name + "-testmake";
 523             profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
 524             profiles[maketestName].default_make_targets = [ "test-make" ];
 525         });
 526 
 527     // Generate -gcov profiles
 528     [ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {
 529         var gcovName = name + "-gcov";
 530         profiles[gcovName] = clone(profiles[name]);
 531         profiles[gcovName].default_make_targets = ["product-bundles", "test-bundles"];
 532         profiles[gcovName].configure_args = concat(profiles[gcovName].configure_args,
 533             ["--enable-native-coverage", "--disable-warnings-as-errors"]);
 534     });
 535 
 536     // Profiles for building the zero jvm variant. These are used for verification.
 537     var zeroProfiles = {
 538         "linux-x64-zero": {
 539             target_os: "linux",
 540             target_cpu: "x64",


 574             target_os: "linux",
 575             target_cpu: "x64",
 576             dependencies: ["devkit"],
 577             configure_args: concat(common.configure_args_64bit,
 578                 "--with-zlib=system", "--disable-precompiled-headers"),
 579         },
 580     };
 581     profiles = concatObjects(profiles, noPchProfiles);
 582     // Add base settings to noPch profiles
 583     Object.keys(noPchProfiles).forEach(function (name) {
 584         profiles[name] = concatObjects(common.main_profile_base, profiles[name]);
 585         profiles[name] = concatObjects(common.debug_profile_base, profiles[name]);
 586         // Override default make target with hotspot as that's the only part of
 587         // the build using precompiled headers.
 588         profiles[name].default_make_targets = ["hotspot"];
 589     });
 590 
 591     // Bootcycle profiles runs the build with itself as the boot jdk. This can
 592     // be done in two ways. Either using the builtin bootcycle target in the
 593     // build system. Or by supplying the main jdk build as bootjdk to configure.
 594     [ "linux-x64", "macosx-x64", "windows-x64" ]
 595         .forEach(function (name) {
 596             var bootcycleName = name + "-bootcycle";
 597             var bootcyclePrebuiltName = name + "-bootcycle-prebuilt";
 598             // The base bootcycle profile just changes the default target
 599             // compared to the base profile
 600             profiles[bootcycleName] = clone(profiles[name]);
 601             profiles[bootcycleName].default_make_targets = [ "bootcycle-images" ];
 602             // The prebuilt bootcycle variant modifies the boot jdk argument
 603             var bootcyclePrebuiltBase = {
 604                 dependencies: [ name + ".jdk" ],
 605                 configure_args: [
 606                     "--with-boot-jdk=" + input.get(name + ".jdk", "home_path"),
 607                     // Full docs do not currently work with bootcycle build
 608                     // since Nashorn was removed. This negates the
 609                     // --enable-full-docs from the main profile.
 610                     "--enable-full-docs=auto",
 611                 ]
 612             }
 613             profiles[bootcyclePrebuiltName] = concatObjects(profiles[name],
 614                 bootcyclePrebuiltBase);
 615             var bootJdkIndex = profiles[bootcyclePrebuiltName].dependencies.indexOf("boot_jdk");
 616             delete profiles[bootcyclePrebuiltName].dependencies[bootJdkIndex];
 617             profiles[bootcyclePrebuiltName].default_make_targets = [ "product-images" ];
 618         });
 619 
 620     // JCov profiles build JCov-instrumented JDK image based on images provided through dependencies.
 621     [ "linux-aarch64", "linux-x64", "macosx-x64", "windows-x64" ]
 622         .forEach(function (name) {
 623             var jcovName = name + "-jcov";
 624             profiles[jcovName] = clone(common.main_profile_base);
 625             profiles[jcovName].target_os = profiles[name].target_os
 626             profiles[jcovName].target_cpu = profiles[name].target_cpu
 627             profiles[jcovName].default_make_targets = [ "jcov-bundles" ];
 628             profiles[jcovName].dependencies = concat(profiles[jcovName].dependencies,
 629                 [ name + ".jdk", "devkit" ]);
 630             profiles[jcovName].configure_args = concat(profiles[jcovName].configure_args,
 631                 ["--with-jcov-input-jdk=" + input.get(name + ".jdk", "home_path")]);
 632         });
 633 
 634     //
 635     // Define artifacts for profiles
 636     //
 637     // Macosx bundles are named osx
 638     // tar.gz.
 639     var artifactData = {
 640         "linux-x64": {
 641             platform: "linux-x64",
 642         },
 643         "linux-x86": {
 644             platform: "linux-x86",
 645         },
 646         "macosx-x64": {
 647             platform: "osx-x64",
 648             jdk_subdir: "jdk-" + data.version +  ".jdk/Contents/Home",
 649         },






 650         "windows-x64": {
 651             platform: "windows-x64",
 652             jdk_suffix: "zip",
 653         },
 654         "windows-x86": {
 655             platform: "windows-x86",
 656             jdk_suffix: "zip",
 657         },
 658        "linux-aarch64": {
 659             platform: "linux-aarch64",
 660         },
 661        "linux-arm32": {
 662             platform: "linux-arm32",
 663         },
 664        "linux-ppc64le": {
 665             platform: "linux-ppc64le",
 666         },
 667        "linux-s390x": {
 668             platform: "linux-s390x",
 669         }


 756             var cmpBaselineName = name + suffix + "-cmp-baseline";
 757             profiles[cmpBaselineName] = clone(profiles[name + suffix]);
 758             // Only compare the images target. This should pressumably be expanded
 759             // to include more build targets when possible.
 760             profiles[cmpBaselineName].default_make_targets = [ "images", "test-image" ];
 761             if (name == "linux-x64") {
 762                 profiles[cmpBaselineName].default_make_targets
 763                     = concat(profiles[cmpBaselineName].default_make_targets, "docs");
 764             }
 765             profiles[cmpBaselineName].make_args = [ "COMPARE_BUILD=CONF=" ];
 766             profiles[cmpBaselineName].configure_args = concat(
 767                 profiles[cmpBaselineName].configure_args,
 768                 "--with-hotspot-build-time=n/a", 
 769                 "--disable-precompiled-headers");
 770             // Do not inherit artifact definitions from base profile
 771             delete profiles[cmpBaselineName].artifacts;
 772         });
 773     });
 774 
 775     // Artifacts of JCov profiles
 776     [ "linux-aarch64", "linux-x64", "macosx-x64", "windows-x64" ]
 777         .forEach(function (name) {
 778             var o = artifactData[name]
 779             var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
 780             var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
 781             var pf = o.platform
 782             var jcovName = name + "-jcov";
 783             profiles[jcovName].artifacts = {
 784                 jdk: {
 785                     local: "bundles/\\(jdk-jcov.*bin." + jdk_suffix + "\\)",
 786                     remote: [
 787                         "bundles/" + pf + "/jdk-jcov-" + data.version + "_" + pf + "_bin." + jdk_suffix
 788                     ],
 789                     subdir: jdk_subdir,
 790                     exploded: "images/jdk-jcov"
 791                 }
 792             };
 793         });
 794 
 795     // Artifacts of gcov (native-code-coverage) profiles
 796     [ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {


 945     }
 946 
 947     // Generate the missing platform attributes
 948     profiles = generatePlatformAttributes(profiles);
 949     profiles = generateDefaultMakeTargetsConfigureArg(common, profiles);
 950     return profiles;
 951 };
 952 
 953 /**
 954  * Generate the dependencies part of the configuration
 955  *
 956  * @param input External data to use for generating the configuration
 957  * @param common The common values
 958  * @returns {{}} Dependencies part of configuration
 959  */
 960 var getJibProfilesDependencies = function (input, common) {
 961 
 962     var devkit_platform_revisions = {
 963         linux_x64: "gcc9.2.0-OL6.4+1.0",
 964         macosx_x64: "Xcode10.1-MacOSX10.14+1.0",


 965         windows_x64: "VS2017-15.9.16+1.0",
 966         linux_aarch64: "gcc9.2.0-OL7.6+1.0",
 967         linux_arm: "gcc8.2.0-Fedora27+1.0",
 968         linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
 969         linux_s390x: "gcc8.2.0-Fedora27+1.0"
 970     };
 971 
 972     var devkit_platform = (input.target_cpu == "x86"
 973         ? input.target_os + "_x64"
 974         : input.target_platform);
 975 
 976     var devkit_cross_prefix = "";
 977     if (input.build_platform != input.target_platform
 978        && input.build_platform != devkit_platform) {
 979         devkit_cross_prefix = input.build_platform + "-to-";
 980     }
 981 
 982     var boot_jdk_platform = (input.build_os == "macosx" ? "osx" : input.build_os)
 983         + "-" + input.build_cpu;
 984     var boot_jdk_ext = (input.build_os == "windows" ? ".zip" : ".tar.gz")


 996     if (input.build_cpu == 'aarch64') {
 997         boot_jdk = {
 998             organization: common.organization,
 999             ext: "tar.gz",
1000             module: "jdk-linux_aarch64",
1001             revision: "14+1.0",
1002             configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
1003             environment_path: common.boot_jdk_home + "/bin"
1004         }
1005     } else {
1006         boot_jdk = {
1007             server: "jpg",
1008             product: "jdk",
1009             version: common.boot_jdk_version,
1010             build_number: common.boot_jdk_build_number,
1011             file: "bundles/" + boot_jdk_platform + "/jdk-" + common.boot_jdk_version + "_"
1012                 + boot_jdk_platform + "_bin" + boot_jdk_ext,
1013             configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
1014             environment_path: common.boot_jdk_home + "/bin"
1015         }





1016     }
1017 
1018     var dependencies = {
1019         boot_jdk: boot_jdk,
1020 
1021         devkit: {
1022             organization: common.organization,
1023             ext: "tar.gz",
1024             module: "devkit-" + devkit_cross_prefix + devkit_platform,
1025             revision: devkit_platform_revisions[devkit_platform],
1026             environment: {
1027                 "DEVKIT_HOME": input.get("devkit", "home_path"),
1028             }
1029         },
1030 
1031         build_devkit: {
1032             organization: common.organization,
1033             ext: "tar.gz",
1034             module: "devkit-" + input.build_platform,
1035             revision: devkit_platform_revisions[input.build_platform]


< prev index next >