1 /*
2 * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
183 var data = {};
184
185 // Identifies the version of this format to the tool reading it.
186 // 1.1 signifies that the publish, publish-src and get-src features are usable.
187 data.format_version = "1.1";
188
189 // Organization, product and version are used when uploading/publishing build results
190 data.organization = "";
191 data.product = "jdk";
192 data.version = getVersion();
193
194 // The base directory for the build output. JIB will assume that the
195 // actual build directory will be <output_basedir>/<configuration>
196 data.output_basedir = "build";
197 // The configure argument to use to specify the name of the configuration
198 data.configuration_configure_arg = "--with-conf-name=";
199 // The make argument to use to specify the name of the configuration
200 data.configuration_make_arg = "CONF_NAME=";
201
202 // Exclude list to use when Jib creates a source bundle
203 data.src_bundle_excludes = "./build webrev* */webrev* */*/webrev* */*/*/webrev* .hg */.hg */*/.hg */*/*/.hg";
204 // Include list to use when creating a minimal jib source bundle which
205 // contains just the jib configuration files.
206 data.conf_bundle_includes = "*/conf/jib-profiles.* make/autoconf/version-numbers"
207
208 // Define some common values
209 var common = getJibProfilesCommon(input, data);
210 // Generate the profiles part of the configuration
211 data.profiles = getJibProfilesProfiles(input, common, data);
212 // Generate the dependencies part of the configuration
213 data.dependencies = getJibProfilesDependencies(input, common, data);
214
215 return data;
216 };
217
218 /**
219 * Generates some common values
220 *
221 * @param input External data to use for generating the configuration
222 * @returns Common values
223 */
394 + common.boot_jdk_version
395 + (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
396
397 return common;
398 };
399
400 /**
401 * Generates the profiles part of the configuration.
402 *
403 * @param input External data to use for generating the configuration
404 * @param common The common values
405 * @returns {{}} Profiles part of the configuration
406 */
407 var getJibProfilesProfiles = function (input, common, data) {
408 // Main SE profiles
409 var profiles = {
410
411 "linux-x64": {
412 target_os: "linux",
413 target_cpu: "x64",
414 dependencies: ["devkit", "graphviz", "pandoc"],
415 configure_args: concat(common.configure_args_64bit,
416 "--enable-full-docs", "--with-zlib=system"),
417 default_make_targets: ["docs-bundles"],
418 },
419
420 "linux-x86": {
421 target_os: "linux",
422 target_cpu: "x86",
423 build_cpu: "x64",
424 dependencies: ["devkit"],
425 configure_args: concat(common.configure_args_32bit,
426 "--with-jvm-variants=minimal,server", "--with-zlib=system"),
427 },
428
429 "macosx-x64": {
430 target_os: "macosx",
431 target_cpu: "x64",
432 dependencies: ["devkit", "freetype"],
433 configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
434 "--with-macosx-version-max=10.7.0"),
435 },
436
437 "solaris-x64": {
438 target_os: "solaris",
439 target_cpu: "x64",
440 dependencies: ["devkit", "cups"],
441 configure_args: concat(common.configure_args_64bit,
442 "--with-zlib=system", "--enable-dtrace"),
443 },
444
445 "solaris-sparcv9": {
446 target_os: "solaris",
447 target_cpu: "sparcv9",
448 dependencies: ["devkit", "cups"],
449 configure_args: concat(common.configure_args_64bit,
450 "--with-zlib=system", "--enable-dtrace"),
451 },
452
453 "windows-x64": {
454 target_os: "windows",
455 target_cpu: "x64",
456 dependencies: ["devkit", "freetype"],
457 configure_args: concat(common.configure_args_64bit),
458 },
459
460 "windows-x86": {
461 target_os: "windows",
462 target_cpu: "x86",
463 build_cpu: "x64",
464 dependencies: ["devkit", "freetype"],
465 configure_args: concat(common.configure_args_32bit),
466 },
467
468 "linux-arm64": {
469 target_os: "linux",
470 target_cpu: "aarch64",
471 build_cpu: "x64",
472 dependencies: ["devkit", "build_devkit", "cups", "headless_stubs"],
473 configure_args: [
474 "--with-cpu-port=arm64",
475 "--with-jvm-variants=server",
476 "--openjdk-target=aarch64-linux-gnu",
477 "--enable-headless-only"
478 ],
479 },
480
481 "linux-arm-vfp-hflt": {
482 target_os: "linux",
483 target_cpu: "arm",
484 build_cpu: "x64",
485 dependencies: ["devkit", "build_devkit", "cups"],
486 configure_args: [
487 "--with-jvm-variants=minimal1,client",
488 "--with-x=" + input.get("devkit", "install_path") + "/arm-linux-gnueabihf/libc/usr/X11R6-PI",
489 "--openjdk-target=arm-linux-gnueabihf",
490 "--with-abi-profile=arm-vfp-hflt"
491 ],
492 },
493
494 // Special version of the SE profile adjusted to be testable on arm64 hardware.
495 "linux-arm-vfp-hflt-dyn": {
496 configure_args: "--with-stdc++lib=dynamic"
497 }
498 };
499 // Let linux-arm-vfp-hflt-dyn inherit everything from linux-arm-vfp-hflt
500 profiles["linux-arm-vfp-hflt-dyn"] = concatObjects(
501 profiles["linux-arm-vfp-hflt-dyn"], profiles["linux-arm-vfp-hflt"]);
502
503 // Add the base settings to all the main profiles
504 common.main_profile_names.forEach(function (name) {
505 profiles[name] = concatObjects(common.main_profile_base, profiles[name]);
837 },
838
839 gnumake: {
840 organization: common.organization,
841 ext: "tar.gz",
842 revision: "4.0+1.0",
843
844 module: (input.build_os == "windows"
845 ? "gnumake-" + input.build_osenv_platform
846 : "gnumake-" + input.build_platform),
847
848 configure_args: "MAKE=" + makeBinDir + "/make",
849
850 environment: {
851 "MAKE": makeBinDir + "/make"
852 },
853
854 environment_path: makeBinDir
855 },
856
857 freetype: {
858 organization: common.organization,
859 ext: "tar.gz",
860 revision: freetype_version,
861 module: "freetype-" + input.target_platform
862 },
863
864 graphviz: {
865 organization: common.organization,
866 ext: "tar.gz",
867 revision: "2.38.0-1+1.1",
868 module: "graphviz-" + input.target_platform,
869 configure_args: "DOT=" + input.get("graphviz", "install_path") + "/dot",
870 environment_path: input.get("graphviz", "install_path")
871 },
872
873 pandoc: {
874 organization: common.organization,
875 ext: "tar.gz",
876 revision: "1.17.2+1.0",
877 module: "pandoc-" + input.target_platform,
878 configure_args: "PANDOC=" + input.get("pandoc", "install_path") + "/pandoc/pandoc",
879 environment_path: input.get("pandoc", "install_path") + "/pandoc"
880 },
881 // This adds java jib as a dependency for the test artifacts resolver
882 jib: {
883 organization: "com.oracle.java.jib",
884 ext: "zip",
885 classifier: "distribution",
886 revision: "3.0-SNAPSHOT",
887 environment_name: "JIB_JAR",
888 environment_value: input.get("jib", "install_path")
889 + "/jib-3.0-SNAPSHOT-distribution/lib/jib-3.0-SNAPSHOT.jar"
890 }
891 };
892
893 // Need to add a value for the Visual Studio tools variable to make
894 // jaot be able to pick up the Visual Studio linker in testing.
895 if (input.target_os == "windows") {
896 dependencies.devkit.environment = {
897 VS120COMNTOOLS: input.get("devkit", "install_path") + "/Common7/Tools"
898 };
899 }
900
|
1 /*
2 * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
183 var data = {};
184
185 // Identifies the version of this format to the tool reading it.
186 // 1.1 signifies that the publish, publish-src and get-src features are usable.
187 data.format_version = "1.1";
188
189 // Organization, product and version are used when uploading/publishing build results
190 data.organization = "";
191 data.product = "jdk";
192 data.version = getVersion();
193
194 // The base directory for the build output. JIB will assume that the
195 // actual build directory will be <output_basedir>/<configuration>
196 data.output_basedir = "build";
197 // The configure argument to use to specify the name of the configuration
198 data.configuration_configure_arg = "--with-conf-name=";
199 // The make argument to use to specify the name of the configuration
200 data.configuration_make_arg = "CONF_NAME=";
201
202 // Exclude list to use when Jib creates a source bundle
203 data.src_bundle_excludes = "./build .build webrev* */webrev* */*/webrev* */*/*/webrev* .hg */.hg */*/.hg */*/*/.hg";
204 // Include list to use when creating a minimal jib source bundle which
205 // contains just the jib configuration files.
206 data.conf_bundle_includes = "*/conf/jib-profiles.* make/autoconf/version-numbers"
207
208 // Define some common values
209 var common = getJibProfilesCommon(input, data);
210 // Generate the profiles part of the configuration
211 data.profiles = getJibProfilesProfiles(input, common, data);
212 // Generate the dependencies part of the configuration
213 data.dependencies = getJibProfilesDependencies(input, common, data);
214
215 return data;
216 };
217
218 /**
219 * Generates some common values
220 *
221 * @param input External data to use for generating the configuration
222 * @returns Common values
223 */
394 + common.boot_jdk_version
395 + (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
396
397 return common;
398 };
399
400 /**
401 * Generates the profiles part of the configuration.
402 *
403 * @param input External data to use for generating the configuration
404 * @param common The common values
405 * @returns {{}} Profiles part of the configuration
406 */
407 var getJibProfilesProfiles = function (input, common, data) {
408 // Main SE profiles
409 var profiles = {
410
411 "linux-x64": {
412 target_os: "linux",
413 target_cpu: "x64",
414 dependencies: ["devkit", "autoconf", "graphviz", "pandoc"],
415 configure_args: concat(common.configure_args_64bit,
416 "--enable-full-docs", "--with-zlib=system"),
417 default_make_targets: ["docs-bundles"],
418 },
419
420 "linux-x86": {
421 target_os: "linux",
422 target_cpu: "x86",
423 build_cpu: "x64",
424 dependencies: ["devkit", "autoconf"],
425 configure_args: concat(common.configure_args_32bit,
426 "--with-jvm-variants=minimal,server", "--with-zlib=system"),
427 },
428
429 "macosx-x64": {
430 target_os: "macosx",
431 target_cpu: "x64",
432 dependencies: ["devkit", "autoconf", "freetype"],
433 configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
434 "--with-macosx-version-max=10.7.0"),
435 },
436
437 "solaris-x64": {
438 target_os: "solaris",
439 target_cpu: "x64",
440 dependencies: ["devkit", "autoconf", "cups"],
441 configure_args: concat(common.configure_args_64bit,
442 "--with-zlib=system", "--enable-dtrace"),
443 },
444
445 "solaris-sparcv9": {
446 target_os: "solaris",
447 target_cpu: "sparcv9",
448 dependencies: ["devkit", "autoconf", "cups"],
449 configure_args: concat(common.configure_args_64bit,
450 "--with-zlib=system", "--enable-dtrace"),
451 },
452
453 "windows-x64": {
454 target_os: "windows",
455 target_cpu: "x64",
456 dependencies: ["devkit", "autoconf", "freetype"],
457 configure_args: concat(common.configure_args_64bit),
458 },
459
460 "windows-x86": {
461 target_os: "windows",
462 target_cpu: "x86",
463 build_cpu: "x64",
464 dependencies: ["devkit", "autoconf", "freetype"],
465 configure_args: concat(common.configure_args_32bit),
466 },
467
468 "linux-arm64": {
469 target_os: "linux",
470 target_cpu: "aarch64",
471 build_cpu: "x64",
472 dependencies: ["devkit", "autoconf", "build_devkit", "cups", "headless_stubs"],
473 configure_args: [
474 "--with-cpu-port=arm64",
475 "--with-jvm-variants=server",
476 "--openjdk-target=aarch64-linux-gnu",
477 "--enable-headless-only"
478 ],
479 },
480
481 "linux-arm-vfp-hflt": {
482 target_os: "linux",
483 target_cpu: "arm",
484 build_cpu: "x64",
485 dependencies: ["devkit", "autoconf", "build_devkit", "cups"],
486 configure_args: [
487 "--with-jvm-variants=minimal1,client",
488 "--with-x=" + input.get("devkit", "install_path") + "/arm-linux-gnueabihf/libc/usr/X11R6-PI",
489 "--openjdk-target=arm-linux-gnueabihf",
490 "--with-abi-profile=arm-vfp-hflt"
491 ],
492 },
493
494 // Special version of the SE profile adjusted to be testable on arm64 hardware.
495 "linux-arm-vfp-hflt-dyn": {
496 configure_args: "--with-stdc++lib=dynamic"
497 }
498 };
499 // Let linux-arm-vfp-hflt-dyn inherit everything from linux-arm-vfp-hflt
500 profiles["linux-arm-vfp-hflt-dyn"] = concatObjects(
501 profiles["linux-arm-vfp-hflt-dyn"], profiles["linux-arm-vfp-hflt"]);
502
503 // Add the base settings to all the main profiles
504 common.main_profile_names.forEach(function (name) {
505 profiles[name] = concatObjects(common.main_profile_base, profiles[name]);
837 },
838
839 gnumake: {
840 organization: common.organization,
841 ext: "tar.gz",
842 revision: "4.0+1.0",
843
844 module: (input.build_os == "windows"
845 ? "gnumake-" + input.build_osenv_platform
846 : "gnumake-" + input.build_platform),
847
848 configure_args: "MAKE=" + makeBinDir + "/make",
849
850 environment: {
851 "MAKE": makeBinDir + "/make"
852 },
853
854 environment_path: makeBinDir
855 },
856
857 autoconf: {
858 organization: common.organization,
859 ext: "tar.gz",
860 revision: "2.69+1.0.1",
861 module: (input.build_os == "windows"
862 ? "autoconf-" + input.build_osenv_platform
863 : "autoconf-" + input.build_platform),
864 configure_args: "",
865 environment_path: input.get("autoconf", "install_path")
866 },
867
868 freetype: {
869 organization: common.organization,
870 ext: "tar.gz",
871 revision: freetype_version,
872 module: "freetype-" + input.target_platform
873 },
874
875 graphviz: {
876 organization: common.organization,
877 ext: "tar.gz",
878 revision: "2.38.0-1+1.1",
879 module: "graphviz-" + input.target_platform,
880 configure_args: "DOT=" + input.get("graphviz", "install_path") + "/dot",
881 environment_path: input.get("graphviz", "install_path")
882 },
883
884 pandoc: {
885 organization: common.organization,
886 ext: "tar.gz",
887 revision: "1.17.2+1.0",
888 module: "pandoc-" + input.target_platform,
889 configure_args: "PANDOC=" + input.get("pandoc", "install_path") + "/pandoc/pandoc",
890 environment_path: input.get("pandoc", "install_path") + "/pandoc"
891 },
892
893 // This adds java jib as a dependency for the test artifacts resolver
894 jib: {
895 organization: "com.oracle.java.jib",
896 ext: "zip",
897 classifier: "distribution",
898 revision: "3.0-SNAPSHOT",
899 environment_name: "JIB_JAR",
900 environment_value: input.get("jib", "install_path")
901 + "/jib-3.0-SNAPSHOT-distribution/lib/jib-3.0-SNAPSHOT.jar"
902 }
903 };
904
905 // Need to add a value for the Visual Studio tools variable to make
906 // jaot be able to pick up the Visual Studio linker in testing.
907 if (input.target_os == "windows") {
908 dependencies.devkit.environment = {
909 VS120COMNTOOLS: input.get("devkit", "install_path") + "/Common7/Tools"
910 };
911 }
912
|