Removal of the old build system, partial and preliminary review (part 2)

Erik Joelsson erik.joelsson at oracle.com
Mon Nov 4 10:44:22 UTC 2013


Looks correct, but needs to be compared on all platforms.

/Erik

On 2013-11-01 14:43, Magnus Ihse Bursie wrote:
> Here is part 2 of the old build system removal.
>
> This review is based against the previous part, i.e. where the lion's 
> share of the old make files had been removed.
>
> What remained was a handful or two of different types of files, 
> scattered all around. I have checked each file and/or directory 
> individually, and if it was not used, I removed it. (This was the case 
> usually because the prior attempt was too conservative.)
>
> If the files were only used by the closed parts of the source code, it 
> was moved to a suitable place in the closed repos. (A separate review 
> for the closed part is coming up shortly).
>
> If it was actually used by the new build system, and it was source 
> code that should be compiled, I moved it to make/src/classes or 
> make/src/native, correspondingly.
>
> If it was actually used by the new build system, and it was a data 
> file that was used as input for a build tool, or some other part of 
> the build process, I created a descriptive directory in make/data 
> (e.g. classlist) and moved it there.
>
> Finally, a few files belonged to utilities that is not used during the 
> build. The comments on the utilities indicate that they are run 
> manually and sporadically, such as CommentChecker or the tool to 
> create the reorder files for native libs. Such tools will typically 
> bit rot between uses, and while no-one has explicitely mentioned that 
> they still use them, I did not want to remove them. I tested some of 
> them, like the reorder tool, and it was indeed broken. I moved these 
> toos into make/non-build-utils. Going forward, I believe these tools 
> should probably find a better location and be used automatically so 
> that they are tested, or they should be removed.
>
> I did these changes one at a time, committing to a local sandbox after 
> every individual step. Here is a (somewhat filtered) list of the 
> commit comments. I hope they are self-descriptive enough to explain 
> the changes I've made.
>
> * Remove make/common. (Move to closed sources.)
> * Remove PatchList.solaris (makefiles copy was unused) and move to 
> closed sources.
> * Remove make/tools/GenerateCharacter, save what's needed in 
> make/data/characterdata.
> * Move contents of  make/tools/UnicodeData/ to make/data/unicodedata.
> * Move files actually used from make/tools/CharsetMapping to 
> make/data/charsetmapping.
> * Move contents of make/tools/dtdbuilder/dtds to make/data/dtdbuilder, 
> and remove rest of make/tools/dtdbuilder.
> * GendataTimeZone is not used anymore.
> * Delete make/sun/javazic, and move remaining useful data to 
> make/data/tzdata.
> * Move SwingBeanInfo.template, beaninfo/images/*.gif and source code 
> (which is only copied, not compiled) from make/tools/swing-beans to 
> make/data/swingbeaninfo.
> * Move make/javax/swing/beaninfo/manifest to 
> make/data/swingbeaninfo/manifest.mf.
> * Move make/tools/manifest.mf to make/data/mainmanifest/manifest.mf.
> * Move make/javax/crypto/policy/ to make/data/cryptopolicy.
> * Move make/tools/add_gnu_debuglink and 
> make/tools/fix_empty_sec_hdr_flags to make/src/native.
> * Move java source code from make/tools/src to make/src/classes.
> * Move refs.allowed to data/checkdeps. (That was the last file in 
> make/tools/src).
> * Moving DocBeanInfo.java, GenDocletBeanInfo.java and 
> GenSwingBeanInfo.java into make/src/classes/build/tools/swingbeaninfo. 
> (This also means moving them to package build.tools.swingbeaninfo.)
> * Move make/tools/sharing/classlist.* to make/data/classlist.
> * Move the remaining tools, which are not used in the build process, 
> to non-build-utils.
> * Move java utilities that are not used in the build from make/src to 
> make/non-build-utils/src.
> * Prepare merging between makefiles and make by moving files in 
> makefiles into corresponding positions. This means jpda/jdwp/jdwp.spec 
> moved to data/jdwp/jdwp.spec, and sun/*/ToBin.java moved to 
> src/classes/build/tools/icondata/*.
>
> And here is the WebRev: 
> http://cr.openjdk.java.net/~ihse/remove-old-build-part-2/webrev.01
>
> /Magnus




More information about the build-dev mailing list