< prev index next >

make/conf/jib-profiles.js

Print this page


   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 


< prev index next >