CODETOOLS-7902083: Simplify building jtreg

Jonathan Gibbons jonathan.gibbons at
Mon Dec 18 01:32:22 UTC 2017


If you can do this in a way that makes it optional, that would be 
great.   Having put effort into pruning the set of dependencies, I've no 
desire to see the set creep up again unnecessarily, although I admit the 
usefulness of the plugin.

-- Jon

On 12/17/17 1:04 PM, Maurizio Cimadamore wrote:
> Looks great - thanks for doing this.
> If there's interest, I could also put some effort in order to 
> integrate the plugins build into the system. In principle, it should 
> be doable, by adding a bunch of env variables (to point at the IDEA 
> runtime jar). Of course that would be an optional part of the build.
> Cheers
> Maurizio
> On 14/12/17 00:32, 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