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