I'm personally willing to provide a ANT to MAVEN conversion tool which will allow for a more verbose an rdable build system. It will also ensure that dependencies are always downloaded at all times ensuring network pipes are kept clean.
Cheers, Martijn On 1 April 2015 at 10:21, David Katleman (Oracle) <[email protected] > wrote: > +1 > > Please say were going to use the extension that predict build failures > before they occur and provides an automated root cause analysis. I believe > is called Ant predictive recursive interpreter language with Forensic > object oriented linguistic syntax. > > > > On Apr 1, 2015, at 1:33 AM, Magnus Ihse Bursie < > [email protected]> wrote: > > > > The build system currently uses make to build OpenJDK. This is a > technology that has been around for decades, and in places this legacy > clearly shows. > > > > An alternative build tool, Ant, is based on cutting-edge technology. > Compared to the native GNU Make, Ant is based on Java™ technology, which > makes portability issues a thing of the past. Ant is also directed using > modern XML systems, with well-defined tags, compared to the aged and > idiosyncratic Makefile syntax. > > > > The Build Team has therefore decided to rewrite the current build system > from scratch in Ant. The old Makefiles will be put in maintenance mode > while the new Ant scripts are being developed. To facilitate a speedy > switch, all new build enhancements must be expressed in Ant logic, starting > today. No modifications in the old Makefiles will be accepted by the Build > Team. > > > > To increase the robustness of the code base, the new build system will > automatically check the integrity of all source code files before > compilation. Each source file therefore must be accompanied by a Integrity > Manifest (.Ingeg_Manif.xml). For instance, the file Object.java would have > an Object.java.Integ_Manif.xml. This is a simple xml file, describing the > purpose of the source code file, and a log of mercurial changeset id:s. An > example file could looks like this: > > > > <manifest xmlns="http://openjdk.java.net/ns/manifest/integrity/1"> > > <type>net.java.openjdk.build.ant.manifest.integrity</type> > > <artifacts> > > <artifact> > > <source-code-descriptor> > > <filename>Object.java</filename> > > <description>Class Object is the root of the class > hierarchy.</description> > > </source-code-descriptor> > > </artifact> > > </artifacts> > > <integrity> > > <revision-control> > > <committed-change> > > <changeid>541a8cef4e0d</changeid> > > > <revision-control-system>mercurial</revision-control-system> > > </committed-change> > > <committed-change> > > <changeid>458adf31ad5b</changeid> > > > <revision-control-system>mercurial</revision-control-system> > > </committed-change> > > <committed-change> > > <changeid>0846eddb56d5</changeid> > > > <revision-control-system>mercurial</revision-control-system> > > </committed-change> > > </revision-control> > > </integrity> > > </manifest> > > > > Each time a new version of the file is committed to the mercurial repo, > the developer just has to add a new committed-change stanza to the block in > the .Ingeg_Manif.xml file. Since the changeset ID is not known before hand, > the Integrity Manifest file must be updated in a subsequent commit. > > > > But fear not! To assist developers in preserving the integrity of the > source files, an addition to jcheck has been developed. If the subsequent > commit does not properly describe the previous changeset ID, the original > changeset will be automatically reverted, so no untracked changes will be > stored permanently in the revision control system. > > > > Finally, to fully utilize the promise of portability that the Ant and > Java™ technology brings, platforms with portability issues will be removed > from the supported platform matrix. Currently, this only includes > non-POSIX-compliant operating systems, since these have been known to cause > various platform issues in the build system. The only known > non-POSIX-compliant OS that the OpenJDK build system currently supports is > the Windows OS family, so this reduction in support is hopefully not too > burdensome. > > > > These changes will take immediate effect of today, April 1 2015. > > > > That's all for today, folks! :-) > > > > /Magnus >
