CODETOOLS-7902083: Simplify building jtreg

Jonathan Gibbons jonathan.gibbons at oracle.com
Thu Dec 21 01:09:12 UTC 2017


I've posted a new tag (jtreg4.2-b11) on the jtreg repo, so I would 
expect to see a new build on your CI system soon.

If you're using the new make/build-all.sh script, then everything should 
build as intended.

If you're not using build-all.sh, note that you need to build jtreg with 
variables like TESTNG_HOME, JUNIT_HOME, ASMTOOLS_HOME etc defined at the 
time you run "make". It is not enough to copy the corresponding jar 
files into the lib directory; they must also be put in the Class-Path 
entry of the jtreg.jar MANIFEST.MF file (and the makefiles will take 
care of doing that.)

It occurs to me you might still be using the (old) Ant build.xml file.  
If so, I recommend you convert to using the new build-all.sh script.

-- Jon

On 12/19/2017 03:33 PM, Mani Sarkar wrote:
> Hi Jon,
>
> Amended the scripts to use the latest build-all.sh from the tip, and 
> got this - https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/.
>
> Still using our old script to build from the last tag.
>
> Both the artifacts do contain asmtools.jar - let me know if it passes 
> your sanity check.
>
> Thanks again.
>
> Cheers,
> Mani
>
> On Mon, 18 Dec 2017 at 10:18 Maurizio Cimadamore 
> <maurizio.cimadamore at oracle.com 
> <mailto:maurizio.cimadamore at oracle.com>> wrote:
>
>
>
>     On 18/12/17 01:32, Jonathan Gibbons wrote:
>     > Maurizio,
>     >
>     > 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.
>     Message understood :-)
>
>     Btw, I'm bringing this up because, currently, the only way to
>     build the
>     plugin is through the IDE itself, which, while not unreasonable (after
>     all you have to have an IDE if you want to use the plugin :-)), it
>     require some configuration and I've seen people getting stuck quite
>     frequently - a build command would probably mitigate some of those
>     concerns.
>
>     Maurizio
>     >
>     > -- 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
>     >>> http://cr.openjdk.java.net/~jjg/7902083/webrev.00/
>     <http://cr.openjdk.java.net/%7Ejjg/7902083/webrev.00/>
>     >>>
>     >>> Example of use:
>     >>>
>     >>> $ which ant
>     >>> /opt/ant/1.9.4/bin/ant
>     >>> $ which java
>     >>> /opt/jdk/1.8.0/bin/java
>     >>> $ sh make/build-all.sh /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
>     >>>
>     >>>
>     >>
>     >
>
> -- 
>
> @theNeomatrix369 <http://twitter.com/theNeomatrix369> | Blog 
> <http://neomatrix369.wordpress.com/> | @adoptopenjdk | Dev communities
>
> Meet-a-Project - MutabilityDetector 
> <https://github.com/MutabilityDetector> | Github 
> <https://github.com/neomatrix369> | Slideshare 
> <https://www.slideshare.net/neomatrix369> |LinkedIn 
> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>
>
> Come to Devoxx UK 2018:http://www.devoxx.co.uk/
>
>
> Don't chase success, rather aim for "Excellence", and success will 
> come chasing after you!
>



More information about the code-tools-dev mailing list