diff --git a/.azure-devops/build/steps/shared/before.yml b/.azure-devops/build/steps/shared/before.yml index d739e7b65..2de0e8381 100644 --- a/.azure-devops/build/steps/shared/before.yml +++ b/.azure-devops/build/steps/shared/before.yml @@ -48,7 +48,7 @@ steps: - checkout: self # set the FILENAME environment varialbe - # based on https://github.com/AdoptOpenJDK/openjdk-build/blob/master/pipelines/build/common/openjdk_build_pipeline.groovy#L374 + # based on https://github.com/adoptium/temurin-build/blob/master/pipelines/build/common/openjdk_build_pipeline.groovy#L374 # TODO: support more options - bash: | # convert JAVA_TO_BUILD to upper case diff --git a/.azure-devops/openjdk-pipelines.yml b/.azure-devops/openjdk-pipelines.yml index 5c51a5f8a..14150e93d 100644 --- a/.azure-devops/openjdk-pipelines.yml +++ b/.azure-devops/openjdk-pipelines.yml @@ -1,4 +1,4 @@ -name: "AdoptOpenJDK-$(JAVA_TO_BUILD)-$(Date:yyyy-MM-dd)" +name: "Adoptium-$(JAVA_TO_BUILD)-$(Date:yyyy-MM-dd)" trigger: none diff --git a/.github/ISSUE_TEMPLATE/build-issue.md b/.github/ISSUE_TEMPLATE/build-issue.md index 00253c373..0ed8812f8 100644 --- a/.github/ISSUE_TEMPLATE/build-issue.md +++ b/.github/ISSUE_TEMPLATE/build-issue.md @@ -1,6 +1,6 @@ --- name: šŸ› Bug Report -about: For problems related to how the adoptopenjdk binaries are created or published +about: For problems related to how the Temurin binaries are created or published --- diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md index f52a5ed8e..bd54024e5 100644 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -1,6 +1,6 @@ --- name: šŸ“š Documentation update -about: Request for updates to the documentation about building AdoptOpenJDK +about: Request for updates to the documentation about building Temurin labels: 'documentation' --- diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index e2f365568..6adc0aff8 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -4,7 +4,7 @@ about: Suggest a new feature for this project labels: 'enhancement' --- -Features that impact the whole project (e.g. Adding a new OpenJDK distribution)are made over at the [TSC](https://github.com/AdoptOpenJDK/TSC/). +Features that impact the whole project (e.g. Adding a new OpenJDK distribution)are made over at the [adoptium](https://github.com/adoptium/adoptium/). Otherwise, please describe what enhancement you would like to see in the build scripts: diff --git a/.github/ISSUE_TEMPLATE/not-sure-where-to-raise-an-issue.md b/.github/ISSUE_TEMPLATE/not-sure-where-to-raise-an-issue.md index 124d14daa..5e8b01937 100644 --- a/.github/ISSUE_TEMPLATE/not-sure-where-to-raise-an-issue.md +++ b/.github/ISSUE_TEMPLATE/not-sure-where-to-raise-an-issue.md @@ -6,8 +6,7 @@ about: No sure where to raise the issue? Unsure where to raise something? Here are some of the common places: - If your issue is due to the way OpenJDK is built, then this is the repository to raise it in - Describe your problem below -- If your issue is related to our installers (as opposed to tgz/zip downloads) raise it in [openjdk-installer](https://github.com/AdoptOpenJDK/openjdk-installer/) -- If your issue is related to and end-user visible issue with the JDK, or an underlying java bug, please raise it in [openjdk-support](https://github.com/AdoptOpenJDK/openjdk-support/issues) -- Otherwise, take a look at our TSC repository directory [here](https://github.com/AdoptOpenJDK/TSC/#dependent-projects). If you're still not sure then join our [slack channel[(http://adoptopenjdk.net/slack) and ask on `#general` +- If your issue is related to our installers (as opposed to tgz/zip downloads) raise it in [installer](https://github.com/adoptium/installer/) +- If your issue is related to and end-user visible issue with the JDK, or an underlying java bug, please raise it in [adoptium-support](https://github.com/adoptium/adoptium-support/issues) **Problem description:** diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5fb92b09f..758cdc737 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: matrix: os: [linux] version: [jdk8u, jdk11u, jdk16u, jdk] - vm: [hotspot, openj9] + vm: [hotspot] image: [adoptopenjdk/centos7_build_image] include: - os: alpine-linux diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21c9d7c2b..e2fbe88ff 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,7 +37,7 @@ Contact the Eclipse Foundation Webdev team via webdev@eclipse-foundation.org. ## Issues and Enhancements -Please let us know via our [issue tracker](https://github.com/AdoptOpenJDK/openjdk-build/issues) if you find a problem, even if you don't have a fix for it. The ideal issue report should be descriptive, and where possible include the steps we can take to reproduce the problem for ourselves. +Please let us know via our [issue tracker](https://github.com/adoptium/temurin-build/issues) if you find a problem, even if you don't have a fix for it. The ideal issue report should be descriptive, and where possible include the steps we can take to reproduce the problem for ourselves. If you have a proposed fix for an issue, or an enhancement you would like to make to the code please describe it in an issue, then send us the code as a [Github pull request](https://help.github.com/articles/about-pull-requests) as described below. @@ -47,7 +47,7 @@ We use GitHub's pull requests (PRs) as the primary way to accept contributions t Consider whether the project documentation or tests also need updating as part of your change, and make that part of the same logical issue and PR. Open your PR against the master branch of the project. -To keep track of [the pull requests we are managing](https://github.com/AdoptOpenJDK/openjdk-build/pulls) we ask that you follow these guidelines for structuring the pull request title and comment. +To keep track of [the pull requests we are managing](https://github.com/adoptium/temurin-build/pulls) we ask that you follow these guidelines for structuring the pull request title and comment. ### Pull request title @@ -61,7 +61,7 @@ Where your PR fixes an issue, it should include a reference to the issue's ident ### Licensing and Developer certificate of origin -When you submit any copyrighted material to the project via a pull request, issue tracker, or any other means, you agree to license the material under [the project's open source license](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/LICENSE), and warrant that you have the legal authority to do so, whether or not you state this explicitly. +When you submit any copyrighted material to the project via a pull request, issue tracker, or any other means, you agree to license the material under [the project's open source license](https://github.com/adoptium/temurin-build/blob/master/LICENSE), and warrant that you have the legal authority to do so, whether or not you state this explicitly. We ask that you include a line similar to the following as part of your pull request comment or individual commit comments: @@ -77,9 +77,9 @@ By adding this simple comment, you are telling the community that you wrote the ### Source file headers -All the project's source files must start with a comment, as near to the top of the file as practical, that includes a reference to [the project license](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/LICENSE). Take a look at some existing files to see how we do that, and if there are any questions just ask. In some cases, such as small, trivial files, or source files generated by tooling we don't reference the license again, but it still applies wherever the file contains copyrightable material. +All the project's source files must start with a comment, as near to the top of the file as practical, that includes a reference to [the project license](https://github.com/adoptium/temurin-build/blob/master/LICENSE). Take a look at some existing files to see how we do that, and if there are any questions just ask. In some cases, such as small, trivial files, or source files generated by tooling we don't reference the license again, but it still applies wherever the file contains copyrightable material. -We don't place explicit copyright statements in the project source files. The project comprises many distinct pieces of code, spread across numerous source files, and authored by a variety of individuals. Managing copyright statements is unproductive and [can lead to confusion and contention around the edge cases](https://opensource.com/law/14/n2/copyright-statements-source-files). Rather we utilize [the NOTICE file](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/NOTICE) mechanism as a way to acknowledge copyright broadly where there is a valid reason to do so. +We don't place explicit copyright statements in the project source files. The project comprises many distinct pieces of code, spread across numerous source files, and authored by a variety of individuals. Managing copyright statements is unproductive and [can lead to confusion and contention around the edge cases](https://opensource.com/law/14/n2/copyright-statements-source-files). Rather we utilize [the NOTICE file](https://github.com/adoptium/temurin-build/blob/master/NOTICE) mechanism as a way to acknowledge copyright broadly where there is a valid reason to do so. Finally, for similar reasons to avoiding individual copyright statements, we don't maintain `@author` tags in source files. There are good arguments to suggest that [author tags discourage open contribution](https://producingoss.com/en/managing-volunteers.html#territoriality), and we depend upon Git to maintain that information for the project. @@ -87,7 +87,7 @@ Finally, for similar reasons to avoiding individual copyright statements, we don If you're changing a shellscript, please make sure you run [shellcheck](https://github.com/koalaman/shellcheck) before submitting your PR. This will also run in a GitHub check titled `Linter` to ensure you comply to our coding style guidelines (alongside a lot of other linters for different formats). -After we receive your pull request our [GitHub Checks](https://github.com/AdoptOpenJDK/openjdk-build/tree/master/.github/workflows) will test your changes. +After we receive your pull request our [GitHub Checks](https://github.com/adoptium/temurin-build/tree/master/.github/workflows) will test your changes. If you're making any changes to our groovy files, you'll be more interested in our [pr-tester](https://ci.adoptopenjdk.net/view/build-tester/job/build-scripts-pr-tester/job/openjdk-build-pr-tester/) jenkins job which executes a set of test pipelines in a semi-live environment. Watch for the results posted as a comment to the PR, investigate and fix any failures. Please see the [Testing.md](Testing.md) for more information on any of this. diff --git a/FAQ.md b/FAQ.md index 480f8daf4..0f868ea9f 100644 --- a/FAQ.md +++ b/FAQ.md @@ -1,25 +1,16 @@ -# openjdk-build FAQ +# temurin-build FAQ This document covers cover how to perform various repeatable tasks in the repository that might not otherwise be obvious from just looking at the repository. -## Access control in this repository +## How do I find my way around Temurin's build automation scripts? -The GitHub teams relevant to this repository are as follows (Note, you -won't necessarily have access to see these links): - -- [GetOpenJDK](https://github.com/orgs/AdoptOpenJDK/teams/getopenjdk) - `Triage` level of access which lets you assign issues to people -- [build](https://github.com/orgs/AdoptOpenJDK/teams/build) - `Write` access which lets you approve and merge PRs and run and configure most Jenkins jobs -- [release](https://github.com/orgs/AdoptOpenJDK/teams/build) - Allows you to run the release jobs in Jenkins - -## How do I find my way around AdoptOpenJDK's build automation scripts? - -I wrote this diagram partially for my own benefit in [issue 957](https://github.com/AdoptOpenJDK/openjdk-build/issues/957) that lists the shell scripts (`S`) and environment scripts (`E`). I think it would be useful to incorporate this into the documentation (potentially annotated with a bit more info) so people can find their way around the myriad of script levels that we now have. +I wrote this diagram partially for my own benefit in [issue 957](https://github.com/adoptium/temurin-build/issues/957) that lists the shell scripts (`S`) and environment scripts (`E`). I think it would be useful to incorporate this into the documentation (potentially annotated with a bit more info) so people can find their way around the myriad of script levels that we now have. Note that the "end-user" scripts start at `makejdk-any-platform.sh` and a -diagram of those relationships can be seen [here](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/docs/images/AdoptOpenJDK_Build_Script_Relationships.png) +diagram of those relationships can be seen [here](https://github.com/adoptium/temurin-build/blob/master/docs/images/AdoptOpenJDK_Build_Script_Relationships.png) -*See the [ci-jenkins-pipelines FAQ.md](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/FAQ.md#how-do-i-find-my-way-around-adoptopenjdks-build-automation-scripts) for the Jenkins side of the pipeline* +*See the [ci-jenkins-pipelines FAQ.md](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/FAQ.md#how-do-i-find-my-way-around-adoptopenjdks-build-automation-scripts) for the Jenkins side of the pipeline* ```markdown G - make-adopt-build-farm.sh @@ -42,7 +33,7 @@ There is also some documentation in [CHANGELOG.md](CHANGELOG.md) ## What are the prerequisites for a system used for builds? - The upstream OpenJDK build requirements are at [Supported Build Platforms](https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) -- The AdoptOpenJDK levels we build on are in [Minimum-OS-levels](https://github.com/AdoptOpenJDK/openjdk-build/wiki/%5BWIP%5D-Minimum-OS-levels) although anything with comparable equivalent or later C libraries should work ok (in particular we have built on most current Linux distros without issues) +- The Temurin levels we build on are in [Minimum-OS-levels](https://github.com/adoptium/temurin-build/wiki/%5BWIP%5D-Minimum-OS-levels) although anything with comparable equivalent or later C libraries should work ok (in particular we have built on most current Linux distros without issues) In terms of compilers, these are what we currently use for each release: @@ -58,7 +49,7 @@ In terms of compilers, these are what we currently use for each release: | JDK11 | macos | clang-700.1.81 | | JDK13+ | macos | clang-900.0.39.2 | -All machines at AdoptOpenJDK are set up using the ansible playbooks from the +All machines at Temurin are set up using the ansible playbooks from the [infrastructure](https://github.com/adoptopenjdk/openjdk-infrastructure) repository. ## How do I change the parameters, such as configure flags, for a Jenkins build @@ -66,22 +57,22 @@ All machines at AdoptOpenJDK are set up using the ansible playbooks from the Where you change them depends on the scope of the parameter or flag: - *If the parameter will affect all users, regardless of environment or OS/Arch* - - [build.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/sbin/build.sh) OR [makejdk-any-platform.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/makejdk-any-platform.sh) depending on how high up in the execution stack it needs to be. - - [Example PR - Adding a new archival feature for OpenJ9 memory dumps](https://github.com/AdoptOpenJDK/openjdk-build/pull/2464) + - [build.sh](https://github.com/adoptium/temurin-build/blob/master/sbin/build.sh) OR [makejdk-any-platform.sh](https://github.com/adoptium/temurin-build/blob/master/makejdk-any-platform.sh) depending on how high up in the execution stack it needs to be. + - [Example PR - Adding a new archival feature for OpenJ9 memory dumps](https://github.com/adoptium/temurin-build/pull/2464) - *If the parameter will affect all machines of a specific OS OR related to the environment set up by [our ansible scripts](https://github.com/AdoptOpenJDK/openjdk-infrastructure) at the shell script level* - - Modify the relevant environment files in [platform-specific-configurations](https://github.com/AdoptOpenJDK/openjdk-build/tree/master/build-farm/platform-specific-configurations) - - [Example PR - Adding a new configure flag for OpenJ9 on all AIX machines](https://github.com/AdoptOpenJDK/openjdk-build/pull/1442/files) + - Modify the relevant environment files in [platform-specific-configurations](https://github.com/adoptium/temurin-build/tree/master/build-farm/platform-specific-configurations) + - [Example PR - Adding a new configure flag for OpenJ9 on all AIX machines](https://github.com/adoptium/temurin-build/pull/1442/files) - *If the parameter will affect only our jenkins environment or jenkins machine environment* - - Modify the [pipeline files](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/tree/master/pipelines/build), although this is normally only done for configuration differences such as OpenJ9 Large Heap builds. See [the configuration file documentation](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines#configuration-files) for more information about adding or altering custom jenkins param. - - [Example PR - Adding Jenkins Support for a Cross Compiled Bisheng Binary](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/pull/68) + - Modify the [pipeline files](https://github.com/adoptium/ci-jenkins-pipelines/tree/master/pipelines/build), although this is normally only done for configuration differences such as OpenJ9 Large Heap builds. See [the configuration file documentation](https://github.com/adoptium/ci-jenkins-pipelines#configuration-files) for more information about adding or altering custom jenkins param. + - [Example PR - Adding Jenkins Support for a Cross Compiled Bisheng Binary](https://github.com/adoptium/ci-jenkins-pipelines/pull/68) ### TL;DR (Quick Reference Table) | Parameter Location | Impact | | --- | --- | -| [build.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/sbin/build.sh) OR [makejdk-any-platform.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/makejdk-any-platform.sh) | Anyone (including end users) who are running [makejdk-any-platform.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/makejdk-any-platform.sh) | -| [platform-specific-configurations](https://github.com/AdoptOpenJDK/openjdk-build/tree/master/build-farm/platform-specific-configurations) scripts | Those using [build-farm/make-adopt-build-farm.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/build-farm/make-adopt-build-farm.sh) (inc. our pipelines) - should be stuff specific to our machines | -| Jenkins resources in [ci-jenkins-pipelines](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines) | Only when run through our jenkins pipelines. See the [configuration file documentation](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines#configuration-files) for more information | +| [build.sh](https://github.com/adoptium/temurin-build/blob/master/sbin/build.sh) OR [makejdk-any-platform.sh](https://github.com/adoptium/temurin-build/blob/master/makejdk-any-platform.sh) | Anyone (including end users) who are running [makejdk-any-platform.sh](https://github.com/adoptium/temurin-build/blob/master/makejdk-any-platform.sh) | +| [platform-specific-configurations](https://github.com/adoptium/temurin-build/tree/master/build-farm/platform-specific-configurations) scripts | Those using [build-farm/make-adopt-build-farm.sh](https://github.com/adoptium/temurin-build/blob/master/build-farm/make-adopt-build-farm.sh) (inc. our pipelines) - should be stuff specific to our machines | +| Jenkins resources in [ci-jenkins-pipelines](https://github.com/adoptium/ci-jenkins-pipelines) | Only when run through our jenkins pipelines. See the [configuration file documentation](https://github.com/adoptium/ci-jenkins-pipelines#configuration-files) for more information | ## How to do a new release build @@ -97,9 +88,9 @@ For more information, see the [PR testing documentation](Testing.md). ## Which OS levels do we build on? The operating systems/distributions which we build or are documented in the -[openjdk-build wiki](https://github.com/AdoptOpenJDK/openjdk-build/wiki/%5BWIP%5D-Minimum-OS-levels). +[temurin-build wiki](https://github.com/adoptium/temurin-build/wiki/%5BWIP%5D-Minimum-OS-levels). Runtime platforms are in our [supported platforms page](https://adoptium.net/supported_platforms.html). ## How to add a new build pipeline param and associated job configuration? -[This PR](https://github.com/AdoptOpenJDK/openjdk-build/pull/2416) demonstrates changes required to add a new build pipeline param and the associated version/platform job configurations for setting the value when needed (note, the `pipelines/` dir has since been moved to our [jenkins repository](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines)). +[This PR](https://github.com/adoptium/temurin-build/pull/2416) demonstrates changes required to add a new build pipeline param and the associated version/platform job configurations for setting the value when needed (note, the `pipelines/` dir has since been moved to our [jenkins repository](https://github.com/adoptium/ci-jenkins-pipelines)). diff --git a/README.md b/README.md index 08dceb773..7aca31ded 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Repository for code and instructions for building OpenJDK +# Repository for code and instructions for building Temurin [![Slack](https://slackin-jmnmplfpdu.now.sh/badge.svg)](https://slackin-jmnmplfpdu.now.sh/) -AdoptOpenJDK makes use of these scripts to build binaries on the build farm at +Temurin makes use of these scripts to build binaries on the build farm at , which produces OpenJDK binaries for consumption via - and . + and . ## TL;DR: I want to build a JDK NOW! @@ -13,10 +13,10 @@ AdoptOpenJDK makes use of these scripts to build binaries on the build farm at To do this you will need to have your machine set up with a suitable compiler and various other tools available. We set up our machines using ansible playbooks from the [openjdk-infrastructure](https://github.com/adoptopenjdk/openjdk-infrastructure) repository. -You can also look at the [dockerfile generator](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/docker/dockerfile-generator.sh) for a list of required packages for Ubuntu. +You can also look at the [dockerfile generator](https://github.com/adoptium/temurin-build/blob/master/docker/dockerfile-generator.sh) for a list of required packages for Ubuntu. Once you've got all of the prerequisites installed, clone this openjdk-build -repository (`git clone https://github.com/AdoptOpenJDK/openjdk-build` and +repository (`git clone https://github.com/adoptium/temurin-build` and kick off a build a follows with this script. The `-J` parameter specifies the "boot JDK" which should generally be one major version prior to the one you are building (although one of the same major version will also work). @@ -58,10 +58,9 @@ personally or at build farm scale. build jobs used for building Adopt OpenJDK binaries. 1. The `docker` folder contains tools for generating dockerfiles which can be used as part of building OpenJDK inside a Docker container. -1. The `git-hg` folder has now been moved to it's own seperate repository. See [openjdk-mirror-scripts](https://github.com/AdoptOpenJDK/openjdk-mirror-scripts). -1. The `mercurial-tags/java-tool` folder contains scripts for TODO. -1. The `pipelines` folder has now been moved to a seperate repo: . -1. The `sbin` folder contains the scripts that actually build (AdoptOpenJDK). +1. The `git-hg` folder has now been moved to it's own seperate repository. See [openjdk-mirror-scripts](https://github.com/adoptium/mirror-scripts). +1. The `pipelines` folder has now been moved to a seperate repo: . +1. The `sbin` folder contains the scripts that actually build (Temurin). `build.sh` is the entry point which can be used stand alone but is typically called by the `native-build.sh` or `docker-build.sh` scripts (which themselves are typically called by `makejdk-any-platform.sh`). @@ -91,25 +90,20 @@ USAGE ./makejdk-any-platform [options] version -Please visit https://www.adoptopenjdk.net for further support. +Please visit https://www.adoptium.net for further support. VERSIONS -jdk8u - Build Java 8, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk8u -jdk9u - Build Java 9, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk9u -jdk10u - Build Java 10, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk10u -jdk11u - Build Java 11, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk11u -jdk12u - Build Java 12, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk12u -jdk13u - Build Java 13, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk13u -jdk - Build Latest Java (Alpha/Beta), defaults to https://github.com/AdoptOpenJDK/openjdk-jdk -jfx - Build OpenJFX, defaults to https://github.com/AdoptOpenJDK/openjdk-jfx -amber - Build Project Amber, defaults to https://github.com/AdoptOpenJDK/openjdk-amber +jdk8u - Build Java 8, defaults to https://github.com/adoptium/jdk8u +jdk11u - Build Java 11, defaults to https://github.com/adoptium/jdk11u +jdk16u - Build Java 16, defaults to https://github.com/adoptium/jdk16u +jdk - Build Latest Java (Alpha/Beta), defaults to https://github.com/adoptium/jdk OPTIONS -b, --branch specify a custom branch to build from, e.g. dev. -For reference, AdoptOpenJDK GitHub source repos default to the dev +For reference, Adoptium GitHub source repos default to the dev branch which may contain a very small diff set to the master branch (which is a clone from the OpenJDK mercurial forest). @@ -264,18 +258,18 @@ platform and and optional arguments provided 1. Invoke OpenJDK build via `make` 1. Package up built artifacts -- Configuration phase is primarily performed by [configureBuild.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/configureBuild.sh) and [makejdk-any-platform.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/makejdk-any-platform.sh). -- If a docker container is required it is built by [docker-build.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/docker-build.sh) otherwise [native-build.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/native-build.sh). -- In the build phase [sbin/build.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/sbin/build.sh) is invoked either natively or inside the docker container. -`sbin/build.sh` invokes [sbin/prepareWorkspace.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/sbin/prepareWorkspace.sh) to download dependencies, source and perform +- Configuration phase is primarily performed by [configureBuild.sh](https://github.com/adoptium/temurin-build/blob/master/configureBuild.sh) and [makejdk-any-platform.sh](https://github.com/adoptium/temurin-build/blob/master/makejdk-any-platform.sh). +- If a docker container is required it is built by [docker-build.sh](https://github.com/adoptium/temurin-build/blob/master/docker-build.sh) otherwise [native-build.sh](https://github.com/adoptium/temurin-build/blob/master/native-build.sh). +- In the build phase [sbin/build.sh](https://github.com/adoptium/temurin-build/blob/master/sbin/build.sh) is invoked either natively or inside the docker container. +`sbin/build.sh` invokes [sbin/prepareWorkspace.sh](https://github.com/adoptium/temurin-build/blob/master/sbin/prepareWorkspace.sh) to download dependencies, source and perform general preparation. - Rest of the build and packaging is then handled from `sbin/build.sh` ## Building OpenJDK from other locations -### Building OpenJDK from a non-AdoptOpenJDK repository +### Building OpenJDK from a non-Adoptium repository -These scripts default to using AdoptOpenJDK as the OpenJDK source repo to build +These scripts default to using Adoptium as the OpenJDK source repo to build from, but you can override this with the `-r` flag. If you want to run from a non-default branch you can also specify -b e.g. @@ -291,7 +285,7 @@ Example Usage ./makejdk-any-platform.sh -J /usr/lib/jvm/jdk-10.0.2 -s $HOME/openjdk-jdk11u/src -d $HOME/openjdk-jdk11u/build -T MyOpenJDK11.tar.gz jdk11u ``` -This would clone OpenJDK source from +This would clone OpenJDK source from to `$HOME/openjdk-jdk11u/src`, configure the build with sensible defaults according to your local platform and then build OpenJDK and place the result in `/home/openjdk/target/MyOpenJDK11.tar.gz`. @@ -302,7 +296,7 @@ Alongside the built assets a metadata file will be created with info about the b ```json { - "vendor": "AdoptOpenJDK", + "vendor": "Eclipse Foundation", "os": "mac", "arch": "x64", "variant": "openj9", @@ -333,7 +327,7 @@ Alongside the built assets a metadata file will be created with info about the b } ``` -The Metadata class is contained in the [Metadata.groovy](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/pipelines/library/src/common/MetaData.groovy) file and the Json is constructed and written in the [openjdk_build_pipeline.groovy](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/pipelines/build/common/openjdk_build_pipeline.groovy) file. +The Metadata class is contained in the [Metadata.groovy](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/library/src/common/MetaData.groovy) file and the Json is constructed and written in the [openjdk_build_pipeline.groovy](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/build/common/openjdk_build_pipeline.groovy) file. It is worth noting the additional tags on the semver is the adopt build number. @@ -342,9 +336,9 @@ Below are all of the keys contained in the metadata file and some example values ---- - `vendor:` -Example values: [`AdoptOpenJDK`, `Alibaba`] +Example values: [`Eclipse Foundation`, `Alibaba`] -This tag is used to identify the vendor of the JDK being built, this value is set in the [build.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/805e76acbb8a994abc1fb4b7d582486d48117ee8/sbin/build.sh#L183) file and defaults to "AdoptOpenJDK". +This tag is used to identify the vendor of the JDK being built, this value is set in the [build.sh](https://github.com/adoptium/temurin-build/blob/805e76acbb8a994abc1fb4b7d582486d48117ee8/sbin/build.sh#L183) file and defaults to "Adoptium". ---- @@ -390,7 +384,7 @@ Example values: [`m1`, `m2`] - `version:` -This tag contains the full version information of the JDK built, it uses the [VersionInfo.groovy](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/pipelines/library/src/common/VersionInfo.groovy) class and the [ParseVersion.groovy](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/pipelines/library/src/ParseVersion.groovy) class. +This tag contains the full version information of the JDK built, it uses the [VersionInfo.groovy](https://github.com/adoptium/temurin-build/blob/master/pipelines/library/src/common/VersionInfo.groovy) class and the [ParseVersion.groovy](https://github.com/adoptium/temurin-build/blob/master/pipelines/library/src/ParseVersion.groovy) class. It contains the following keys: @@ -415,7 +409,7 @@ Example values: [`1.8.0_272-202010111709-b09`, `11.0.9+10-202010122348`, `14.0.2 - `semver:` Example values: [`8.0.202+8.0.202008210941`, `11.0.9+10.0.202010122348`, `14.0.2+11.0.202007272039`, `16.0.0+19.0.202010120339`] -Formed from the major, minor, security, and build number by the [formSemver()](https://github.com/AdoptOpenJDK/openjdk-build/blob/805e76acbb8a994abc1fb4b7d582486d48117ee8/pipelines/library/src/common/VersionInfo.groovy#L123) function. +Formed from the major, minor, security, and build number by the [formSemver()](https://github.com/adoptium/temurin-build/blob/805e76acbb8a994abc1fb4b7d582486d48117ee8/pipelines/library/src/common/VersionInfo.groovy#L123) function. - `build:` Example values: [`6`, `9`, `18`] @@ -429,7 +423,7 @@ Example values: [`202008210941`, `202010120348`, `202007272039`] - `scmRef:` Example values: [`dragonwell-8.4.4_jdk8u262-b10`, `jdk-16+19_adopt-61198-g59e3baa94ac`, `jdk-11.0.9+10_adopt-197-g11f44f68c5`, `23f997ca1`] -A reference the the base JDK repository being build, usually including a Github commit reference, i.e. `jdk-16+19_adopt-61198-g59e3baa94ac` links to `https://github.com/AdoptOpenJDK/openjdk-jdk/commit/59e3baa94ac` via the commit SHA **59e3baa94ac**. +A reference the the base JDK repository being build, usually including a Github commit reference, i.e. `jdk-16+19_adopt-61198-g59e3baa94ac` links to `https://github.com/adoptium/openjdk-jdk/commit/59e3baa94ac` via the commit SHA **59e3baa94ac**. Values that only contain a commit reference such as `23f997ca1` are OpenJ9 commits on their respective JDK repositories, for example **23f997ca1** links to the commit `https://github.com/ibmruntimes/openj9-openjdk-jdk14/commit/23f997ca1.` diff --git a/RELEASING.md b/RELEASING.md index c6979e452..7589f40bc 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,4 +1,4 @@ -# AdoptOpenJDK Release Guide +# Temurin Release Guide Don't be scared off by this document! If you already understand the stuff inĀ the glossary section and are only working on a HotSpot release, then skip to [Steps for every version](#steps-for-every-version) later on. @@ -27,7 +27,7 @@ Don't be scared off by this document! If you already understand the stuff inĀ th - The OpenJ9 releases are based on three codebases - https://github.com/eclipse/openj9-omr (a platform abstraction layer which OpenJ9 builds use, based on https://github.com/eclipse/omr) - https://github.com/eclipse/openj9 (The JVM code) - - The "extensions" repository for each release (see the next section of the glossary for more details) which contains a modified version of the OpenJDK codebase (OpenJDK updates are merged by the IBM team who owns the extensions repository, not the AdoptOpenJDK project) + - The "extensions" repository for each release (see the next section of the glossary for more details) which contains a modified version of the OpenJDK codebase (OpenJDK updates are merged by the IBM team who owns the extensions repository, not the Adoptium project) - Unlike the HotSpot versions, the Eclipse OpenJ9 and OMR projects do not have separate versions for each major OpenJDK release, but the extensions repository does (conditional compilation is used in OpenJ9 for any release differences). Each new OpenJ9 version goes into every JDK release. - In the run up to a new JDK release or quarterly update the OpenJ9 and OMR `master` is branched to create a release branch named according to the OpenJ9 version for that release, e.g. `v0.17.0-release`. In general each quarterly update will have a new OpenJ9 version included. - Before a new release there will typically be two milestone builds which get their own Git tag from a commit in that branch e.g. `openj9-0.17.0-m1` @@ -55,8 +55,8 @@ Don't be scared off by this document! If you already understand the stuff inĀ th ## Extra OpenJ9 prerequisite steps (skip for a HotSpot release) 1. The extensions release branch (e.g. `openj9-0.17.0`) will exist from doing the milestone builds (OpenJ9 milestone process is covered in a later section). -2. Ask the extensions team to run their release-specific merge jobs to ensure they are up to date - this is not done by jobs at AdoptOpenJDK. -3. Having merged to `openj9-staging` successfully then a job hosted by the extensions team (not at AdoptOpenJDK) will have automatically been triggered, which will perform "sanity" testing on all platforms for the new `openj9-staging` branch and, if successful, testing will automatically promote the code to the "openj9" branch, acceptance jobs: https://ci.eclipse.org/openj9/ +2. Ask the extensions team to run their release-specific merge jobs to ensure they are up to date - this is not done by jobs at Adoptium. +3. Having merged to `openj9-staging` successfully then a job hosted by the extensions team (not at Adoptium) will have automatically been triggered, which will perform "sanity" testing on all platforms for the new `openj9-staging` branch and, if successful, testing will automatically promote the code to the "openj9" branch, acceptance jobs: https://ci.eclipse.org/openj9/ 4. OpenJ9 leads (currently [Peter Shipton](https://github.com/pshipton) and [Dan Heidinga](https://github.com/danheidinga)) will now verify the Eclipse OpenJ9 and OMR release branch against the newly merged OpenJDK GA level in `openj9-staging`. If they are happy they will tag their release branches with the release tag, eg. `openj9-0.17.0`, you are then ready to build the release. 5. Get someone in the extensions team to make the following changes in the extensions release branch corresponding to the OpenJ9 version for the release: - Merge into the OpenJ9 extensions release branch (e.g. `openj9-0.17.0`) the latest tag merged from OpenJDK (automated jobs merge the tag into `openj9-staging`, but not the release branch so this has to be done manually). eg.: @@ -94,7 +94,7 @@ Don't be scared off by this document! If you already understand the stuff inĀ th # J9JDK_EXT_VERSIONĀ Ā Ā Ā Ā Ā  := HEADĀ Ā  <==Ā  !!! Comment out this line ``` -6. Get permission to submit the release pipeline job from the AdoptOpenJDK TSC members, discussion is via the AdoptOpenJDK #release channel (https://adoptopenjdk.slack.com/messages/CLCFNV2JG). +6. Get permission to submit the release pipeline job from the Adoptium PMC members, discussion is via the Adoptium #release channel (https://adoptium.slack.com/messages/CLCFNV2JG). ## Lockdown period @@ -113,9 +113,9 @@ lockdown period. Here are the steps: -1. Disabling nightly testing so the release builds aren't delayed by any nightly test runs (`enableTests : false` in [defaults.json](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/pipelines/defaults.json)) -2. If desired, add a banner to the website to indicate that the releases are coming in the near future ([Sample PR](https://github.com/AdoptOpenJDK/openjdk-website/pull/702/files)) -3. Build and Test the OpenJDK for "release" at AdoptOpenJDK using a build pipeline job as follows: +1. Disabling nightly testing so the release builds aren't delayed by any nightly test runs (`enableTests : false` in [defaults.json](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/defaults.json)) +2. If desired, add a banner to the website to indicate that the releases are coming in the near future ([Sample PR](https://github.com/adoptium/adoptium.net/pull/702/files)) +3. Build and Test the OpenJDK for "release" at Adoptium using a build pipeline job as follows: - Job: https://ci.adoptopenjdk.net/job/build-scripts/job/openjdk8-pipeline/build (Switch `openjdk8` for your version number) - `targetConfigurations`: remove all the entries for the variants you don't want to build (e.g. remove the openj9 ones for hotspot releases) or any platforms you don't want to release (Currently that would include OpenJ9 aarch64) - `releaseType: Release` @@ -135,24 +135,24 @@ Here are the steps: - Find the milestone build row, and click the "Grid" link - Check all tests are "Green", and if not "hover" over the icon and follow the Jenkins link to triage the errors... - Raise issues either at: - - [openjdk-build](https://github.com/adoptopenjdk/openjdk-build) or [openjdk-tests](https://github.com/AdoptOpenJDK/openjdk-tests) (for Adopt build or test issues) - - [ci-jenkins-pipelines](https://github.com/adoptopenjdk/ci-jenkins-pipelines) (for jenkins pipelines specific issues) + - [temurin-build](https://github.com/adoptium/temurin-build) or [openjdk-tests](https://github.com/AdoptOpenJDK/openjdk-tests) (for Adopt build or test issues) + - [ci-jenkins-pipelines](https://github.com/adoptium/ci-jenkins-pipelines) (for jenkins pipelines specific issues) - [eclipse/openj9](https://github.com/eclipse/openj9) (for OpenJ9 issues) 5. Discuss failing tests with [Shelley Lambert](https://github.com/smlambert) -6. If "good to publish", then get permission to publish the release from the Adopt TSC members, discussion is via the AdoptOpenJDK [#release](https://adoptopenjdk.slack.com/messages/CLCFNV2JG) Slack channel and create a Promotion TSC item [here](https://github.com/AdoptOpenJDK/TSC/issues/new?assignees=&labels=&template=promote-release.md&title=Promote+AdoptOpenJDK+Version+%3Cx%3E). -7. Once permission has been obtained, run the [Adopt "Publish" job](https://ci.adoptopenjdk.net/job/build-scripts/job/release/job/refactor_openjdk_release_tool/) (restricted access - if you can't see this link, you don't have access) +6. If "good to publish", then get permission to publish the release from the Adoptium PMC members, discussion is via the Adoptium [#release](https://adoptium.slack.com/messages/CLCFNV2JG) Slack channel and create a Promotion TSC item [here](https://github.com/AdoptOpenJDK/TSC/issues/new?assignees=&labels=&template=promote-release.md&title=Promote+AdoptOpenJDK+Version+%3Cx%3E). +7. Once permission has been obtained, run the [Adoptium "Publish" job](https://ci.adoptopenjdk.net/job/build-scripts/job/release/job/refactor_openjdk_release_tool/) (restricted access - if you can't see this link, you don't have access) - `TAG`: (github binaries published name)Ā  e.g. `jdk-11.0.5+9` or `jdk-11.0.5+9_openj9-0.nn.0` for OpenJ9 releases. If doing a point release, add that into the name e.g. for a `.3` release use something like these (NOTE that for OpenJ9 the point number goes before the openj9 version): `jdk8u232-b09.3` or `jdk-11.0.4+11.3_openj9-0.15.1` - `VERSION`: (select version) - `UPSTREAM_JOB_NAME`: (build-scripts/openjdkNN-pipeline) - `UPSTREAM_JOB_NUMBER`: (the job number of the build pipeline under build-scripts/openjdkNN-pipeline) eg.86 - `RELEASE`: "ticked" - SUBMIT!! -8. Once the job completes successfully, check the binaries have uploaded to github at somewhere like https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/jdk8u232-b09 +8. Once the job completes successfully, check the binaries have uploaded to github at somewhere like https://github.com/adoptium/termurin8-binaries/releases/jdk8u232-b09 9. Within 15 minutes the binaries should be available on the website too at e.g. https://adoptium.net/?variant=openjdk11&jvmVariant=hotspot -10. Since you have 15 minutes free, use that time to update https://github.com/AdoptOpenJDK/openjdk-website/blob/master/src/handlebars/support.handlebars which is the source of https://adoptium.net/support.html and (if required) the supported platforms table at https://github.com/AdoptOpenJDK/openjdk-website/blob/master/src/handlebars/supported_platforms.handlebars which is the source of https://adoptium.net/supported_platforms.html, and also update https://adoptium.net/release_notes.html ([Sample change](https://github.com/AdoptOpenJDK/openjdk-website/pull/675/commits/563d8e2f0d9d26500a7e8d9eca61b491f73f1f37) +10. Since you have 15 minutes free, use that time to update https://github.com/adoptium/adoptium.net/blob/master/src/handlebars/support.handlebars which is the source of https://adoptium.net/support.html and (if required) the supported platforms table at https://github.com/adoptium/adoptium.net/blob/master/src/handlebars/supported_platforms.handlebars which is the source of https://adoptium.net/supported_platforms.html, and also update https://adoptium.net/release_notes.html ([Sample change](https://github.com/adoptium/adoptium.net/pull/675/commits/563d8e2f0d9d26500a7e8d9eca61b491f73f1f37) 11. [Mac only] Once the binaries are available on the website you need to run the [homebrew cask updater](https://github.com/AdoptOpenJDK/homebrew-openjdk/wiki/Running-the-cask-updater) which will create a pull request [here](https://github.com/AdoptOpenJDK/homebrew-openjdk/pulls). Normally George approves these but in principle as long as the CI passes, they should be good to approve. You don't need to wait around and merge the PR's because the Mergify bot will automatically do this for you as long as somebody has approved it. -12. Publicise the Adopt JDK release via slack on AdoptOpenJDK #release -13. If desired, find someone with the appropriate authority (George, Martijn, Shelley, Stewart) to post a tweet about the new release from the AdoptOpenJDK twitter account +12. Publicise the Temurin release via slack on Adoptium #release +13. If desired, find someone with the appropriate authority (George, Martijn, Shelley, Stewart) to post a tweet about the new release from the Adoptium twitter account 14. If all releases are complete, re-enable the full nightly runs ## [OpenJ9 Only] Milestone Process @@ -186,7 +186,7 @@ The following examples all use `-m1` as an example - this gets replaced with a l JDK_FIX_VERSION=0 ``` -5. Build and Test the OpenJDK for OpenJ9 "release" at AdoptOpenJDK using a "Weekly" releaseType so it runs the extended tests. Submit the Build pipeline job as follows https://ci.adoptopenjdk.net/job/build-scripts/job/openjdkNN-pipeline/build?delay=0sec +5. Build and Test the OpenJDK for OpenJ9 "release" at Adoptium using a "Weekly" releaseType so it runs the extended tests. Submit the Build pipeline job as follows https://ci.adoptopenjdk.net/job/build-scripts/job/openjdkNN-pipeline/build?delay=0sec - `targetConfigurations`: remove all "hotspot" entries - `releaseType`: `Weekly` - `overridePublishName`: github binaries publish name, e.g. `jdk8u232-b09_openj9-0.17.0-m1` or `jdk-11.0.5+10_openj9-0.17.0-m1` @@ -204,15 +204,15 @@ The following examples all use `-m1` as an example - this gets replaced with a l - 3 months prior to the GA date, the `head` stream is branched into a new release stream for development rampdown e.g. https://hg.openjdk.java.net/jdk/jdk14 - Regular builds are tagged every week or so in a format such as `jdk-13+21` - Eventually after rampdown and final phase testing the GA build is tagged and released, e.g. the `jdk-13-ga` code level is tagged along side the actual release build tag. -- When a new release occurs, we must also update one of our job generators to match the new jdk versions and remove old STR that are no longer needed. The full details on what these are in the [regeneration README.md](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/pipelines/build/regeneration/README.md) but for a quick run down on how to update them when we want to build a new release, follow the steps below: +- When a new release occurs, we must also update one of our job generators to match the new jdk versions and remove old STR that are no longer needed. The full details on what these are in the [regeneration README.md](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/build/regeneration/README.md) but for a quick run down on how to update them when we want to build a new release, follow the steps below: 1. Update the Job Folder - https://ci.adoptopenjdk.net/job/build-scripts/job/utils/: The jobs themselves you are looking for are called `pipeline_jobs_generator_jdkxx` (`pipeline_jobs_generator_jdk` for HEAD). Firstly, ensure that the job description of each generator (and it's parameter's descriptions) are up to date. Then, follow these steps: - If you are ADDING a JDK version: - Ensure that JDK N-1 is available as build JDK on the builders. For example in order to build JDK 15, JDK 14 needs to be installed on the build machines. As a temporary measure, [code](./build-farm/platform-specific-configurations/linux.sh#L110) so as to download the JDK to the builder via the API has been added. NOTE: For the transition period shortly after a new JDK has been branched, there might not yet exist a generally available release of JDK N-1. - Ensure that JDK sources are being mirrored. Example [infrastructure request](https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1096) - - Ensure that a repository which contains the binary releases exists. Example [openjdk15-binaries](https://github.com/AdoptOpenJDK/openjdk15-binaries) - - Add build scripts for the new JDK release. Example for [JDK 14](https://github.com/AdoptOpenJDK/openjdk-build/commit/808b08fe2aefc005cf53f6cc1deb28a9b323ff) + - Ensure that a repository which contains the binary releases exists. Example [temurin15-binaries](https://github.com/adoptium/temurin15-binaries) + - Add build scripts for the new JDK release. Example for [JDK 14](https://github.com/adoptium/temurin-build/commit/808b08fe2aefc005cf53f6cc1deb28a9b323ff) - Regenerate build jobs: - Create a New Item in the folder linked above that copies the `pipeline_jobs_generator_jdk` job. Call it `pipeline_jobs_generator_jdk`. - Change the `Script Path` setting of the new job to `pipelines/build/regeneration/jdk_regeneration_pipeline.groovy`. Don't worry if this currently doesn't exist in this repo, you'll add it in step 3. @@ -220,12 +220,12 @@ The following examples all use `-m1` as an example - this gets replaced with a l - If you are REMOVING a JDK version: - Delete the job `pipeline_jobs_generator_jdk` - 1. Create the new build configurations for the release - https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations: + 1. Create the new build configurations for the release - https://github.com/adoptium/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations: - Create a new `jdk_pipeline_config.groovy` file with the desired `buildConfigurations` for the new pipeline. 99% of the time, copy and pasting the configs from the previous version is acceptable. Ensure that the classname and instance of it is changed to `Config`. Don't remove any old version configs. - - Furthermore, you will also need to create another config file to state what jobs will be run with any new versions. If it doesn't currently exist, add a `jdkxx.groovy` file to [configurations/](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations). [Example on how to do this](https://github.com/AdoptOpenJDK/openjdk-build/pull/1815/files). Note, some files will need to be named `jdkxxu.groovy` depending on whether the version is maintained in an update repo or not. These will be the ONLY os/archs/variants that are regenerated using the job regenerators as described in the [regeneration readme](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/pipelines/build/regeneration/README.md). + - Furthermore, you will also need to create another config file to state what jobs will be run with any new versions. If it doesn't currently exist, add a `jdkxx.groovy` file to [configurations/](https://github.com/adoptium/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations). [Example on how to do this](https://github.com/adoptium/temurin-build/pull/1815/files). Note, some files will need to be named `jdkxxu.groovy` depending on whether the version is maintained in an update repo or not. These will be the ONLY os/archs/variants that are regenerated using the job regenerators as described in the [regeneration readme](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/build/regeneration/README.md). - 1. Create a new Regeneration Pipeline for the downstream jobs - https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/pipelines/build/regeneration: + 1. Create a new Regeneration Pipeline for the downstream jobs - https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/build/regeneration: Create a new `jdk_regeneration_pipeline.groovy`. Ensure that the `javaVersion`, `targetConfigurations` and `buildConfigurations` variables are what they should be for the new version. Don't remove any old version configs. While you're here, make sure all of the current releases have a `regeneration_pipeline.groovy` file (including head). If they don't, create one using the same technique as above. @@ -239,30 +239,30 @@ At some point in a java version's lifecycle, the JDK version will be maintained - [jdk-dev](https://mail.openjdk.java.net/mailman/listinfo/jdk-dev) - [jdk-updates-dev](https://mail.openjdk.java.net/mailman/listinfo/jdk-updates-dev) -When this occurs, usually a TSC member will create the `jdku` update repo ([example of the JDK11u one](https://github.com/AdoptOpenJDK/openjdk-jdk11u)) via our Skara mirroring jobs that pull in the commit and tag info from the Mercurial repository. To find out more about Skara and our other mirroring jobs, see https://github.com/AdoptOpenJDK/openjdk-mirror-scripts. +When this occurs, usually a TSC member will create the `jdku` update repo ([example of the JDK11u one](https://github.com/adopium/openjdk-jdk11u)) via our Skara mirroring jobs that pull in the commit and tag info from the Mercurial repository. To find out more about Skara and our other mirroring jobs, see https://github.com/adoptium/mirror-scripts. -*New Adopt mirror repo creation, by an AdoptOpenJDK github Admin:* +*New Adopt mirror repo creation, by an Adoptium github Admin:* -1. Create a new empty repo AdoptOpenJDK/openjdk-jdkNNu +1. Create a new empty repo adoptium/openjdk-jdkNNu 2. Rename mirror job from https://ci.adoptopenjdk.net/view/git-mirrors/job/git-mirrors/job/git-skara-jdkNN to https://ci.adoptopenjdk.net/view/git-mirrors/job/git-mirrors/job/git-skara-jdkNNu 3. Update mirror job "Execute shell" to pass jdkNNu as parameter to bash ./skaraMirror.sh jdkNNu 4. Run the renamed job twice, first one will fail due to empty repo, 2nd run should succeed. -5. Add the AdoptOpenJDK.md "marker" text file to both branches "dev" and "release". +5. Add the Adoptium.md "marker" text file to both branches "dev" and "release". When the repo has been created, a few changes to the codebase will be necessary where the code references a jdk version but not it's new update version. I.e. `jdk11` became `jdk11u` when it was moved to an update repository. *If a product is to be moved to an update repo, follow these steps in chronological order to ensure our builds continue to function:* -1. ci-jenkins-pipelines: Update the [configurations](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations) -Rename the nightly build targets file (it will be named `jdkxx.groovy`, [example here](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/pipelines/jobs/configurations/jdk15u.groovy)) to be `jdkxxu.groovy`. Do the same for the pipeline config file (named `jdkxx_pipeline_config.groovy`, [example here](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/pipelines/jobs/configurations/jdk15u_pipeline_config.groovy)). +1. ci-jenkins-pipelines: Update the [configurations](https://github.com/adoptium/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations) +Rename the nightly build targets file (it will be named `jdkxx.groovy`, [example here](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/jobs/configurations/jdk15u.groovy)) to be `jdkxxu.groovy`. Do the same for the pipeline config file (named `jdkxx_pipeline_config.groovy`, [example here](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/pipelines/jobs/configurations/jdk15u_pipeline_config.groovy)). -2. ci-jenkins-pipelines: Update version from `jdkxx` to `jdkxxu` inside [docs/generateBuildMatrix.sh](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/docs/generateBuildMatrix.sh) +2. ci-jenkins-pipelines: Update version from `jdkxx` to `jdkxxu` inside [docs/generateBuildMatrix.sh](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/docs/generateBuildMatrix.sh) -3. ci-jenkins-pipelines: Run on "linux" platform your updated docs/generateBuildMatrix.sh script to generate the updated README.md table to be updated at the end of [README.md](https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/blob/master/README.md#build-status) +3. ci-jenkins-pipelines: Run on "linux" platform your updated docs/generateBuildMatrix.sh script to generate the updated README.md table to be updated at the end of [README.md](https://github.com/adoptium/ci-jenkins-pipelines/blob/master/README.md#build-status) -4. openjdk-build: Update the `JDKXX_VERSION` from `jdkxx` to `jdkxxu` inside the [build script constants](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/sbin/common/constants.sh) that is being shifted to an update repository. +4. openjdk-build: Update the `JDKXX_VERSION` from `jdkxx` to `jdkxxu` inside the [build script constants](https://github.com/adoptium/temurin-build/blob/master/sbin/common/constants.sh) that is being shifted to an update repository. -5. openjdk-build: Update the version from `jdkxx` to `jdkxxu` inside [.github/workflows/build.yml](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/.github/workflows/build.yml) +5. openjdk-build: Update the version from `jdkxx` to `jdkxxu` inside [.github/workflows/build.yml](https://github.com/adoptium/temurin-build/blob/master/.github/workflows/build.yml) 6. Merge both ci-jenkins-pipelines and openjdk-build Pull Requests. @@ -280,10 +280,10 @@ Rename the nightly build targets file (it will be named `jdkxx.groovy`, [example Once all the release binaries have been published the following tasks should be completed: -1. Reset the "weekly_release_scmReferences" (change to "") for the weekend release test build so it is using HEAD streams: https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations -2. Re-enable "Tests" for Nightly pipelines, eg.https://github.com/AdoptOpenJDK/openjdk-build/pull/2401/files . After merging, check the build-pipeline-generator runs successfully: https://ci.adoptopenjdk.net/job/build-scripts/job/utils/job/build-pipeline-generator . It's possible the script change may require "Script Approval" by a Jenkins Administrator (https://ci.adoptopenjdk.net/scriptApproval/). +1. Reset the "weekly_release_scmReferences" (change to "") for the weekend release test build so it is using HEAD streams: https://github.com/adoptium/ci-jenkins-pipelines/tree/master/pipelines/jobs/configurations +2. Re-enable "Tests" for Nightly pipelines, eg.https://github.com/adoptium/temurin-build/pull/2401/files . After merging, check the build-pipeline-generator runs successfully: https://ci.adoptopenjdk.net/job/build-scripts/job/utils/job/build-pipeline-generator . It's possible the script change may require "Script Approval" by a Jenkins Administrator (https://ci.adoptopenjdk.net/scriptApproval/). 3. If the latest version just released has come to the end of its non-LTS lifecycle (2 CPU updates, eg.jdk-15.0.2), then disable and retire that version form the Nightly pipeline builds: - - eg.https://github.com/AdoptOpenJDK/openjdk-build/pull/2403/files + - eg.https://github.com/adoptium/temurin-build/pull/2403/files ## Summary on point releases diff --git a/Testing.md b/Testing.md index 7b3b6796c..c23db3631 100644 --- a/Testing.md +++ b/Testing.md @@ -6,7 +6,7 @@ The demo pipelines are colloquially known as "The PR Tester" where the others ar ## When they're used -All of the [test groups](#what-they-are) are executed automatically on every PR and are defined inside the [.github/workflows directory](https://github.com/AdoptOpenJDK/openjdk-build/tree/master/.github/workflows). +All of the [test groups](#what-they-are) are executed automatically on every PR and are defined inside the [.github/workflows directory](https://github.com/adoptium/temurin-build/tree/master/.github/workflows). These tests lint & compile the code you have altered, as well as executing full JDK builds using your code. ## What they are @@ -26,13 +26,13 @@ This group consists of [GitHub Status Checks](https://docs.github.com/en/free-pr #### Super Linter - This job downloads and runs the [Super Linter Tool](https://github.com/github/super-linter) in order to lint and compile any changes you have made to our bash scripts. -- The job will fail and inform the user in the log if there are any violations of our code or documentation standards. If you feel that some of the standards are too strict or irrelevant to your changes, please raise it in [Slack:#testing](https://adoptopenjdk.slack.com/archives/C5219G28G). +- The job will fail and inform the user in the log if there are any violations of our code or documentation standards. If you feel that some of the standards are too strict or irrelevant to your changes, please raise it in [Slack:#testing](https://adoptium.slack.com/archives/C5219G28G). ### Build This group is a matrix of [GitHub Status Checks](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-status-checks) run inside GitHub itself. They execute a full set of builds to various specifications, mimicking a user running a build locally -- The group collects a varied mix of java versions, operating systems and VM variants that each execute [build-farm/make-adopt-build-farm.sh](https://github.com/AdoptOpenJDK/openjdk-build/blob/master/build-farm/make-adopt-build-farm.sh), essentially running a full JDK build as if we were setting up and testing a new Jenkins machine OR as if it was running a build locally on your machine. +- The group collects a varied mix of java versions, operating systems and VM variants that each execute [build-farm/make-adopt-build-farm.sh](https://github.com/adoptium/temurin-build/blob/master/build-farm/make-adopt-build-farm.sh), essentially running a full JDK build as if we were setting up and testing a new Jenkins machine OR as if it was running a build locally on your machine. - Each job is run inside a Docker container to ensure reliability between each build. For example, Linux builds use our [centos7_build_image](https://hub.docker.com/r/adoptopenjdk/centos7_build_image) Docker container. - At the end of the build, the finished JDK artifact is archived to GitHub for you to download and peruse at your leisure (see [actions/upload-artifact#usage](https://github.com/actions/upload-artifact#usage) for more info). - Due to GitHub ratelimiting how many status checks can be run in the space of a few minutes, these checks may take a little while to complete while they're stuck in the queue. Be patient however, as some of your changes may affect one build completely differently to another build. diff --git a/build-farm/make-adopt-build-farm.sh b/build-farm/make-adopt-build-farm.sh index 8dfd493bc..c81237359 100755 --- a/build-farm/make-adopt-build-farm.sh +++ b/build-farm/make-adopt-build-farm.sh @@ -20,7 +20,7 @@ set -e PLATFORM_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" ## autodetect defaults to improve usability when running this for debugging/testing -## On most platforms "uname -p" matches what the OS name used in the adoptopenjdk +## On most platforms "uname -p" matches what the OS name used in the Temurin ## scripts uses, but not on xLinux, Windows or AIX. if [ -z "$ARCHITECTURE" ]; then @@ -35,7 +35,7 @@ if [ -z "$ARCHITECTURE" ]; then export ARCHITECTURE fi -## AdoptOpenJDK uses "windows" instead of "cygwin" for the OS name on Windows +## Temurin uses "windows" instead of "cygwin" for the OS name on Windows ## so needs to be special cased - on everthing else "uname" is valid if [ -z "$TARGET_OS" ]; then TARGET_OS=$(uname) diff --git a/build-farm/platform-specific-configurations/mac.sh b/build-farm/platform-specific-configurations/mac.sh index 6c85b5283..d87a61a4a 100755 --- a/build-farm/platform-specific-configurations/mac.sh +++ b/build-farm/platform-specific-configurations/mac.sh @@ -35,7 +35,7 @@ if [ "${JAVA_TO_BUILD}" == "${JDK8_VERSION}" ] then XCODE_SWITCH_PATH="/Applications/Xcode.app" export CONFIGURE_ARGS_FOR_ANY_PLATFORM="${CONFIGURE_ARGS_FOR_ANY_PLATFORM} --with-toolchain-type=clang" - # See https://github.com/AdoptOpenJDK/openjdk-build/issues/1202 + # See https://github.com/adoptium/temurin-build/issues/1202 if isHotSpot; then export COMPILER_WARNINGS_FATAL=false echo "Compiler Warnings set to: $COMPILER_WARNINGS_FATAL" diff --git a/build-farm/platform-specific-configurations/windows.sh b/build-farm/platform-specific-configurations/windows.sh index 3d33e722a..7494917db 100755 --- a/build-farm/platform-specific-configurations/windows.sh +++ b/build-farm/platform-specific-configurations/windows.sh @@ -100,7 +100,7 @@ then then export BUILD_ARGS="${BUILD_ARGS} --freetype-version 2.5.3" export CONFIGURE_ARGS_FOR_ANY_PLATFORM="${CONFIGURE_ARGS_FOR_ANY_PLATFORM} --with-freemarker-jar=/cygdrive/c/openjdk/freemarker.jar" - # https://github.com/AdoptOpenJDK/openjdk-build/issues/243 + # https://github.com/adoptium/temurin-build/issues/243 export INCLUDE="C:\Program Files\Debugging Tools for Windows (x64)\sdk\inc;$INCLUDE" export PATH="/c/cygwin64/bin:/usr/bin:$PATH" TOOLCHAIN_VERSION="2013" @@ -108,7 +108,7 @@ then then export CONFIGURE_ARGS_FOR_ANY_PLATFORM="${CONFIGURE_ARGS_FOR_ANY_PLATFORM} --with-freemarker-jar=/cygdrive/c/openjdk/freemarker.jar" - # Next line a potentially tactical fix for https://github.com/AdoptOpenJDK/openjdk-build/issues/267 + # Next line a potentially tactical fix for https://github.com/adoptium/temurin-build/issues/267 export PATH="/usr/bin:$PATH" fi # LLVM needs to be before cygwin as at least one machine has 64-bit clang in cygwin #813 diff --git a/build-farm/set-platform-specific-configurations.sh b/build-farm/set-platform-specific-configurations.sh index 2c7b7821a..5ba6b2079 100755 --- a/build-farm/set-platform-specific-configurations.sh +++ b/build-farm/set-platform-specific-configurations.sh @@ -33,7 +33,7 @@ then # Fail build if a local file doesn't exist and network location hasn't been set if [ -z "${PLATFORM_CONFIG_LOCATION}" ] then - echo "[ERROR] No local file detected at ${PLATFORM_CONFIG_FILEPATH} and PLATFORM_CONFIG_LOCATION is not set. Please set PLATFORM_CONFIG_LOCATION to a repository path of a platform config file (e.g. AdoptOpenJDK/openjdk-build/master/build-farm/platform-specific-configurations)." + echo "[ERROR] No local file detected at ${PLATFORM_CONFIG_FILEPATH} and PLATFORM_CONFIG_LOCATION is not set. Please set PLATFORM_CONFIG_LOCATION to a repository path of a platform config file (e.g. adoptium/temurin-build/master/build-farm/platform-specific-configurations)." exit 3 fi diff --git a/configureBuild.sh b/configureBuild.sh index 9e97fabac..afe7fef4c 100755 --- a/configureBuild.sh +++ b/configureBuild.sh @@ -149,7 +149,7 @@ setVariablesForConfigure() { BUILD_CONFIG[DEBUG_IMAGE_PATH]=$openjdk_debug_image_path } -# Set the repository to build from, defaults to AdoptOpenJDK if not set by the user +# Set the repository to build from, defaults to adoptium if not set by the user # shellcheck disable=SC2153 setRepository() { @@ -170,11 +170,11 @@ setRepository() { elif [[ "${BUILD_CONFIG[BUILD_VARIANT]}" == "${BUILD_VARIANT_BISHENG}" ]]; then suffix="openeuler-mirror/bishengjdk-${BUILD_CONFIG[OPENJDK_CORE_VERSION]:3}" elif [ "${BUILD_CONFIG[OPENJDK_CORE_VERSION]}" == "${JDK8_CORE_VERSION}" ] && [ "${BUILD_CONFIG[OS_ARCHITECTURE]}" == "armv7l" ]; then - suffix="adoptopenjdk/openjdk-aarch32-jdk8u"; + suffix="adoptium/aarch32-jdk8u"; elif [ "${BUILD_CONFIG[OPENJDK_CORE_VERSION]}" == "${JDK8_CORE_VERSION}" ] && [ "${BUILD_CONFIG[OS_ARCHITECTURE]}" == "aarch64" ]; then - suffix="adoptopenjdk/openjdk-aarch64-jdk8u"; + suffix="adoptium/aarch64-jdk8u"; else - suffix="adoptopenjdk/openjdk-${BUILD_CONFIG[OPENJDK_FOREST_NAME]}" + suffix="adoptium/${BUILD_CONFIG[OPENJDK_FOREST_NAME]}" fi local repository diff --git a/docker/README.md b/docker/README.md index d22c3afce..f85e06a39 100644 --- a/docker/README.md +++ b/docker/README.md @@ -9,7 +9,7 @@ the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html). ## Steps to build -1. **Checkout the OpenJDK source code** - e.g. `git clone git@github.com:AdoptOpenJDK/openjdk-jdk8u.git ~/AdoptOpenJDK/openjdk-jdk8u` +1. **Checkout the OpenJDK source code** - e.g. `git clone git@github.com:adoptium/openjdk-jdk8u.git ~/adoptium/openjdk-jdk8u` 1. **Run the dockerfile_generator.sh script with the --build flag** - e.g. `./dockerfile_generator.sh --jdk 8 --build` 1. **Run the command printed on screen within the container** - e.g. `/openjdk/build/openjdk-build/makejdk-any-platform.sh -v jdk8` 1. **See the results** - Take a look at the results in the build directory diff --git a/docker/dockerfile-generator.sh b/docker/dockerfile-generator.sh index 3424b63c9..bd07d12cf 100755 --- a/docker/dockerfile-generator.sh +++ b/docker/dockerfile-generator.sh @@ -287,7 +287,7 @@ COPY pipelines /openjdk/pipelines" >> "$DOCKERFILE_PATH" printGitClone(){ echo " -RUN git clone https://github.com/adoptopenjdk/openjdk-build /openjdk/build/openjdk-build" >> "$DOCKERFILE_PATH" +RUN git clone https://github.com/adoptium/temurin-build /openjdk/build/openjdk-build" >> "$DOCKERFILE_PATH" } printUserCreate(){ diff --git a/makejdk-any-platform.1 b/makejdk-any-platform.1 index 589ba5700..f718547f5 100755 --- a/makejdk-any-platform.1 +++ b/makejdk-any-platform.1 @@ -24,36 +24,30 @@ that you are building for further details. "./makejdk-any-platform.sh --docker jdk8u" -This will start a Docker container and build you the latest Java 8 AdoptOpenJDK -binary from the source at https://github.com/AdoptOpenJDK/openjdk-jdk8u +This will start a Docker container and build you the latest Java 8 Temurin +binary from the source at https://github.com/adoptium/openjdk-jdk8u -Please visit https://www.adoptopenjdk.net for further support +Please visit https://www.adoptium.net for further support .SH VERSIONS .TP .BR jdk8u -Build Java 8, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk8u -.TP -.BR jdk9u -Build Java 9, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk9u -.TP -.BR jdk10u -Build Java 10, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk10u +Build Java 8, defaults to https://github.com/adoptium/jdk8u .TP .BR jdk11u -Build Java 11, defaults to https://github.com/AdoptOpenJDK/openjdk-jdk11u +Build Java 11, defaults to https://github.com/adoptium/jdk11u .TP -.BR jfx -Build OpenJFX, defaults to https://github.com/AdoptOpenJDK/openjdk-jfx +.BR jdk16u +Build Java 16, defaults to https://github.com/adoptium/jdk16u .TP -.BR amber -Build Project Amber, defaults to https://github.com/AdoptOpenJDK/openjdk-amber +.BR jdk +Build JDK (tip), defaults to https://github.com/adoptium/jdk .SH OPTIONS .TP .BR \-b ", " \-\-branch " " \fI\fR specify a custom branch to build from, e.g. dev. -For reference, AdoptOpenJDK GitHub source repos default to the \fI\fR +For reference, Adoptium GitHub source repos default to the \fI\fR branch which may contain a very small diff set to the \fI\fR branch (which is a clone from the OpenJDK mercurial forest). .TP @@ -123,7 +117,7 @@ if using docker, keep the container after the build. specify any custom user make arguments. .TP .BR \-\-no\-adopt\-patches -This indicates to the build script that the build does not have AdoptOpenJDKs additional patches applied. +This indicates to the build script that the build does not have Temurin's additional patches applied. .TP .BR \-p ", " \-\-processors " " \fI\fR specify the number of processors to use for the docker build. diff --git a/sbin/build.sh b/sbin/build.sh index f2fab61ec..38e4d30b9 100755 --- a/sbin/build.sh +++ b/sbin/build.sh @@ -100,7 +100,7 @@ getOpenJDKUpdateAndBuildVersion() { if [ -d "${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}/.git" ]; then - # It does exist and it's a repo other than the AdoptOpenJDK one + # It does exist and it's a repo other than the Temurin one cd "${BUILD_CONFIG[OPENJDK_SOURCE_DIR]}" || return if [ -f ".git/shallow.lock" ]; then @@ -200,7 +200,7 @@ getOpenJdkVersion() { # Ensure that we produce builds with versions strings something like: # # openjdk version "1.8.0_131" -# OpenJDK Runtime Environment (build 1.8.0-adoptopenjdk-_2017_04_17_17_21-b00) +# OpenJDK Runtime Environment (build 1.8.0-temurin-_2017_04_17_17_21-b00) # OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode) configureVersionStringParameter() { stepIntoTheWorkingDirectory @@ -216,7 +216,7 @@ configureVersionStringParameter() { local dateSuffix=$(date -u +%Y%m%d%H%M) # Configures "vendor" jdk properties. - # AdoptOpenJDK default values are set after this code block + # Temurin default values are set after this code block # TODO 1. We should probably look at having these values passed through a config # file as opposed to hardcoding in shell # TODO 2. This highlights us conflating variant with vendor. e.g. OpenJ9 is really @@ -236,10 +236,10 @@ configureVersionStringParameter() { BUILD_CONFIG[VENDOR_VM_BUG_URL]="https://gitee.com/openeuler/bishengjdk-11/issues" fi - addConfigureArg "--with-vendor-name=" "${BUILD_CONFIG[VENDOR]:-"AdoptOpenJDK"}" + addConfigureArg "--with-vendor-name=" "\"${BUILD_CONFIG[VENDOR]}\"" addConfigureArg "--with-vendor-url=" "${BUILD_CONFIG[VENDOR_URL]:-"https://adoptium.net/"}" - addConfigureArg "--with-vendor-bug-url=" "${BUILD_CONFIG[VENDOR_BUG_URL]:-"https://github.com/AdoptOpenJDK/openjdk-support/issues"}" - addConfigureArg "--with-vendor-vm-bug-url=" "${BUILD_CONFIG[VENDOR_VM_BUG_URL]:-"https://github.com/AdoptOpenJDK/openjdk-support/issues"}" + addConfigureArg "--with-vendor-bug-url=" "${BUILD_CONFIG[VENDOR_BUG_URL]:-"https://github.com/adoptium/adoptium-support/issues"}" + addConfigureArg "--with-vendor-vm-bug-url=" "${BUILD_CONFIG[VENDOR_VM_BUG_URL]:-"https://github.com/adoptium/adoptium-support/issues"}" local buildNumber if [ "${BUILD_CONFIG[OPENJDK_CORE_VERSION]}" == "${JDK8_CORE_VERSION}" ]; then @@ -308,11 +308,11 @@ configureVersionStringParameter() { fi if [ "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" -gt 8 ]; then - # Derive AdoptOpenJDK metadata "version" string to use as vendor.version string + # Derive Adoptium metadata "version" string to use as vendor.version string # Take openJdkVersion, remove jdk- prefix and build suffix, replace with specified buildNumber # eg.: # openJdkVersion = jdk-11.0.7+ - # vendor.version = AdoptOpenJDK-11.0.7+ + # vendor.version = Adoptium-11.0.7+ # # Remove "jdk-" prefix from openJdkVersion tag local derivedOpenJdkMetadataVersion=${openJdkVersion#"jdk-"} @@ -324,7 +324,7 @@ configureVersionStringParameter() { # Not a release build so add date suffix derivedOpenJdkMetadataVersion="${derivedOpenJdkMetadataVersion}-${dateSuffix}" fi - addConfigureArg "--with-vendor-version-string=" "${BUILD_CONFIG[VENDOR_VERSION]:-"AdoptOpenJDK"}-${derivedOpenJdkMetadataVersion}" + addConfigureArg "--with-vendor-version-string=" "${BUILD_CONFIG[VENDOR_VERSION]:-"Temurin"}-${derivedOpenJdkMetadataVersion}" fi echo "Completed configuring the version string parameter, config args are now: ${CONFIGURE_ARGS}" @@ -515,7 +515,7 @@ createOpenJDKFailureLogsArchive() { echo "OpenJDK make failed, archiving make failed logs" cd build/* - local adoptLogArchiveDir="AdoptOpenJDKLogsArchive" + local adoptLogArchiveDir="TemurinLogsArchive" # Create new folder for failure logs rm -rf ${adoptLogArchiveDir} @@ -638,7 +638,7 @@ printJavaVersionString() { } getJdkArchivePath() { - # Todo: Set this to the outcome of https://github.com/AdoptOpenJDK/openjdk-build/issues/1016 + # Todo: Set this to the outcome of https://github.com/adoptium/temurin-build/issues/1016 # local version="$(parseJavaVersionString) # echo "jdk-${version}" @@ -1226,4 +1226,4 @@ echo "build.sh : $(date +%T) : All done!" # ccache is not detected properly TODO # change grep to something like $GREP -e '^1.*' -e '^2.*' -e '^3\.0.*' -e '^3\.1\.[0123]$'`] -# See https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/dev/common/autoconf/build-performance.m4 +# See https://github.com/adoptium/openjdk-jdk8u/blob/dev/common/autoconf/build-performance.m4 diff --git a/sbin/common/config_init.sh b/sbin/common/config_init.sh index 306fcf6bd..b3f96d49c 100755 --- a/sbin/common/config_init.sh +++ b/sbin/common/config_init.sh @@ -19,7 +19,7 @@ ################################################################################ # -# This shell script deals with writing the AdoptOpenJDK build configuration to +# This shell script deals with writing the Temurin build configuration to # the file system so it can be picked up by further build steps, Docker # containers etc # @@ -299,7 +299,7 @@ function parseConfigurationArguments() { "--ssh" | "-S" ) BUILD_CONFIG[USE_SSH]=true;; - # Signing is a separate step on the AdoptOpenJDK build farm itself + # Signing is a separate step on the Temurin build farm itself # JIC you're wondering why you don't see this get set there. "--sign" ) BUILD_CONFIG[SIGN]=true; BUILD_CONFIG[CERTIFICATE]="$1"; shift;; @@ -387,17 +387,17 @@ function configDefaults() { # The abridged openjdk core version name, e.g. jdk8, jdk9, etc. BUILD_CONFIG[OPENJDK_CORE_VERSION]="" - # The OpenJDK source code repository to build from, e.g. an AdoptOpenJDK repo + # The OpenJDK source code repository to build from, e.g. an Temurin repo BUILD_CONFIG[REPOSITORY]="" BUILD_CONFIG[ASSEMBLE_EXPLODED_IMAGE]=${BUILD_CONFIG[ASSEMBLE_EXPLODED_IMAGE]:-"false"} BUILD_CONFIG[MAKE_EXPLODED]=${BUILD_CONFIG[MAKE_EXPLODED]:-"false"} - # The default AdoptOpenJDK/openjdk-build repo branch + # The default adoptium/temurin-build repo branch BUILD_CONFIG[OPENJDK_BUILD_REPO_BRANCH]="master" - # The default AdoptOpenJDK/openjdk-build repo uri - BUILD_CONFIG[OPENJDK_BUILD_REPO_URI]="https://github.com/AdoptOpenJDK/openjdk-build.git" + # The default adoptium/temurin-build repo uri + BUILD_CONFIG[OPENJDK_BUILD_REPO_URI]="https://github.com/adoptium/temurin-build.git" BUILD_CONFIG[COPY_MACOSX_FREE_FONT_LIB_FOR_JDK_FLAG]="false" BUILD_CONFIG[COPY_MACOSX_FREE_FONT_LIB_FOR_JRE_FLAG]="false" @@ -495,7 +495,7 @@ function configDefaults() { BUILD_CONFIG[USER_SUPPLIED_CONFIGURE_ARGS]=${BUILD_CONFIG[USER_SUPPLIED_CONFIGURE_ARGS]:-""} BUILD_CONFIG[USER_SUPPLIED_MAKE_ARGS]=${BUILD_CONFIG[USER_SUPPLIED_MAKE_ARGS]:-""} - # Whether to use AdoptOpenJDK's cacerts file (true) or use the file provided by OpenJDK (false) + # Whether to use Temurin's cacerts file (true) or use the file provided by OpenJDK (false) BUILD_CONFIG[CUSTOM_CACERTS]=${BUILD_CONFIG[CUSTOM_CACERTS]:-"true"} BUILD_CONFIG[DOCKER]=${BUILD_CONFIG[DOCKER]:-"docker"} @@ -520,7 +520,7 @@ function configDefaults() { BUILD_CONFIG[DISABLE_ADOPT_BRANCH_SAFETY]=false # Used in 'release' file for jdk8u - BUILD_CONFIG[VENDOR]=${BUILD_CONFIG[VENDOR]:-"AdoptOpenJDK"} + BUILD_CONFIG[VENDOR]=${BUILD_CONFIG[VENDOR]:-"Eclipse Foundation"} } # Declare the map of build configuration that we're going to use diff --git a/sbin/common/constants.sh b/sbin/common/constants.sh index b0ab9704c..07ebdd130 100755 --- a/sbin/common/constants.sh +++ b/sbin/common/constants.sh @@ -51,4 +51,4 @@ export BUILD_VARIANTS="${BUILD_VARIANT_HOTSPOT} ${BUILD_VARIANT_OPENJ9} ${BUILD_ export GIT_TAGS_TO_SEARCH=100 # Path of marker file in mirror repos -export ADOPTOPENJDK_MD_MARKER_FILE="AdoptOpenJDK.md" +export TEMURIN_MD_MARKER_FILE="Temurin.md" diff --git a/sbin/prepareWorkspace.sh b/sbin/prepareWorkspace.sh index b7b277c63..503e0e747 100644 --- a/sbin/prepareWorkspace.sh +++ b/sbin/prepareWorkspace.sh @@ -52,9 +52,9 @@ checkoutAndCloneOpenJDKGitRepo() { echo "${BUILD_CONFIG[OPENJDK_CORE_VERSION]}" # Ensure cached origin fetch remote repo is correct version and repo (eg.jdk11u, or jdk), remember "jdk" sub-string of jdk11u hence grep with "\s" - # eg. origin https://github.com/adoptopenjdk/openjdk-jdk11u (fetch) - # eg. origin https://github.com/adoptopenjdk/openjdk-jdk (fetch) - # eg. origin git@github.com:adoptopenjdk/openjdk-jdk.git (fetch) + # eg. origin https://github.com/adoptium/openjdk-jdk11u (fetch) + # eg. origin https://github.com/adoptium/openjdk-jdk (fetch) + # eg. origin git@github.com:adoptium/openjdk-jdk.git (fetch) # eg. origin https://github.com/alibaba/dragonwell8.git (fetch) # eg. origin https://github.com/feilongjiang/bishengjdk-11-mirror.git (fetch) if [ "${BUILD_CONFIG[BUILD_VARIANT]}" == "${BUILD_VARIANT_DRAGONWELL}" ] || [ "${BUILD_CONFIG[BUILD_VARIANT]}" == "${BUILD_VARIANT_BISHENG}" ]; then @@ -102,8 +102,8 @@ checkoutAndCloneOpenJDKGitRepo() { if [[ "${BUILD_CONFIG[BUILD_VARIANT]}" == "${BUILD_VARIANT_HOTSPOT}" ]] && [[ "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" -ge 11 ]]; then # Verify Adopt patches tag is being built, otherwise we may be accidently just building "raw" OpenJDK - if [ ! -f "${ADOPTOPENJDK_MD_MARKER_FILE}" ] && [ "${BUILD_CONFIG[DISABLE_ADOPT_BRANCH_SAFETY]}" == "false" ]; then - echo "${ADOPTOPENJDK_MD_MARKER_FILE} marker file not found in fetched source to be built, this may mean the wrong SCMReference build parameter has been specified. Ensure the correct AdoptOpenJDK patch release tag is specified, eg.for build jdk-11.0.4+10, it would be jdk-11.0.4+10_adopt" + if [ ! -f "${TEMURIN_MD_MARKER_FILE}" ] && [ "${BUILD_CONFIG[DISABLE_ADOPT_BRANCH_SAFETY]}" == "false" ]; then + echo "${TEMURIN_MD_MARKER_FILE} marker file not found in fetched source to be built, this may mean the wrong SCMReference build parameter has been specified. Ensure the correct Temurin patch release tag is specified, eg.for build jdk-11.0.4+10, it would be jdk-11.0.4+10_adopt" exit 1 fi fi diff --git a/sign.sh b/sign.sh index b7e122732..7975c198b 100755 --- a/sign.sh +++ b/sign.sh @@ -101,7 +101,7 @@ signRelease() ;; "mac"*) - # TODO: Remove this completly once https://github.com/AdoptOpenJDK/openjdk-jdk11u/commit/b3250adefed0c1778f38a7e221109ae12e7c421e has been backported to JDK8u + # TODO: Remove this completly once https://github.com/adoptium/openjdk-jdk11u/commit/b3250adefed0c1778f38a7e221109ae12e7c421e has been backported to JDK8u echo "Signing OSX release" # Login to KeyChain diff --git a/test/functional/buildAndPackage/build.xml b/test/functional/buildAndPackage/build.xml index 8559411b0..aa5a19ac2 100644 --- a/test/functional/buildAndPackage/build.xml +++ b/test/functional/buildAndPackage/build.xml @@ -17,7 +17,7 @@ - AdoptOpenJDK Functional tests + Temurin Functional tests diff --git a/test/functional/buildAndPackage/playlist.xml b/test/functional/buildAndPackage/playlist.xml index c14914e4c..7841854dc 100644 --- a/test/functional/buildAndPackage/playlist.xml +++ b/test/functional/buildAndPackage/playlist.xml @@ -42,7 +42,7 @@ hotspot - adoptopenjdk + adoptium @@ -78,7 +78,7 @@ openj9 - adoptopenjdk + adoptium \ No newline at end of file diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/BundledFreetypeTest.java b/test/functional/buildAndPackage/src/net/adoptium/test/BundledFreetypeTest.java similarity index 92% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/BundledFreetypeTest.java rename to test/functional/buildAndPackage/src/net/adoptium/test/BundledFreetypeTest.java index cbedc1198..79fa84847 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/BundledFreetypeTest.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/BundledFreetypeTest.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package net.adoptopenjdk.test; +package net.adoptium.test; import org.testng.annotations.Test; @@ -25,7 +25,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; -import static net.adoptopenjdk.test.JdkPlatform.OperatingSystem; +import static net.adoptium.test.JdkPlatform.OperatingSystem; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; @@ -33,8 +33,8 @@ * Freetype needs to be bundled on Windows and macOS * but should not be present on Linux or AIX. * - * @see - * AdoptOpenJDK enhancement request + * @see + * Adoptium enhancement request */ @Test(groups = {"level.extended"}) public class BundledFreetypeTest { diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/CudaEnabledTest.java b/test/functional/buildAndPackage/src/net/adoptium/test/CudaEnabledTest.java similarity index 99% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/CudaEnabledTest.java rename to test/functional/buildAndPackage/src/net/adoptium/test/CudaEnabledTest.java index b9af14c5c..7d61ef63a 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/CudaEnabledTest.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/CudaEnabledTest.java @@ -1,4 +1,4 @@ -package net.adoptopenjdk.test; +package net.adoptium.test; import java.io.BufferedReader; import java.io.File; diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/FeatureTests.java b/test/functional/buildAndPackage/src/net/adoptium/test/FeatureTests.java similarity index 97% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/FeatureTests.java rename to test/functional/buildAndPackage/src/net/adoptium/test/FeatureTests.java index 39e3b69d4..0e4c88b63 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/FeatureTests.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/FeatureTests.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package net.adoptopenjdk.test; +package net.adoptium.test; import org.testng.annotations.Test; @@ -21,8 +21,8 @@ import java.util.List; import java.util.logging.Logger; -import static net.adoptopenjdk.test.JdkPlatform.Architecture; -import static net.adoptopenjdk.test.JdkPlatform.OperatingSystem; +import static net.adoptium.test.JdkPlatform.Architecture; +import static net.adoptium.test.JdkPlatform.OperatingSystem; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/JdkPlatform.java b/test/functional/buildAndPackage/src/net/adoptium/test/JdkPlatform.java similarity index 99% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/JdkPlatform.java rename to test/functional/buildAndPackage/src/net/adoptium/test/JdkPlatform.java index 4c0c23a50..de6dbcb2b 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/JdkPlatform.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/JdkPlatform.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package net.adoptopenjdk.test; +package net.adoptium.test; import java.util.Collection; import java.util.Locale; diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/JdkVersion.java b/test/functional/buildAndPackage/src/net/adoptium/test/JdkVersion.java similarity index 99% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/JdkVersion.java rename to test/functional/buildAndPackage/src/net/adoptium/test/JdkVersion.java index 653f34ebd..a45205db7 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/JdkVersion.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/JdkVersion.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package net.adoptopenjdk.test; +package net.adoptium.test; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/StreamUtils.java b/test/functional/buildAndPackage/src/net/adoptium/test/StreamUtils.java similarity index 98% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/StreamUtils.java rename to test/functional/buildAndPackage/src/net/adoptium/test/StreamUtils.java index 350c06b8f..1e05e4eab 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/StreamUtils.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/StreamUtils.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package net.adoptopenjdk.test; +package net.adoptium.test; import java.io.BufferedReader; import java.io.IOException; diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/VendorPropertiesTest.java b/test/functional/buildAndPackage/src/net/adoptium/test/VendorPropertiesTest.java similarity index 93% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/VendorPropertiesTest.java rename to test/functional/buildAndPackage/src/net/adoptium/test/VendorPropertiesTest.java index f7ec34627..46e38b965 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/VendorPropertiesTest.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/VendorPropertiesTest.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package net.adoptopenjdk.test; +package net.adoptium.test; import org.testng.annotations.Test; @@ -49,12 +49,12 @@ public class VendorPropertiesTest { */ public VendorPropertiesTest() { Set allPropertiesChecks = new LinkedHashSet<>(); - allPropertiesChecks.add(new AdoptOpenJDKPropertiesChecks()); + allPropertiesChecks.add(new AdoptiumPropertiesChecks()); allPropertiesChecks.add(new CorrettoPropertiesChecks()); // TODO: Somehow obtain the vendor name from the outside. Using any JVM properties is not a solution // because that's what we want to test here. - String vendor = "AdoptOpenJDK"; + String vendor = "Adoptium"; this.vendorChecks = allPropertiesChecks.stream() .filter(checks -> checks.supports(vendor)) .findFirst() @@ -162,21 +162,21 @@ private interface VmPropertiesChecks { void javaVmVersion(String value); } - private static class AdoptOpenJDKPropertiesChecks implements VmPropertiesChecks { + private static class AdoptiumPropertiesChecks implements VmPropertiesChecks { @Override public boolean supports(final String vendor) { - return vendor.toLowerCase(Locale.US).equals("adoptopenjdk"); + return vendor.toLowerCase(Locale.US).equals("eclipse foundation"); } @Override public void javaVersion(final String value) { - assertTrue(value.contains("AdoptOpenJDK")); + assertTrue(value.contains("Eclipse Foundation")); } @Override public void javaVendor(final String value) { - assertEquals(value, "AdoptOpenJDK"); + assertEquals(value, "Eclipse Foundation"); } @Override @@ -186,7 +186,7 @@ public void javaVendorUrl(final String value) { @Override public void javaVendorUrlBug(final String value) { - assertEquals(value, "https://github.com/AdoptOpenJDK/openjdk-support/issues"); + assertEquals(value, "https://github.com/adoptium/adoptium-support/issues"); } @Override @@ -197,7 +197,7 @@ public void javaVendorVersion(final String value) { @Override public void javaVmVendor(final String value) { - assertTrue(value.equals("AdoptOpenJDK") || value.equals("Eclipse OpenJ9")); + assertTrue(value.equals("Adoptium") || value.equals("Eclipse OpenJ9")); } @Override diff --git a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/package-info.java b/test/functional/buildAndPackage/src/net/adoptium/test/package-info.java similarity index 95% rename from test/functional/buildAndPackage/src/net/adoptopenjdk/test/package-info.java rename to test/functional/buildAndPackage/src/net/adoptium/test/package-info.java index e8ed9ae5e..1a0867fd3 100644 --- a/test/functional/buildAndPackage/src/net/adoptopenjdk/test/package-info.java +++ b/test/functional/buildAndPackage/src/net/adoptium/test/package-info.java @@ -17,4 +17,4 @@ * to verify various vendor-specific aspects of an openjdk build. */ -package net.adoptopenjdk.test; +package net.adoptium.test; diff --git a/test/functional/buildAndPackage/testng.xml b/test/functional/buildAndPackage/testng.xml index 35b24fdbf..1e2f029fa 100644 --- a/test/functional/buildAndPackage/testng.xml +++ b/test/functional/buildAndPackage/testng.xml @@ -17,20 +17,20 @@ - - + + - + - + \ No newline at end of file