From sstark at redhat.com Thu Mar 1 09:32:00 2012 From: sstark at redhat.com (Scott Stark) Date: Thu, 01 Mar 2012 12:32:00 -0500 (EST) Subject: Building Penrose In-Reply-To: Message-ID: Can you define "above takes a very long time" from your blog when referring to the "make test" step? I killed the test run after about 18 hours since it was still running and burning a lot of cpu in the fedora vm it was running in. Looking back through some of the test output, I see a number of timeouts: TEST RESULT: Failed. Execution failed: `main' threw exception: sun.awt.SunToolkit$OperationTimedOut: 10002 ----- Original Message ----- From: "David Bosschaert" To: penrose-dev at openjdk.java.net Sent: Wednesday, February 29, 2012 11:28:33 AM Subject: Re: Building Penrose ... In the mean time I figured out how to run the tests, for those who are interested, you can read my findings here: http://coderthoughts.blogspot.com/2012/02/running-penrose-or-openjdk-8-tests.html Best regards, David From david.bosschaert at gmail.com Thu Mar 1 11:30:10 2012 From: david.bosschaert at gmail.com (David Bosschaert) Date: Thu, 1 Mar 2012 19:30:10 +0000 Subject: Building Penrose In-Reply-To: References: Message-ID: The honest truth is that I didn't know how long it would take when I wrote the blog and I was too impatient to wait for it to complete. It was running tests as far as I could see :) I let it run for a full night and when I returned to look at it in the morning it was stuck somewhere in the test runs. Probably similar to what you were seeing. At least the good news is that the partial test runs (the ones where you invoke jtreg with a file or a directory) do complete relatively quickly. I'm still trying to figure out how to do debugging with those in an IDE [1] - if someone has any tips for that this woud be appreciated :) Cheers, David [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2012-February/002215.html On 1 March 2012 17:32, Scott Stark wrote: > Can you define "above takes a very long time" from your blog when referring to the "make test" step? I killed the test run after about 18 hours since it was still running and burning a lot of cpu in the fedora vm it was running in. Looking back through some of the test output, I see a number of timeouts: > > TEST RESULT: Failed. Execution failed: `main' threw exception: sun.awt.SunToolkit$OperationTimedOut: 10002 > > > ----- Original Message ----- > From: "David Bosschaert" > To: penrose-dev at openjdk.java.net > Sent: Wednesday, February 29, 2012 11:28:33 AM > Subject: Re: Building Penrose > > ... > > In the mean time I figured out how to run the tests, for those who are > interested, you can read my findings here: > http://coderthoughts.blogspot.com/2012/02/running-penrose-or-openjdk-8-tests.html > > Best regards, > > David From Alan.Bateman at oracle.com Thu Mar 1 12:53:09 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Thu, 01 Mar 2012 20:53:09 +0000 Subject: Building Penrose In-Reply-To: References: Message-ID: <4F4FE1B5.7090107@oracle.com> On 01/03/2012 19:30, David Bosschaert wrote: > The honest truth is that I didn't know how long it would take when I > wrote the blog and I was too impatient to wait for it to complete. It > was running tests as far as I could see :) > I let it run for a full night and when I returned to look at it in the > morning it was stuck somewhere in the test runs. Probably similar to > what you were seeing. > > At least the good news is that the partial test runs (the ones where > you invoke jtreg with a file or a directory) do complete relatively > quickly. I'm still trying to figure out how to do debugging with those > in an IDE [1] - if someone has any tips for that this woud be > appreciated :) > Most of the tests in the jdk repository are just standalone java classes with a public static void main method. This means you can compile/debug them outside of the test harness. Whether you can work in the IDE depends on whether the IDE can use the corresponding JDK. We've historically had issues working on the JDK in an IDE as it's not just Java code, requires using language features and class file versions that the IDE doesn't know about. It's got a bit better in recent years. Same thing with other off-the-shelf tools. From the mails I can't tell why your test runs are taking so long but the AWT tests do take a long time (hours). I will guess they aren't too interesting for this project and that you're probably mostly interested in the core area. In that case you can use other execution modes. In particular it means you can run the tests in a pool of agent VMs where each VM runs the tests sequentially. The great thing about this mode is that you elide the startup overhead for most tests. If a test crashes (meaning a hard crash, not an exception) then jtreg will spin up a replacement VM. jtreg has options to get it to retain the error log and core file. So the jtreg options to look at are -agentvm and -concurrency. Everything in the core libraries area, except the RMI tests, can run in agentvm mode so can run quickly. Personally I run with -agentvm -concurrency:auto (where "auto" = #cores). As regards the Jigsaw tests then one thing you'll find is that they are shell scripts so you'll going to have to do a bit of work to debug them in the IDE. It's not impossible, just means running the tests to allow the debugger to attach and configuring the IDE to use the appropriate JDI connector. The NetBeans folks on the list may have better suggestions. -Alan. From zhangshj at linux.vnet.ibm.com Thu Mar 1 23:53:08 2012 From: zhangshj at linux.vnet.ibm.com (Shi Jun Zhang) Date: Fri, 02 Mar 2012 15:53:08 +0800 Subject: OSGi TCK R4.3.0 test result Message-ID: <4F507C64.7050406@linux.vnet.ibm.com> Hi, I have run OSGi TCK R4.3.0 with Penrose Jigsaw build against Equinox framework 3.7.0 and Felix framework 4.0.0 plus Felix framework security 2.0.0. After fixing some OSGi TCK test problems which are confirmed by OSGi Alliance guy, the result is all tests pass on Linux 32bit platform and Windows 32bit platform. I will try to run with the latest Equinox and Felix and send out the result again. -- Regards, Shi Jun Zhang From zhangshj at linux.vnet.ibm.com Tue Mar 6 00:44:39 2012 From: zhangshj at linux.vnet.ibm.com (Shi Jun Zhang) Date: Tue, 06 Mar 2012 16:44:39 +0800 Subject: RFR: UI demo to browse Jigsaw libraries and modules Message-ID: <4F55CE77.20907@linux.vnet.ibm.com> Hi, I want to contribute an UI demo which shows how to use Jigsaw's API to browse Jigsaw libraries and modules, and read the module's metadata. demo.modulebrowser.ModuleBrowser is the main class, it will open the system module library by default and a button "browse other library" is offered to open a file chooser and choose a custom module library folder. Here is the webrev link: http://cr.openjdk.java.net/~zhangshj/penrose_modulebrowser_demo/webrev.00/ -- Regards, Shi Jun Zhang From david.bosschaert at gmail.com Tue Mar 6 06:32:51 2012 From: david.bosschaert at gmail.com (David Bosschaert) Date: Tue, 6 Mar 2012 14:32:51 +0000 Subject: RFR: UI demo to browse Jigsaw libraries and modules In-Reply-To: <4F55CE77.20907@linux.vnet.ibm.com> References: <4F55CE77.20907@linux.vnet.ibm.com> Message-ID: Hi Shi Jun, Looks interesting. I'd like to try it out. Since it's a demo why don't you simply add it to the source tree? Also, please make sure that a build script and/or build instructions are included. Best regards, David On 6 March 2012 08:44, Shi Jun Zhang wrote: > Hi, > > I want to contribute an UI demo which shows how to use Jigsaw's API to > browse Jigsaw libraries and modules, and read the module's metadata. > demo.modulebrowser.ModuleBrowser is the main class, it will open the system > module library by default and a button "browse other library" is offered to > open a file chooser and choose a custom module library folder. > > Here is the webrev link: > http://cr.openjdk.java.net/~zhangshj/penrose_modulebrowser_demo/webrev.00/ > > -- > Regards, > > Shi Jun Zhang > > From zhangshj at linux.vnet.ibm.com Tue Mar 6 18:57:40 2012 From: zhangshj at linux.vnet.ibm.com (zhangshj at linux.vnet.ibm.com) Date: Wed, 07 Mar 2012 02:57:40 +0000 Subject: hg: penrose/jigsaw/jdk: 8 new changesets Message-ID: <20120307025919.E8A284781F@hg.openjdk.java.net> Changeset: a23f0d50b86b Author: alanb Date: 2012-02-23 11:23 +0000 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/a23f0d50b86b Regenerate configurations for modules with entry points after installing modules Reviewed-by: mchung ! src/share/classes/org/openjdk/jigsaw/SimpleLibrary.java Changeset: 258a4ac1a2a3 Author: davidb Date: 2012-02-23 20:13 +0000 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/258a4ac1a2a3 Fix spaces/tabs in Sanity.gmk to make build work with gmake 3.82 ! make/common/shared/Sanity.gmk Changeset: 8df8feaabfa7 Author: chegar Date: 2012-02-24 11:54 +0000 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/8df8feaabfa7 Jigsaw tests intermittently failing on some platforms Reviewed-by: alanb, mchung ! src/share/classes/org/openjdk/jigsaw/SimpleLibrary.java ! test/org/openjdk/jigsaw/TrivialWebServer.java ! test/org/openjdk/jigsaw/_RemoteRepository.java ! test/org/openjdk/jigsaw/_RemoteRepositoryList.java ! test/org/openjdk/jigsaw/cli/JpkgArgsTest.java ! test/org/openjdk/jigsaw/cli/TimestampTest.java ! test/org/openjdk/jigsaw/cli/signed-modular-jar.sh ! test/org/openjdk/jigsaw/cli/signed-module.sh ! test/org/openjdk/jigsaw/tester.sh Changeset: 830c9470f368 Author: chegar Date: 2012-02-27 13:55 +0000 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/830c9470f368 Allow ModulesProblemList to be extended Reviewed-by: alanb ! test/Makefile ! test/ModulesProblemList.txt Changeset: 02b685958d9e Author: mchung Date: 2012-03-01 22:43 -0800 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/02b685958d9e Exports com.sun.tools.javac in the jdk.devtools default view ! make/modules/Makefile ! make/modules/modules.group ! make/modules/modules.properties ! make/tools/classanalyzer/src/com/sun/classanalyzer/ModuleConfig.java Changeset: 8927224bf054 Author: chegar Date: 2012-03-06 12:45 +0000 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/8927224bf054 Ensure that native libs and commands are in the right section of jmod file. Reviewed-by: mchung ! make/com/sun/java/pack/Makefile ! make/common/Defs-modules.gmk ! make/common/Defs.gmk ! make/common/Modules.gmk ! make/common/Program.gmk ! make/modules/Makefile Changeset: 55c21bd558ac Author: mchung Date: 2012-03-06 16:33 -0800 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/55c21bd558ac Fix modules.config to exclude some sun.misc classes from the base module ! make/modules/modules.config Changeset: 8501f3e6db42 Author: Shi Jun Zhang Date: 2012-03-07 10:37 +0800 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/8501f3e6db42 Merge From zhangshj at linux.vnet.ibm.com Tue Mar 6 19:11:10 2012 From: zhangshj at linux.vnet.ibm.com (Shi Jun Zhang) Date: Wed, 07 Mar 2012 11:11:10 +0800 Subject: hg: penrose/jigsaw/jdk: 8 new changesets In-Reply-To: <20120307025919.E8A284781F@hg.openjdk.java.net> References: <20120307025919.E8A284781F@hg.openjdk.java.net> Message-ID: <4F56D1CE.3010500@linux.vnet.ibm.com> On 3/7/2012 10:57 AM, zhangshj at linux.vnet.ibm.com wrote: > Changeset: a23f0d50b86b > Author: alanb > Date: 2012-02-23 11:23 +0000 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/a23f0d50b86b > > Regenerate configurations for modules with entry points after installing modules > Reviewed-by: mchung > > ! src/share/classes/org/openjdk/jigsaw/SimpleLibrary.java > > Changeset: 258a4ac1a2a3 > Author: davidb > Date: 2012-02-23 20:13 +0000 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/258a4ac1a2a3 > > Fix spaces/tabs in Sanity.gmk to make build work with gmake 3.82 > > ! make/common/shared/Sanity.gmk > > Changeset: 8df8feaabfa7 > Author: chegar > Date: 2012-02-24 11:54 +0000 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/8df8feaabfa7 > > Jigsaw tests intermittently failing on some platforms > Reviewed-by: alanb, mchung > > ! src/share/classes/org/openjdk/jigsaw/SimpleLibrary.java > ! test/org/openjdk/jigsaw/TrivialWebServer.java > ! test/org/openjdk/jigsaw/_RemoteRepository.java > ! test/org/openjdk/jigsaw/_RemoteRepositoryList.java > ! test/org/openjdk/jigsaw/cli/JpkgArgsTest.java > ! test/org/openjdk/jigsaw/cli/TimestampTest.java > ! test/org/openjdk/jigsaw/cli/signed-modular-jar.sh > ! test/org/openjdk/jigsaw/cli/signed-module.sh > ! test/org/openjdk/jigsaw/tester.sh > > Changeset: 830c9470f368 > Author: chegar > Date: 2012-02-27 13:55 +0000 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/830c9470f368 > > Allow ModulesProblemList to be extended > Reviewed-by: alanb > > ! test/Makefile > ! test/ModulesProblemList.txt > > Changeset: 02b685958d9e > Author: mchung > Date: 2012-03-01 22:43 -0800 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/02b685958d9e > > Exports com.sun.tools.javac in the jdk.devtools default view > > ! make/modules/Makefile > ! make/modules/modules.group > ! make/modules/modules.properties > ! make/tools/classanalyzer/src/com/sun/classanalyzer/ModuleConfig.java > > Changeset: 8927224bf054 > Author: chegar > Date: 2012-03-06 12:45 +0000 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/8927224bf054 > > Ensure that native libs and commands are in the right section of jmod file. > Reviewed-by: mchung > > ! make/com/sun/java/pack/Makefile > ! make/common/Defs-modules.gmk > ! make/common/Defs.gmk > ! make/common/Modules.gmk > ! make/common/Program.gmk > ! make/modules/Makefile > > Changeset: 55c21bd558ac > Author: mchung > Date: 2012-03-06 16:33 -0800 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/55c21bd558ac > > Fix modules.config to exclude some sun.misc classes from the base module > > ! make/modules/modules.config > > Changeset: 8501f3e6db42 > Author: Shi Jun Zhang > Date: 2012-03-07 10:37 +0800 > URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/8501f3e6db42 > > Merge > > I will rebase the code from http://hg.openjdk.java.net/jigsaw/jigsaw every one or two weeks. -- Regards, Shi Jun Zhang From zhangshj at linux.vnet.ibm.com Wed Mar 7 22:13:37 2012 From: zhangshj at linux.vnet.ibm.com (Shi Jun Zhang) Date: Thu, 08 Mar 2012 14:13:37 +0800 Subject: RFR: UI demo to browse Jigsaw libraries and modules In-Reply-To: References: <4F55CE77.20907@linux.vnet.ibm.com> Message-ID: <4F584E11.2010504@linux.vnet.ibm.com> On 3/6/2012 10:32 PM, David Bosschaert wrote: > Hi Shi Jun, > > Looks interesting. I'd like to try it out. Since it's a demo why don't > you simply add it to the source tree? Also, please make sure that a > build script and/or build instructions are included. > > Best regards, > > David > > On 6 March 2012 08:44, Shi Jun Zhang wrote: >> Hi, >> >> I want to contribute an UI demo which shows how to use Jigsaw's API to >> browse Jigsaw libraries and modules, and read the module's metadata. >> demo.modulebrowser.ModuleBrowser is the main class, it will open the system >> module library by default and a button "browse other library" is offered to >> open a file chooser and choose a custom module library folder. >> >> Here is the webrev link: >> http://cr.openjdk.java.net/~zhangshj/penrose_modulebrowser_demo/webrev.00/ >> >> -- >> Regards, >> >> Shi Jun Zhang >> >> Thanks, David. I have talked with Tim and he agreed that in general we can commit the demos directly without the review process in Penrose project. -- Regards, Shi Jun Zhang From zhangshj at linux.vnet.ibm.com Wed Mar 7 23:03:09 2012 From: zhangshj at linux.vnet.ibm.com (zhangshj at linux.vnet.ibm.com) Date: Thu, 08 Mar 2012 07:03:09 +0000 Subject: hg: penrose/penrose: 2 demos. java2d shows module can be loaded by both Jigsaw and OSGi. modulebrowser is a UI tool to browse Jigsaw libraries and modules. Message-ID: <20120308070309.92D074784B@hg.openjdk.java.net> Changeset: 62dbc6155d2a Author: Shi Jun Zhang Date: 2012-03-08 14:35 +0800 URL: http://hg.openjdk.java.net/penrose/penrose/rev/62dbc6155d2a 2 demos. java2d shows module can be loaded by both Jigsaw and OSGi. modulebrowser is a UI tool to browse Jigsaw libraries and modules. + demo/java2d/README + demo/java2d/build.sh + demo/java2d/deploy/configuration/config.ini + demo/java2d/deploy/org.eclipse.osgi_3.7.0.v20110613.jar + demo/java2d/run_as_jigsaw_modules.sh + demo/java2d/run_as_osgi_bundles.sh + demo/java2d/src/modules/java2d.demos.arcs/java2d/demos/Arcs_Curves/Arcs.java + demo/java2d/src/modules/java2d.demos.arcs/java2d/demos/Arcs_Curves/BezierAnim.java + demo/java2d/src/modules/java2d.demos.arcs/java2d/demos/Arcs_Curves/Curves.java + demo/java2d/src/modules/java2d.demos.arcs/java2d/demos/Arcs_Curves/Ellipses.java + demo/java2d/src/modules/java2d.demos.arcs/module-info.java + demo/java2d/src/modules/java2d.demos.clipping/java2d/demos/Clipping/Areas.java + demo/java2d/src/modules/java2d.demos.clipping/java2d/demos/Clipping/ClipAnim.java + demo/java2d/src/modules/java2d.demos.clipping/java2d/demos/Clipping/Intersection.java + demo/java2d/src/modules/java2d.demos.clipping/java2d/demos/Clipping/Text.java + demo/java2d/src/modules/java2d.demos.clipping/module-info.java + demo/java2d/src/modules/java2d.demos/java2d/Activator.java + demo/java2d/src/modules/java2d.demos/java2d/AnimatingControlsSurface.java + demo/java2d/src/modules/java2d.demos/java2d/AnimatingSurface.java + demo/java2d/src/modules/java2d.demos/java2d/CloningFeature.java + demo/java2d/src/modules/java2d.demos/java2d/ControlsSurface.java + demo/java2d/src/modules/java2d.demos/java2d/CustomControls.java + demo/java2d/src/modules/java2d.demos/java2d/CustomControlsContext.java + demo/java2d/src/modules/java2d.demos/java2d/DemoFonts.java + demo/java2d/src/modules/java2d.demos/java2d/DemoGroup.java + demo/java2d/src/modules/java2d.demos/java2d/DemoImages.java + demo/java2d/src/modules/java2d.demos/java2d/DemoPanel.java + demo/java2d/src/modules/java2d.demos/java2d/GlobalControls.java + demo/java2d/src/modules/java2d.demos/java2d/GlobalPanel.java + demo/java2d/src/modules/java2d.demos/java2d/Intro.java + demo/java2d/src/modules/java2d.demos/java2d/Java2Demo.java + demo/java2d/src/modules/java2d.demos/java2d/Java2DemoApplet.java + demo/java2d/src/modules/java2d.demos/java2d/MemoryMonitor.java + demo/java2d/src/modules/java2d.demos/java2d/PerformanceMonitor.java + demo/java2d/src/modules/java2d.demos/java2d/RunWindow.java + demo/java2d/src/modules/java2d.demos/java2d/Surface.java + demo/java2d/src/modules/java2d.demos/java2d/TextureChooser.java + demo/java2d/src/modules/java2d.demos/java2d/Tools.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Colors/BullsEye.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Colors/ColorConvert.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Colors/Rotator3D.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Composite/ACimages.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Composite/ACrules.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Composite/FadeAnim.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Fonts/AllFonts.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Fonts/AttributedStr.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Fonts/Highlighting.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Fonts/Outline.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Fonts/Tree.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Images/DukeAnim.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Images/ImageOps.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Images/WarpImage.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Lines/Caps.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Lines/Dash.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Lines/Joins.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Lines/LineAnim.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Mix/Balls.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Mix/BezierScroller.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Mix/Stars3D.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paint/GradAnim.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paint/Gradient.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paint/Texture.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paint/TextureAnim.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paths/Append.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paths/CurveQuadTo.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paths/FillStroke.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Paths/WindingRule.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Transforms/Rotate.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Transforms/SelectTx.java + demo/java2d/src/modules/java2d.demos/java2d/demos/Transforms/TransformAnim.java + demo/java2d/src/modules/java2d.demos/module-info.java + demo/java2d/src/resource/java2d.demos.arcs/META-INF/MANIFEST.MF + demo/java2d/src/resource/java2d.demos.clipping/META-INF/MANIFEST.MF + demo/java2d/src/resource/java2d.demos/META-INF/MANIFEST.MF + demo/java2d/src/resource/java2d.demos/fonts/A.ttf + demo/java2d/src/resource/java2d.demos/images/Thumbs.db + demo/java2d/src/resource/java2d.demos/images/bld.jpg + demo/java2d/src/resource/java2d.demos/images/boat.png + demo/java2d/src/resource/java2d.demos/images/box.gif + demo/java2d/src/resource/java2d.demos/images/boxwave.gif + demo/java2d/src/resource/java2d.demos/images/clone.gif + demo/java2d/src/resource/java2d.demos/images/clouds.jpg + demo/java2d/src/resource/java2d.demos/images/cupanim.gif + demo/java2d/src/resource/java2d.demos/images/duke.gif + demo/java2d/src/resource/java2d.demos/images/duke.png + demo/java2d/src/resource/java2d.demos/images/duke.running.gif + demo/java2d/src/resource/java2d.demos/images/dukeplug.gif + demo/java2d/src/resource/java2d.demos/images/fight.gif + demo/java2d/src/resource/java2d.demos/images/globe.gif + demo/java2d/src/resource/java2d.demos/images/java-logo.gif + demo/java2d/src/resource/java2d.demos/images/java_logo.png + demo/java2d/src/resource/java2d.demos/images/jumptojavastrip.png + demo/java2d/src/resource/java2d.demos/images/loop.gif + demo/java2d/src/resource/java2d.demos/images/looping.gif + demo/java2d/src/resource/java2d.demos/images/magnify.gif + demo/java2d/src/resource/java2d.demos/images/painting.gif + demo/java2d/src/resource/java2d.demos/images/print.gif + demo/java2d/src/resource/java2d.demos/images/remove.gif + demo/java2d/src/resource/java2d.demos/images/snooze.gif + demo/java2d/src/resource/java2d.demos/images/star7.gif + demo/java2d/src/resource/java2d.demos/images/start.gif + demo/java2d/src/resource/java2d.demos/images/start2.gif + demo/java2d/src/resource/java2d.demos/images/stop.gif + demo/java2d/src/resource/java2d.demos/images/stop2.gif + demo/java2d/src/resource/java2d.demos/images/surfing.gif + demo/java2d/src/resource/java2d.demos/images/thumbsup.gif + demo/java2d/src/resource/java2d.demos/images/tip.gif + demo/modulebrowser/README + demo/modulebrowser/src/demo/modulebrowser/AbstractNode.java + demo/modulebrowser/src/demo/modulebrowser/BrowseButton.java + demo/modulebrowser/src/demo/modulebrowser/ExportsNode.java + demo/modulebrowser/src/demo/modulebrowser/LeafNode.java + demo/modulebrowser/src/demo/modulebrowser/LibraryNode.java + demo/modulebrowser/src/demo/modulebrowser/MainClassNode.java + demo/modulebrowser/src/demo/modulebrowser/ModuleBrowser.java + demo/modulebrowser/src/demo/modulebrowser/ModuleNode.java + demo/modulebrowser/src/demo/modulebrowser/PermitsNode.java + demo/modulebrowser/src/demo/modulebrowser/ProvidesNode.java + demo/modulebrowser/src/demo/modulebrowser/RequiresNode.java + demo/modulebrowser/src/demo/modulebrowser/RequiresServiceNode.java + demo/modulebrowser/src/demo/modulebrowser/ViewNode.java + demo/modulebrowser/src/demo/modulebrowser/ViewsNode.java From david.bosschaert at gmail.com Mon Mar 12 12:59:05 2012 From: david.bosschaert at gmail.com (David Bosschaert) Date: Mon, 12 Mar 2012 19:59:05 +0000 Subject: Penrose work items In-Reply-To: <1ed7bc80-1579-4463-b39f-295dde078d74@zmail10.collab.prod.int.phx2.redhat.com> References: <1ed7bc80-1579-4463-b39f-295dde078d74@zmail10.collab.prod.int.phx2.redhat.com> Message-ID: I've started looking at alternatives for module-info.java/module-info.class. I was hoping that we would collect all these on a wiki somewhere but I don't see anything like that available to penrose anywhere yet :( Best regards, David On 28 February 2012 20:17, Scott Stark wrote: > Good question. > > A prototype I am interested in pursuing in the context of the penrose project is to investigate jdk module implementation changes that allow our jboss modules and jboss osgi bundles to work on top of the jdk modules more effectively as the proof of concept. Currently we have hacks to workaround issues with class loaders and module design. > > ----- Original Message ----- > From: "David Bosschaert" > To: penrose-dev at openjdk.java.net > Sent: Tuesday, February 28, 2012 2:54:39 AM > Subject: Penrose work items > > Hi all, > > Just thinking about the work that will be done in Penrose and how we > keep visibility of everything. > Should we collect all the work items on the wiki, or is there a > Jira/Bugzilla instance that we will be using? > > Best regards, > > David From zhangshj at linux.vnet.ibm.com Fri Mar 16 02:53:01 2012 From: zhangshj at linux.vnet.ibm.com (zhangshj at linux.vnet.ibm.com) Date: Fri, 16 Mar 2012 09:53:01 +0000 Subject: hg: penrose/jigsaw/jdk: 2 new changesets Message-ID: <20120316095402.27C55479D3@hg.openjdk.java.net> Changeset: 04e27358d0dc Author: mchung Date: 2012-03-12 13:33 -0700 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/04e27358d0dc Exports sun.reflect in jdk.base as a workaround for reflection ! make/modules/modules.group ! make/tools/classanalyzer/src/com/sun/classanalyzer/Module.java Changeset: be5bf60677d6 Author: Shi Jun Zhang Date: 2012-03-16 17:33 +0800 URL: http://hg.openjdk.java.net/penrose/jigsaw/jdk/rev/be5bf60677d6 Merge From zhangshj at linux.vnet.ibm.com Fri Mar 16 03:25:22 2012 From: zhangshj at linux.vnet.ibm.com (zhangshj at linux.vnet.ibm.com) Date: Fri, 16 Mar 2012 10:25:22 +0000 Subject: hg: penrose/penrose: 2 new changesets Message-ID: <20120316102523.BAC0C479D5@hg.openjdk.java.net> Changeset: 78904076b014 Author: Shi Jun Zhang Date: 2012-03-16 18:21 +0800 URL: http://hg.openjdk.java.net/penrose/penrose/rev/78904076b014 Add build script and it now can run in both legacy mode and modular mode. Add function that the browser can browse classes in modules and public APIs in those classes. ! demo/modulebrowser/README + demo/modulebrowser/build.sh + demo/modulebrowser/src/demo/modulebrowser/ClassNode.java + demo/modulebrowser/src/demo/modulebrowser/ClassesNode.java ! demo/modulebrowser/src/demo/modulebrowser/ModuleNode.java + demo/modulebrowser/src/demo/modulebrowser/PackageNode.java + demo/modulebrowser/src/module-info.java Changeset: 0187a922483d Author: Shi Jun Zhang Date: 2012-03-16 18:23 +0800 URL: http://hg.openjdk.java.net/penrose/penrose/rev/0187a922483d Add demo to show how to load Jigsaw module's class with user's own classloader. + demo/classloader/README + demo/classloader/build.sh + demo/classloader/src/classloader/classloader/MyClassLoader.java + demo/classloader/src/classloader/module-info.java + demo/classloader/src/foo/foo/HelloWorld.java + demo/classloader/src/foo/module-info.java From david.bosschaert at gmail.com Thu Mar 22 08:06:00 2012 From: david.bosschaert at gmail.com (David Bosschaert) Date: Thu, 22 Mar 2012 15:06:00 +0000 Subject: Prototype: more extensible and human-readable module metadata Message-ID: Hi all, I have started looking at alternatives for module-info.class. I personally find the use of a .java/.class file inappropriate for module metadata: it?s not easily readable once compiled (you need a tool, rather than being able to use any text editor to look at it) and its contents are not like any java file at all, it?s rather a special sub-language that only applies to module-info.java and is totally separate from the rest of java. Anyway, the biggest issue with module-info.class is that it?s hard to extend. In the case of OSGi you?d like to extend the module metadata with package version information, for example. So I wanted to come up with a more extensible format that would also be readable with a simple text editor once put in the jar file. So I started prototyping in the Penrose codebase. I came up with META-INF/module-info.xml as an alternative. For example, the following module-info.java: module org.astro.xml @ 1.2 { exports org.astro.xml; } could be represented as: You can then extend it in any arbitrary place by adding tags and attributes in a other namespace, e.g. for OSGi: or even In my prototype I?m supporting the new format alongside the module-info.class. If the META-INF/module-info.xml is found, that is used, otherwise it will revert to module-info.class. However, before I go much further, I?m wondering what people feel about the XML format. Is it ok? Or should we go for another format? Cheers, David From zhangshj at linux.vnet.ibm.com Fri Mar 23 00:43:50 2012 From: zhangshj at linux.vnet.ibm.com (Shi Jun Zhang) Date: Fri, 23 Mar 2012 15:43:50 +0800 Subject: Prototype: more extensible and human-readable module metadata In-Reply-To: References: Message-ID: <4F6C29B6.7060205@linux.vnet.ibm.com> On 3/22/2012 11:06 PM, David Bosschaert wrote: > Hi all, > > I have started looking at alternatives for module-info.class. I > personally find the use of a .java/.class file inappropriate for > module metadata: it?s not easily readable once compiled (you need a > tool, rather than being able to use any text editor to look at it) and > its contents are not like any java file at all, it?s rather a special > sub-language that only applies to module-info.java and is totally > separate from the rest of java. > Anyway, the biggest issue with module-info.class is that it?s hard to > extend. In the case of OSGi you?d like to extend the module metadata > with package version information, for example. So I wanted to come up > with a more extensible format that would also be readable with a > simple text editor once put in the jar file. > > So I started prototyping in the Penrose codebase. I came up with > META-INF/module-info.xml as an alternative. For example, the following > module-info.java: > module org.astro.xml @ 1.2 { > exports org.astro.xml; > } > > could be represented as: > xmlns="http://www.jcp.org/xmlns/modules/v1.0"> > > > > You can then extend it in any arbitrary place by adding tags and > attributes in a other namespace, e.g. for OSGi: > xmlns="http://www.jcp.org/xmlns/modules/v1.0" > xmlns:osgi=?http://www.osgi.org/xmlns/javamodules/v1.0?> > > > > > or even > xmlns="http://www.jcp.org/xmlns/modules/v1.0" > xmlns:osgi=?http://www.osgi.org/xmlns/javamodules/v1.0?> > > > > In my prototype I?m supporting the new format alongside the > module-info.class. If the META-INF/module-info.xml is found, that is > used, otherwise it will revert to module-info.class. > > However, before I go much further, I?m wondering what people feel > about the XML format. Is it ok? Or should we go for another format? > > Cheers, > > David > Hi David, Here is the commentary on module-metadata formats [1] for your reference if you have not read it. Also there is a requirement of extensible module declarations[2] in that document, but it seems has not been implemented yet. I think we can involve jigsaw-dev in this discussion. If we want to align with OSGi, why don't we use OSGi metadata format directly? [1] http://openjdk.java.net/projects/jigsaw/doc/draft-java-module-system-requirements-12#_C [2] http://openjdk.java.net/projects/jigsaw/doc/draft-java-module-system-requirements-12#extensible-module-declarations -- Regards, Shi Jun Zhang From Alan.Bateman at oracle.com Fri Mar 23 06:54:14 2012 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 23 Mar 2012 13:54:14 +0000 Subject: Prototype: more extensible and human-readable module metadata In-Reply-To: <4F6C29B6.7060205@linux.vnet.ibm.com> References: <4F6C29B6.7060205@linux.vnet.ibm.com> Message-ID: <4F6C8086.1040900@oracle.com> On 23/03/2012 07:43, Shi Jun Zhang wrote: > : > > Here is the commentary on module-metadata formats [1] for your > reference if you have not read it. Also there is a requirement of > extensible module declarations[2] in that document, but it seems has > not been implemented yet. It's been there for a long time, anything after the final "}" will be passed through by the compiler to the ModuleData attribute. -Alan From david.bosschaert at gmail.com Fri Mar 23 07:37:35 2012 From: david.bosschaert at gmail.com (David Bosschaert) Date: Fri, 23 Mar 2012 14:37:35 +0000 Subject: Prototype: more extensible and human-readable module metadata In-Reply-To: <4F6C8086.1040900@oracle.com> References: <4F6C29B6.7060205@linux.vnet.ibm.com> <4F6C8086.1040900@oracle.com> Message-ID: On 23 March 2012 13:54, Alan Bateman wrote: > On 23/03/2012 07:43, Shi Jun Zhang wrote: >> >> : >> >> Here is the commentary on module-metadata formats [1] for your reference >> if you have not read it. Also there is a requirement of extensible module >> declarations[2] in that document, but it seems has not been implemented yet. > > It's been there for a long time, anything after the final "}" will be passed > through by the compiler to the ModuleData attribute. > > -Alan The problem with that is that it is out of context. For example, in OSGi version numbers are assigned to exported packages. Having that version information separate from the actual exports is inconvenient, causes a lot of duplication (the exported packages will need to be repeated for the version information) and error-prone (the info may get out of sync). Best regards, David From gnormington at vmware.com Fri Mar 23 08:14:34 2012 From: gnormington at vmware.com (Glyn Normington) Date: Fri, 23 Mar 2012 15:14:34 +0000 Subject: Prototype: more extensible and human-readable module metadata In-Reply-To: References: <4F6C29B6.7060205@linux.vnet.ibm.com> <4F6C8086.1040900@oracle.com> Message-ID: I objected to requirement [2] on jigsaw-dev back in June 2011 (twice, and again in August, with no response) because it states: "The syntax must place all extended metadata after all standard metadata, with a clear delineation between them." which is poor for decorating Jigsaw metadata with OSGi additions as David has already pointed out a number of times and now again. I'm pleased that the point is finally being discussed, but I haven't yet heard an argument for keeping the standard and extended metadata sequentially separated. Surely the requirement should simply say that it has to be clear what is standard and what is extended metadata? There are a number of ways of implementing that restated requirement, but lumping all the standard metadata together separately from the extended metadata doesn't seem like an elegant solution when the OSGi interoperation requirement is also taken into account. Regards, Glyn On 23 Mar 2012, at 14:37, David Bosschaert wrote: > On 23 March 2012 13:54, Alan Bateman wrote: >> On 23/03/2012 07:43, Shi Jun Zhang wrote: >>> >>> : >>> >>> Here is the commentary on module-metadata formats [1] for your reference >>> if you have not read it. Also there is a requirement of extensible module >>> declarations[2] in that document, but it seems has not been implemented yet. >> >> It's been there for a long time, anything after the final "}" will be passed >> through by the compiler to the ModuleData attribute. >> >> -Alan > > The problem with that is that it is out of context. For example, in > OSGi version numbers are assigned to exported packages. Having that > version information separate from the actual exports is inconvenient, > causes a lot of duplication (the exported packages will need to be > repeated for the version information) and error-prone (the info may > get out of sync). > > Best regards, > > David