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",
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"],
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", "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", "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",
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: "autoconf-" + input.target_platform,
862 configure_args: "",
863 environment_path: input.get("autoconf", "install_path")
864 },
865
866 freetype: {
867 organization: common.organization,
868 ext: "tar.gz",
869 revision: freetype_version,
870 module: "freetype-" + input.target_platform
871 },
872
873 graphviz: {
874 organization: common.organization,
875 ext: "tar.gz",
876 revision: "2.38.0-1+1.1",
877 module: "graphviz-" + input.target_platform,
878 configure_args: "DOT=" + input.get("graphviz", "install_path") + "/dot",
879 environment_path: input.get("graphviz", "install_path")
880 },
881
882 pandoc: {
883 organization: common.organization,
884 ext: "tar.gz",
885 revision: "1.17.2+1.0",
886 module: "pandoc-" + input.target_platform,
887 configure_args: "PANDOC=" + input.get("pandoc", "install_path") + "/pandoc/pandoc",
888 environment_path: input.get("pandoc", "install_path") + "/pandoc"
889 },
890
891 // This adds java jib as a dependency for the test artifacts resolver
892 jib: {
893 organization: "com.oracle.java.jib",
894 ext: "zip",
895 classifier: "distribution",
896 revision: "3.0-SNAPSHOT",
897 environment_name: "JIB_JAR",
898 environment_value: input.get("jib", "install_path")
899 + "/jib-3.0-SNAPSHOT-distribution/lib/jib-3.0-SNAPSHOT.jar"
900 }
901 };
902
903 // Need to add a value for the Visual Studio tools variable to make
904 // jaot be able to pick up the Visual Studio linker in testing.
905 if (input.target_os == "windows") {
906 dependencies.devkit.environment = {
907 VS120COMNTOOLS: input.get("devkit", "install_path") + "/Common7/Tools"
908 };
909 }
910
|