source code re-organization

Michael McMahon michael.x.mcmahon at oracle.com
Fri Jun 8 06:47:24 PDT 2012


Thanks Erik. All good points. I'll make these updates as suggested. I 
moved the script into a fixed location
late in the day, so the environment variable is not required any more.

- Michael

On 08/06/12 13:46, Erik Joelsson wrote:
> Great to see this getting ready! I'm trying it out in preparation for 
> working on the build-infra-jigsaw build. Noticed a couple of things:
>
> * Why the need to set MAKESHUFFLE_SRCDIR? I put the following in 
> makeshufflescripts and it seems to work:
> MS=$(cd "$(dirname "$0")" && pwd)
>
> * In non-standard.includes, the line for jdwpTransport.h has an extra 
> jdk/newsrc in the target path.
>
> * zipfs.shuffle, zipfs.unshuffle and non-standard.includes contains 
> target paths that look like "jdk/newsrc/$platform/module/...". I 
> assume these should to be changed to mclasses and etc.
>
> /Erik
>
> On 2012-06-07 17:07, Michael McMahon wrote:
>> Hi,
>>
>> The webrev below contains a utility which re-organizes the jdk8 
>> source code into one possible
>> modularized layout suitable for jigsaw. The way it works is that 
>> first a meta script called 'makeshufflescripts'
>> is run which looks at the current layout and generates two further 
>> sets of scripts (so-called 'shuffle' and
>> 'unshuffle' scripts). These scripts contain a set of 'rsync' commands 
>> that copy changed files between the old
>> and the new layouts. 'shuffle' copies from the old to the new, and 
>> 'unshuffle' copies any modified files
>> from the new layout back to the old/present jdk source layout. The 
>> script operates on the jdk, langtools
>> corba, jaxws and jaxp repositories copying from the 'src' sub-tree in 
>> each to/from a 'newsrc' sub-tree
>> containing the new layout.
>>
>> The purpose of the utility is for people to experiment with the new 
>> layout, editing source files etc.
>> Changed files can be 'unshuffled' back to the old layout, for 
>> building. There is a README which explains
>> how exactly to use it. Currently, it has only been tested on Linux.
>>
>> http://cr.openjdk.java.net/~michaelm/shuffle/1/webrev/
>>
>> As mentioned above, the main script in the utility is 
>> 'makeshufflescripts'. Most of the other files
>> in the webrev contain other information needed by the script. 
>> 'makeshufflescripts' generates the shuffle/unshuffle
>> scripts into a directory called shufflescripts off the root of the 
>> jigsaw forest.
>> To do a shuffle, execute "sh shufflescripts/shuffle.sh" and to do an 
>> unshuffle "sh shufflescripts/unshuffle.sh"
>>
>> All comments/questions welcome.
>>
>> - Michael.




More information about the jigsaw-dev mailing list