CODETOOLS-7902083: Simplify building jtreg

Jonathan Gibbons jonathan.gibbons at
Fri Dec 15 22:34:26 UTC 2017

I've pushed the changeset containing this new script.

There are two changes since I posted the webrev:

1. Change to use "shasum -a 1" instead of "sha1sum"
2. Update script to download and use jcommander.jar in conjunction with 

With the second change in particular, all the jtreg self-tests pass, 
when the image is built with the script.

-- Jon

On 12/13/2017 04:32 PM, Jonathan Gibbons wrote:
> This is for folk who are interested in building jtreg from source.
> As some of you have (rightfully) commented over the past years, jtreg 
> has not been an easy tool to build from source.
> And, as some of you may have noticed, there has been some amount of 
> activity over the past weeks and months to address this issue. This 
> work has been led by Erik Helin (thanks, Erik!) and we're now getting 
> to the point where we can show what we have been working towards.
> The core of the work to build jtreg is still the Makefiles as before, 
> although as was recently noted, we've been simplifying the 
> specification of the dependencies.
> Separately, Erik has helped provide updates to the way that some of 
> the Code Tools dependencies can be built.
> Building on all that work, we can now get to the next stage, to 
> provide a script that will download binaries for some components 
> (JUnit, TestNG) and will download and build source for other 
> components (AsmTools, JCov, JTHarness), for which there are no 
> official binaries.
> To run the script, you just need to have Ant and a suitable "java" on 
> your path, and to specify the location of an install of JDK 1.8 as an 
> argument to the script. wget is used to download files, which honors 
> proxy settings for those that need to use them. The script is 
> deliberately fairly simple, and suitable for use in a CI system.
> You can see a webrev for the script at
> Example of use:
> $ which ant
> /opt/ant/1.9.4/bin/ant
> $ which java
> /opt/jdk/1.8.0/bin/java
> $ sh make/ /opt/jdk/1.8.0
> ... build output ...
> $ ls build/images/jtreg
> bin  COPYRIGHT  doc  legal  lib  LICENSE  README  release
> $
> Once this settles down a bit, I'll update the public docs on the jtreg 
> web pages.
> -- Jon

More information about the code-tools-dev mailing list