jtreg: versions, dependencies, and build issues.

Staffan Larsen staffan.larsen at oracle.com
Fri Apr 29 11:46:26 UTC 2016


Jon,

How many of the required dependencies can be found in maven central or simliar? If we can use that, people won’t have to manually download dependencies.

/Staffan

> On 29 apr. 2016, at 00:03, Jonathan Gibbons <jonathan.gibbons at oracle.com> wrote:
> 
> This message is about  jtreg, running it, and building it.
> 
> First, running jtreg.
> 
> It is time to raise the baseline JDK used to run jtreg. SInce forever, JDK 5 has been sufficient, but that is blocking the adoption of new libraries and new features. And so, coming soon, JDK 7 or 8 will be required to run jtreg.    This is just about the version of JDK used to run jtreg; for those that need to do so, jtreg will continue to support being able to run tests on older versions of JDK, including all releases on OpenJDK.
> 
> 
> The rest of this message is about building jtreg.  I am aware that building jtreg can initially be daunting, because of the trouble finding some of the dependencies that are required.  My "head in the sand" answer has generally been to say that once you have found copies of the dependencies you can use, the actual build step is relatively easy, but yes, finding easily available copies of some of the dependencies is hard, and getting harder.   This needs to be addressed.
> 
> 
> -----------------
> 
> 
> Currently, jtreg requires the following:
> 
> JDK:
>    If you want to run tests on very old releases (back to 1.2), you need a JDK that can compile code for the that release.
>    If you want to run tests on medium old releases (back to 1.5), you need a JDK that can compile code for the that release.
>    Otherwise, you need a recent release of JDK.
> 
> 
> JavaHelp:
>    I am looking into removing this dependency from jtreg. JavaHelp is currently on java.net and its future is uncertain. It is not core functionality for jtreg and I doubt anyone would miss it. There are better ways to provide documentation these days.
> 
> 
> JavaTest/jtharness:
>    Available on OpenJDK CodeTools.
>    This component has its own long list of dependencies, and I am engaging with that team to see how many of those dependencies could be made optional.  Most are not of interest to jtreg.
> 
> 
> JCov:
>    Available on OpenJDK CodeTools.
>    This is not strictly required for jtreg. (Need to verify it is truly optional)
> 
> 
> AsmTools:
>    Available on OpenJDK CodeTools.  (Not to be confused with ObjectWeb ASM)
>    This is not strictly required for jtreg itself, but is required to run some of the JDK tests.
> 
> 
> JUnit:
>    We are looking to move forward to JUnit 4.10
> 
> 
> TestNG:
>    We are looking to move forward to TestNG 4.9.5.
> 
> 
> Ant:
>    Currently, this is required to build jtreg. (jtreg provides an Ant task)
>    Although it would be a breaking change, I think we should change the Java part of the Ant task to be a top level class instead of a nested class, such that the dependence on Ant can be made optional.
> 
> 
> HTMLCheck:
>    Optional tool for use when building jtreg
> 
> 
> LinkLint:
>    Optional tool for use when building jtreg
> 
> 
> Xalan:
>    Currently required, to help build JavaHelp data files.  If we drop support for JavaHelp, this dependence will go away.
> 
> 
> -------------
> 
> 
> Looking at the list, I think we should be able to make it much easier/simpler to build jtreg.    We should be able to reduce the dependencies to recent versions of JDK, JT Harness and other code from OpenJDK Code Tools,  JUnit and TestNG.
> 
> 
> -- Jon



More information about the jtreg-dev mailing list