From Dalibor.Topic at Sun.COM Tue Jun 9 08:56:30 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Tue, 09 Jun 2009 17:56:30 +0200 Subject: next jpkg steps Message-ID: <4A2E862E.4020100@sun.com> Hi everyone, JavaOne was fun. The jpkg tool had a slice of keynote time [1], and the feedback was in general very positive. So, time to think about what we want it to do next. On my list of things jpkg needs next are * lots of fresh jtreg tests * rpm backend * svr4/ips backend >From the JavaOne feedback, developers are also interested in using jpkg for generating JNLP descriptors, OSGi bundles, Maven artifacts, multi-module JARs, and a whole bunch of other interesting things. That implies that we'll at some point probably need a simple way to create jpkg backends as plugins for the tool. Ideas, code and jtreg tests in particular ;) are welcome. cheers, dalibor topic [1] http://channelsun.sun.com/video/events/javaone/1631259661/chapter+2:+javaone+2009+sun+technical+general+session/25089975001 -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin H?ring From Bhavesh.Patel at Sun.COM Tue Jun 9 14:45:47 2009 From: Bhavesh.Patel at Sun.COM (Bhavesh.Patel at Sun.COM) Date: Tue, 09 Jun 2009 14:45:47 -0700 Subject: Jigsaw impact on javadoc/doclet? Message-ID: <4A2ED80B.3020506@Sun.COM> Hi, How would jigsaw impact the doclet's generation of javadoc? Thanks, Bhavesh. From langel at redhat.com Fri Jun 12 10:18:51 2009 From: langel at redhat.com (Lillian Angel) Date: Fri, 12 Jun 2009 13:18:51 -0400 Subject: next jpkg steps In-Reply-To: <4A2E862E.4020100@sun.com> References: <4A2E862E.4020100@sun.com> Message-ID: <4A328DFB.9060807@redhat.com> Dalibor Topic wrote: > Hi everyone, > > JavaOne was fun. The jpkg tool had a slice of keynote time [1], and > the feedback was in general very positive. So, time to think about > what we want it to do next. On my list of things jpkg needs next are > > * lots of fresh jtreg tests > * rpm backend > * svr4/ips backend > > >From the JavaOne feedback, developers are also interested in using > jpkg for generating JNLP descriptors, OSGi bundles, Maven artifacts, > multi-module JARs, and a whole bunch of other interesting things. > That implies that we'll at some point probably need a simple way to > create jpkg backends as plugins for the tool. > > Ideas, code and jtreg tests in particular ;) are welcome. > I would like to help with the rpm backend and the jtreg tests. Can you send me more information on how to get started? Cheers, Lillian > cheers, > dalibor topic > > [1] http://channelsun.sun.com/video/events/javaone/1631259661/chapter+2:+javaone+2009+sun+technical+general+session/25089975001 > > From dalibor.topic at sun.com Thu Jun 25 06:00:07 2009 From: dalibor.topic at sun.com (dalibor.topic at sun.com) Date: Thu, 25 Jun 2009 13:00:07 +0000 Subject: hg: jigsaw/jigsaw/jdk: 3 new changesets Message-ID: <20090625130058.75A23E0A8@hg.openjdk.java.net> Changeset: 3b6376e63fe6 Author: robilad Date: 2009-06-20 02:51 +0200 URL: http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/rev/3b6376e63fe6 Fixed imports ! make/netbeans/world/build.xml ! src/share/classes/org/openjdk/jigsaw/cli/Packager.java Changeset: c82b1c2bbb2a Author: robilad Date: 2009-06-25 14:27 +0200 URL: http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/rev/c82b1c2bbb2a Throw exception if module destination can't be deleted ! src/share/classes/org/openjdk/jigsaw/cli/Packager.java Changeset: d6af7d6549a0 Author: robilad Date: 2009-06-25 14:42 +0200 URL: http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/rev/d6af7d6549a0 Removed unused assignment ! src/share/classes/org/openjdk/jigsaw/cli/Packager.java From dalibor.topic at sun.com Thu Jun 25 06:03:46 2009 From: dalibor.topic at sun.com (dalibor.topic at sun.com) Date: Thu, 25 Jun 2009 13:03:46 +0000 Subject: hg: jigsaw/jigsaw/jdk: Added RPM keyword Message-ID: <20090625130404.AA5FFE0A9@hg.openjdk.java.net> Changeset: 10f72e349898 Author: robilad Date: 2009-06-25 14:57 +0200 URL: http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/rev/10f72e349898 Added RPM keyword ! src/share/classes/org/openjdk/jigsaw/cli/Packager.java From Dalibor.Topic at Sun.COM Thu Jun 25 06:43:22 2009 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Thu, 25 Jun 2009 15:43:22 +0200 Subject: next jpkg steps In-Reply-To: <4A328DFB.9060807@redhat.com> References: <4A2E862E.4020100@sun.com> <4A328DFB.9060807@redhat.com> Message-ID: <4A437EFA.1090601@sun.com> Lillian Angel wrote: > Dalibor Topic wrote: >> Hi everyone, >> >> JavaOne was fun. The jpkg tool had a slice of keynote time [1], and >> the feedback was in general very positive. So, time to think about >> what we want it to do next. On my list of things jpkg needs next are >> >> * lots of fresh jtreg tests >> * rpm backend >> * svr4/ips backend >> >> >From the JavaOne feedback, developers are also interested in using >> jpkg for generating JNLP descriptors, OSGi bundles, Maven artifacts, >> multi-module JARs, and a whole bunch of other interesting things. That >> implies that we'll at some point probably need a simple way to create >> jpkg backends as plugins for the tool. >> Ideas, code and jtreg tests in particular ;) are welcome. >> > > > I would like to help with the rpm backend and the jtreg tests. Can you > send me more information on how to get started? I've cleaned up a few tiny things, there is a bit more to do, but let's get you started - cleanups and refactoring of jpkg can progress alongside. To get the code: hg fclone http://hg.openjdk.java.net/jigsaw/jigsaw The code for jpkg is in jdk/src/share/classes/org/openjdk/jigsaw/cli/Packager.java It's based on the code for the jmod tool (right next to it in the directroy), and uses classes from org.openjdk.jigsaw (the actual jigsaw implementation), java.lang.module (the module interface). The Debian package creation is done via a class called Deb - and I've added a skeleton class for RPM generation now, so that when jpkg get called with the rpm keyword, it'll get run instead of the Deb class. It has basically two methods one needs to care about when adding a new package format: writeMetaData - which takes care of converting metadata from jigsaw's format to the package manager's (like translating dependencies) that basically boils down to: * translate module names to RPM names * translate module versions to RPM versions * translate module dependency names, versions and constraints to RPM dependency format buildPackage - which takes care of building the actual package using native packaging tools and adding post/pre install scripts, for example. * fakeroot & rpmbuild analogue of fakeroot & dpkg-deb * post/pre install scripts to install/configure a module using jmod into the library Feel free to factor the current deb packaging code out into sub-classes as you need them, I assume you may be able to reuse a bit of it in your own (or turn it into utility methods). Building: The code is based on an older version of JDK 7, so you'll have to work around the build not working without the ugly binary plugs (or poke mr to resync with current). Since the build actually builds debian packages in jdk/make/modules/Makefile, you'll want to change the all target to not build all-debs on Fedora, and instead go with RPM tools, based on a makefile variable, for example. Playing around: Once you've built the code, I'd suggest looking at the jtreg tests in jdk/test/org/openjdk/jigsaw and playing a bit with them to understand how jmod works. Going from there, we should discuss what's necessary to do for RPM on IRC, for example. I suspect the current code is due for a bit of refactoring ;) cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Wolf Frenkel Vorsitzender des Aufsichtsrates: Martin H?ring From langel at redhat.com Thu Jun 25 07:17:57 2009 From: langel at redhat.com (Lillian Angel) Date: Thu, 25 Jun 2009 10:17:57 -0400 Subject: next jpkg steps In-Reply-To: <4A437EFA.1090601@sun.com> References: <4A2E862E.4020100@sun.com> <4A328DFB.9060807@redhat.com> <4A437EFA.1090601@sun.com> Message-ID: <4A438715.20509@redhat.com> Dalibor Topic wrote: > Lillian Angel wrote: > >> Dalibor Topic wrote: >> >>> Hi everyone, >>> >>> JavaOne was fun. The jpkg tool had a slice of keynote time [1], and >>> the feedback was in general very positive. So, time to think about >>> what we want it to do next. On my list of things jpkg needs next are >>> >>> * lots of fresh jtreg tests >>> * rpm backend >>> * svr4/ips backend >>> >>> >From the JavaOne feedback, developers are also interested in using >>> jpkg for generating JNLP descriptors, OSGi bundles, Maven artifacts, >>> multi-module JARs, and a whole bunch of other interesting things. That >>> implies that we'll at some point probably need a simple way to create >>> jpkg backends as plugins for the tool. >>> Ideas, code and jtreg tests in particular ;) are welcome. >>> >>> >> I would like to help with the rpm backend and the jtreg tests. Can you >> send me more information on how to get started? >> > > I've cleaned up a few tiny things, there is a bit more to do, but let's > get you started - cleanups and refactoring of jpkg can progress alongside. > > To get the code: > > hg fclone http://hg.openjdk.java.net/jigsaw/jigsaw > > The code for jpkg is in jdk/src/share/classes/org/openjdk/jigsaw/cli/Packager.java > It's based on the code for the jmod tool (right next to it in the > directroy), and uses classes from org.openjdk.jigsaw (the actual > jigsaw implementation), java.lang.module (the module interface). > The Debian package creation is done via a class called Deb - and I've > added a skeleton class for RPM generation now, so that when jpkg > get called with the rpm keyword, it'll get run instead of the Deb class. > > It has basically two methods one needs to care about when adding a new > package format: > > writeMetaData - which takes care of converting metadata from jigsaw's > format to the package manager's (like translating dependencies) > > that basically boils down to: > > * translate module names to RPM names > * translate module versions to RPM versions > * translate module dependency names, versions and constraints to RPM dependency format > > buildPackage - which takes care of building the actual package > using native packaging tools and adding post/pre install scripts, > for example. > > * fakeroot & rpmbuild analogue of fakeroot & dpkg-deb > * post/pre install scripts to install/configure a module using jmod into the library > > Feel free to factor the current deb packaging code out into sub-classes > as you need them, I assume you may be able to reuse a bit of it in your own > (or turn it into utility methods). > > Building: > > The code is based on an older version of JDK 7, so you'll have to work around > the build not working without the ugly binary plugs (or poke mr to resync with > current). Since the build actually builds debian packages in jdk/make/modules/Makefile, > you'll want to change the all target to not build all-debs on Fedora, and instead > go with RPM tools, based on a makefile variable, for example. > > Playing around: > > Once you've built the code, I'd suggest looking at the jtreg tests in > jdk/test/org/openjdk/jigsaw and playing a bit with them to understand how jmod works. > Going from there, we should discuss what's necessary to do for RPM on IRC, for > example. I suspect the current code is due for a bit of refactoring ;) Thanks for this. I am building it at the moment, and I will play around for a while. Cheers, Lillian From Mandy.Chung at Sun.COM Fri Jun 26 12:48:45 2009 From: Mandy.Chung at Sun.COM (Mandy Chung) Date: Fri, 26 Jun 2009 12:48:45 -0700 Subject: Startup time measurement Message-ID: <4A45261D.4090007@sun.com> I instrumented the VM and core libs trying to get better understanding where the times are spent during class loading. Here is my initial set of result to determine the class data sharing impact to class loading. http://cr.openjdk.java.net/~mchung/startup_measurement/startup.result.b61 It includes the results with security manager enabled and I have to check which applications already enable security manager in the default setting before doing the comparison. Mandy