jtreg
jtreg copied to clipboard
7903604: Provide Build.java to (eventually) replace `build.sh`
Please review a new, alternative way to download the dependencies needed to build jtreg.
Currently, the generally recommended way to download or otherwise find the dependencies is to use the make/build.sh script. This PR provides an essentially equivalent alternative written in Java: make/Build.java, which is a single source file and so can be run with the standard support for running single source file programs in the Java launcher.
old: sh make/build.sh options...
new: path/to/java make/Build.java options...
The configuration values are essentially the same; in particular, the default configuration values in make/build-support/version-numbers are exactly the same as for build.sh. Configuration values may now also be given on the command-line or in a file specified on the command line. The primary configuration difference is that there is no longer support for downloading a version of JDK to build jtreg; the default is to use the same version of JDK as is used to run Build.java although an alternate version of JDK to build jtreg itself can be specified as an option to Build.java.
As with build.sh, the new Build.java writes and optionally executes a shell script to run make with variables set up to point to the local version of the dependencies.
There is no change to the makefiles, or to the functionality of jtreg itself.
There are minor internal changes to the organization of the dependencies in the build/deps directory, and minor changes to the logging output written by the program.
The old build.sh and related shell files remain in place for now, but may be removed at some point in the future.
Progress
- [ ] Change must be properly reviewed (1 review required, with at least 1 Reviewer)
- [x] Change must not contain extraneous whitespace
- [x] Commit message must refer to an issue
Issue
- CODETOOLS-7903604: Provide Build.java to (eventually) replace
build.sh(Enhancement - P3)
Reviewing
Using git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jtreg.git pull/177/head:pull/177
$ git checkout pull/177
Update a local copy of the PR:
$ git checkout pull/177
$ git pull https://git.openjdk.org/jtreg.git pull/177/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 177
View PR using the GUI difftool:
$ git pr show -t 177
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jtreg/pull/177.diff
Webrev
:wave: Welcome back jjg! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.
@jonathan-gibbons This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!
@jonathan-gibbons This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!
❗ This change is not yet ready to be integrated. See the Progress checklist in the description for automated requirements.
@jonathan-gibbons This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!
@jonathan-gibbons This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the /open pull request command.
/open
@sormuras Only the pull request author can set the pull request state to "open"