dev@glassfish.java.net

Re: Jerome, Sahoo: please review Jersey 1.1.0-ea integration patch

From: Snjezana Sevo-Zenzerovic <Snjezana.Sevo-Zenzerovic_at_Sun.COM>
Date: Mon, 04 May 2009 16:10:54 -0700

Please see inline...

Thanks,

Snjezana

Jakub Podlesak wrote:

>On Mon, May 04, 2009 at 01:20:58PM -0700, Snjezana Sevo-Zenzerovic wrote:
>
>
>>Jakub,
>>
>>one note/question - I see that you changed IPS package dependencies to
>>include both glassfish-nucleus and metro packages. Do you still require
>>only jaxb from metro? If that's the case, you should define dependency on
>>glassfish-common package since jaxb is there now, and you don't need
>>separate dependency on glassfish-nucleus since glassfish-common depends on
>>it.
>>
>>
>
>Does it apply from now on? Is it any different for gfv3 prelude?
>I mean, do we need different dependencies for GFv3 Prelude/GFv3 Preview?
>
>
OK, I see your point now - so, you wanted to use the same package as an
update in Prelude repository, right?

That will be somewhat tricky...One option would be to resort to the
overkill of specifying both glassfish-common and metro packages as
dependencies, so you would be sure to get jaxb in both cases. Downside
of this is that in the case of GF trunk/preview release you would always
be pulling in Metro package which you do not really need anymore.

My personal recommendation would be to create two separate instances of
the jersey package, one for trunk/preview and another one for Prelude
update, each one having proper IPS dependency for its own branch.

>Thanks,
>
>~Jakub
>
>P.S. Forgive me, please, but i can not help myself: do not we want to have jaxb
>module provided in a separate jaxb ips package (and similarly all other modules
>in corresponding ips packages), so that things are simple and transparent?
>
>
You really don't have to apologize, I have seen you asking this in other
jaxb related thread and it is perfectly valid question although I don't
have the answer you want to hear... IPS tooling is not particularly
well equipped to handle something that is fine grained on that level and
even with the current state of things we are trying to cut down on the
number of IPS packages (and even number of individual jars) used for
GlassFish distributions.
With each additional IPS package we introduce overhead when it comes to
build time and additional distribution download size related to package
metadata. From end-user perspective, it would also be pretty hard to use
client tools such as updatetool and update section of Admin GUI since
even out of the box they would have to deal with the list of literally
hundreds of IPS packages.

>
>
>
>>Thanks,
>>
>>Snjezana
>>
>>Jakub Podlesak wrote:
>>
>>
>>
>>>Hi Jerome, Sahoo,
>>>
>>>Could you please review the attached patch,
>>>which should integrate Jersey version 1.1.0-ea into the 3.0-Preview branch
>>>and the main trunk.
>>>
>>>Thanks,
>>>
>>>~Jakub
>>>
>>>------------------------------------------------------------------------
>>>
>>>Index: pom.xml
>>>===================================================================
>>>--- pom.xml (revision 26906)
>>>+++ pom.xml (working copy)
>>>@@ -155,7 +155,7 @@
>>> <antlr.version>2.7.6</antlr.version>
>>> <mq.version>4.4-005</mq.version>
>>> <webbeans.version>1.0.0.PREVIEW1</webbeans.version>
>>>- <jersey.version>1.0.1</jersey.version>
>>>+ <jersey.version>1.1.0-ea</jersey.version>
>>> <jbi.version>1.0</jbi.version>
>>> <wsdl4j.version>1.6.2</wsdl4j.version>
>>> <gfprobe-provider-client.version>3.0.0-b001</gfprobe-provider-client.version>
>>>Index: packager/jersey/src/main/resources/pkg_proto.py
>>>===================================================================
>>>--- packager/jersey/src/main/resources/pkg_proto.py (revision 26906)
>>>+++ packager/jersey/src/main/resources/pkg_proto.py (working copy)
>>>@@ -35,21 +35,30 @@
>>># only if the new code is made subject to such option by the copyright
>>># holder.
>>>#
>>>+
>>>import imp
>>>
>>>conf = imp.load_source("pkg_conf", "../pkg_conf.py")
>>>
>>>pkg = {
>>> "name" : "jersey",
>>>- "version" : "1.0.1,0-0.1",
>>>- "attributes" : {
>>>- "pkg.summary" : "Jersey RESTful Web services for GlassFish",
>>>- "pkg.description" : "Jersey is the open source (under dual CDDL+GPL license) JAX-RS (JSR 311) Reference Implementation for building RESTful Web services. But, it is also more than the Reference Implementation. Jersey provides additional APIs and extension points (SPIs) so that developers may extend Jersey to suite their needs.",
>>>- "info.classification" : "Web Services",
>>>- },
>>>- "dirtrees" : [ "jersey", "glassfish" ],
>>>- "depends" : { "pkg:/metro_at_1.4" : {"type" : "require" }},
>>>- "licenses" : {
>>>- "../../../../CDDL+GPL.txt" : {"license" : "CDDL and GPL v2 with classpath exception"},
>>>- },
>>>+ "version" : "1.1.0,0-1.0",
>>>+ "attributes" : { "pkg.summary" : "Jersey Core, RESTful Web services for GlassFish",
>>>+ "pkg.description" : +"Jersey core runtime
>>>libraries including some 3rd party dependencies. \
>>>+ Documentation and examples of Jersey were moved to a separate package, Jersey Examples And Documentation. \
>>>+ If you are about to upgrade Jersey, you might want to install that new package as well, otherwise Jersey examples and javadocs will get deleted. \
>>>+ Also please note, that from 1.0.3 version on, Jersey docs and examples get installed into <as_home>/glassfish/jersey directory instead of just <as_home>/jersey. \
>>>+ Jersey is the open source (under dual CDDL+GPL license)\
>>>+ JAX-RS (JSR 311) Reference Implementation for building RESTful Web services. \
>>>+ But, it is also more than the Reference Implementation. \
>>>+ Jersey provides additional APIs and extension points (SPIs) \
>>>+ so that developers may extend Jersey to suite their needs.",
>>>+ "info.classification" : "Web Services" },
>>>+ "dirtrees" : [ "glassfish"],
>>>+ "depends" : { + "pkg:/glassfish-nucleus_at_3.0" :
>>>{"type" : "require" }
>>>+ ,"pkg:/metro_at_1.4" : {"type" : "require" }
>>>+ },
>>>+ "licenses" : { "../../../../CDDL+GPL.txt" : {"license" : "CDDL and GPL v2 with classpath exception"}}
>>>}
>>>Index: packager/jersey/pom.xml
>>>===================================================================
>>>--- packager/jersey/pom.xml (revision 26906)
>>>+++ packager/jersey/pom.xml (working copy)
>>>@@ -88,15 +88,12 @@
>>>
>>>
>>> <dependencies>
>>>- <!--
>>>- modules to be included in this bundle - temporary solution
>>>-until we sort out 1.0.2 non-snapshot dependencies
>>>- --> <dependency> -
>>><groupId>org.glassfish.packager.temp</groupId>
>>>- <artifactId>jersey</artifactId>
>>>+ <groupId>com.sun.jersey.glassfish.v3</groupId>
>>>+ <artifactId>jersey-gfv3-core</artifactId>
>>> <version>${jersey.version}</version>
>>> <type>zip</type>
>>>+ <classifier>project</classifier>
>>> </dependency>
>>> </dependencies>
>>>
>>>@@ -134,9 +131,17 @@
>>> </profile>
>>> </profiles>
>>>+ <repositories>
>>>+ <repository>
>>>+ <id>maven2-repository.dev.java.net</id>
>>>+ <name>Java.net Repository for Maven</name>
>>>+ <url>http://download.java.net/maven/2/</url>
>>>+ </repository>
>>>+ </repositories>
>>>+
>>> <pluginRepositories>
>>> <pluginRepository>
>>>- <id>maven2-repository.dev.java.net</id>
>>>+ <id>maven2-plugin-repository.dev.java.net</id>
>>> <name>Java.net Repository for Maven</name>
>>> <url>http://download.java.net/maven/2/</url>
>>> </pluginRepository>
>>>Index: packager/jersey/build.xml
>>>===================================================================
>>>--- packager/jersey/build.xml (revision 26906)
>>>+++ packager/jersey/build.xml (working copy)
>>>@@ -25,7 +25,7 @@
>>> <target name="create.package">
>>> <echo message="Staging files"/>
>>>
>>>- <unzip src="target/tmp/jersey.zip"
>>>+ <unzip src="target/tmp/jersey-gfv3-core-project.zip"
>>> dest="target/stage/${install.dir.name}">
>>> </unzip>
>>>
>>>@@ -34,7 +34,7 @@
>>> <antcall target="pack.compression" />
>>> </if>
>>> - <zip file="target/jersey.zip"
>>>basedir="target/stage">
>>>+ <zip file="target/jersey.zip" basedir="target/stage" excludes="**/jersey-core_proto.py, **/LICENSE.txt">
>>> </zip>
>>>
>>> <attachArtifact file="target/jersey.zip"/>
>>>
>>>------------------------------------------------------------------------
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>
>>>
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>
>>
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>
>
>