Re: What about : RESTlet in official Maven Repository ?
On Mon, May 19, 2008 at 8:34 AM, Jerome Louvel [EMAIL PROTECTED] wrote: Hi Steve, Is there any special we need to ensure compatibility with both Ivy and Maven regarding the repository? Is it working fine now with Ivy? It works well with ivy today. The projects that cause problems are those with different JVM versions (like testng that have a -java14 and a -java15) qualifier. This is my bit of a project's ivy.xml file to pull in the restlet artifacts that I use !--restlet api-- dependency org=org.restlet name=org.restlet rev=${restlet.version} conf=restlet-default/ !--this is the implementation and java.net integration-- dependency org=com.noelios.restlet name=com.noelios.restlet rev=${restlet.version} conf=restlet-default/ dependency org=com.noelios.restlet name=com.noelios.restlet.ext.net rev=${restlet.version} conf=restlet-default/ dependency org=com.noelios.restlet name=com.noelios.restlet.ext.httpclient rev=${restlet.version} conf=restlet-default exclude org=commons-httpclient/ /dependency !--file upload-- dependency org=org.restlet name=org.restlet.ext.fileupload rev=${restlet.version} conf=restlet-default/ dependency org=commons-fileupload name=commons-fileupload rev=${commons-fileupload.version} conf=restlet-default/ This creates a configuration called restlet that I can use at compile/test time, and which is exported for things downstream. The reason I exclude httpclient is that I use that in a separate project, the one my restlet project depends on, and we have a rule: only one SmartFrog component is allowed to import/manage a specific external artifact. That's to give us one place to change the settings, and because it matches the RPM rules, which tie JARs and other files to specific RPMs. Httpclient is trouble as it pulls in commons-logging and junit, and commons-logging pulls in lots of cruft (it has a bad pom) unless you tell it not to dependency org=commons-httpclient name=commons-httpclient rev=${commons-httpclient.version} conf=compile-master;httpclient-default exclude org=commons-logging/ exclude org=junit/ /dependency dependency org=commons-codec name=commons-codec rev=${commons-codec.version} conf=httpclient-default/ -again, elsewhere, commons-logging is picked up, but not avalon logkit, an old servletapi and other things I dont want !--it is essential that only the master JAR of commons logging is pulled in, as its dependencies are usually a mess, including things like out of date servlet APIs, bits of Avalon, etc. -- dependency org=commons-logging name=commons-logging rev=${commons-logging.version} conf=compile,redist-master/ For this to work I have an ivy-conf file that pulls in the public repository ibiblio name=maven2 root=${ivy.ibiblio.root} pattern=${maven2.pattern.ext} m2compatible=true / ibiblio name=maven.restlet.org root=${maven.restlet.org} pattern=${maven2.pattern.ext} m2compatible=true / chain name=default dual=true resolver ref=local/ resolver ref=team2/ resolver ref=maven2/ resolver ref=maven.restlet.org/ /chain There's some ant properties there to let people override the default location with some cache. Now, looking at the restlet.org repository, here are some troublespots -the javax.ws.rs SNAPSHOTS. No interim releases are allowed in the main maven repository -the various third party things (like JSON). you may need to work with the [EMAIL PROTECTED] list to get these on board. They are pretty unlikely to trust you as the official source of artifacts other than your own
RE: What about : RESTlet in official Maven Repository ?
Hi Steve, Excellent, this is a very useful piece of info for Ivy users. It would be great if you could add these instructions to the wiki. If you are ok, instructions to register are here: http://wiki.restlet.org/about/2-restlet.html I have created a blank page that you could edit once registered: Setting up your environment - with Ivy http://wiki.restlet.org/docs_1.1/g1/13-restlet/29-restlet/91-restlet/126-restlet.html Thanks! Jerome -Message d'origine- De : Steve Loughran [mailto:[EMAIL PROTECTED] Envoyé : mercredi 21 mai 2008 11:14 À : discuss@restlet.tigris.org Objet : Re: What about : RESTlet in official Maven Repository ? On Mon, May 19, 2008 at 8:34 AM, Jerome Louvel [EMAIL PROTECTED] wrote: Hi Steve, Is there any special we need to ensure compatibility with both Ivy and Maven regarding the repository? Is it working fine now with Ivy? It works well with ivy today. The projects that cause problems are those with different JVM versions (like testng that have a -java14 and a -java15) qualifier. This is my bit of a project's ivy.xml file to pull in the restlet artifacts that I use !--restlet api-- dependency org=org.restlet name=org.restlet rev=${restlet.version} conf=restlet-default/ !--this is the implementation and java.net integration-- dependency org=com.noelios.restlet name=com.noelios.restlet rev=${restlet.version} conf=restlet-default/ dependency org=com.noelios.restlet name=com.noelios.restlet.ext.net rev=${restlet.version} conf=restlet-default/ dependency org=com.noelios.restlet name=com.noelios.restlet.ext.httpclient rev=${restlet.version} conf=restlet-default exclude org=commons-httpclient/ /dependency !--file upload-- dependency org=org.restlet name=org.restlet.ext.fileupload rev=${restlet.version} conf=restlet-default/ dependency org=commons-fileupload name=commons-fileupload rev=${commons-fileupload.version} conf=restlet-default/ This creates a configuration called restlet that I can use at compile/test time, and which is exported for things downstream. The reason I exclude httpclient is that I use that in a separate project, the one my restlet project depends on, and we have a rule: only one SmartFrog component is allowed to import/manage a specific external artifact. That's to give us one place to change the settings, and because it matches the RPM rules, which tie JARs and other files to specific RPMs. Httpclient is trouble as it pulls in commons-logging and junit, and commons-logging pulls in lots of cruft (it has a bad pom) unless you tell it not to dependency org=commons-httpclient name=commons-httpclient rev=${commons-httpclient.version} conf=compile-master;httpclient-default exclude org=commons-logging/ exclude org=junit/ /dependency dependency org=commons-codec name=commons-codec rev=${commons-codec.version} conf=httpclient-default/ -again, elsewhere, commons-logging is picked up, but not avalon logkit, an old servletapi and other things I dont want !--it is essential that only the master JAR of commons logging is pulled in, as its dependencies are usually a mess, including things like out of date servlet APIs, bits of Avalon, etc. -- dependency org=commons-logging name=commons-logging rev=${commons-logging.version} conf=compile,redist-master/ For this to work I have an ivy-conf file that pulls in the public repository ibiblio name=maven2 root=${ivy.ibiblio.root} pattern=${maven2.pattern.ext} m2compatible=true / ibiblio name=maven.restlet.org root=${maven.restlet.org} pattern=${maven2.pattern.ext} m2compatible=true / chain name=default dual=true resolver ref=local/ resolver ref=team2/ resolver ref=maven2/ resolver ref=maven.restlet.org/ /chain There's some ant properties there to let people override the default location with some cache. Now, looking at the restlet.org repository, here are some troublespots -the javax.ws.rs SNAPSHOTS. No interim releases are allowed in the main maven repository -the various third party things (like JSON). you may need to work with the [EMAIL PROTECTED] list to get these on board. They are pretty unlikely to trust you as the official source of artifacts other than your own
RE: What about : RESTlet in official Maven Repository ?
Hi Steve, Is there any special we need to ensure compatibility with both Ivy and Maven regarding the repository? Is it working fine now with Ivy? I've entered a RFE to keep track of this need: Synchronize with central Maven repository http://restlet.tigris.org/issues/show_bug.cgi?id=497 Best regards, Jerome -Message d'origine- De : Steve Loughran [mailto:[EMAIL PROTECTED] Envoyé : vendredi 16 mai 2008 17:24 À : discuss@restlet.tigris.org Objet : Re: What about : RESTlet in official Maven Repository ? On Wed, May 14, 2008 at 8:49 AM, Jerome Louvel [EMAIL PROTECTED] wrote: Hi Jean-Yves, We have looked into this in the past. The issue with the manual upload process is that is takes time on our side and on Maven's side (they talk about four weeks to get an upload request processed). Their automatic process could be an option but it requires us to give them an SSH access to our server which we are reluctant to do for security reasons mainly. It would be much better if we could sync up with them using HTTP. I added Emmanuel Venisse, an early Maven contributor, in copy as he might have some more insights. Maybe we should open a RFE ticket on Maven project regarding HTTP synchronization? I'm in favour of this, with my need being Ivy-based builds; it is essential to me that your poms and artifacts remain compatible with ivy as well as Maven. If you had a sourceforge project, then you could publish via sourceforge instead; you scp it up and they'd rsync it off there. If you dont have one, you could always create one... -steve
RE: What about : RESTlet in official Maven Repository ?
Hi Jean-Yves, We have looked into this in the past. The issue with the manual upload process is that is takes time on our side and on Maven's side (they talk about four weeks to get an upload request processed). Their automatic process could be an option but it requires us to give them an SSH access to our server which we are reluctant to do for security reasons mainly. It would be much better if we could sync up with them using HTTP. I added Emmanuel Venisse, an early Maven contributor, in copy as he might have some more insights. Maybe we should open a RFE ticket on Maven project regarding HTTP synchronization? Best regards, Jerome -Message d'origine- De : news [mailto:[EMAIL PROTECTED] De la part de Jean-Yves Cronier Envoyé : mercredi 14 mai 2008 01:01 À : discuss@restlet.tigris.org Objet : What about : RESTlet in official Maven Repository ? After reading of http://maven.apache.org/guides/mini/guide-central-repository-upload.html, I think it is possible to make available RESTlet to the whole of developers community via the Official Maven repository (http://repo1.maven.org/maven) The first benefit: simplification of our POM (no needs of reporitory description like explain in http://www.restlet.org/downloads/maven) After that, it perhaps a good way to increase visibility and reuse about RESTlet framework. What do you think ?
Re: What about : RESTlet in official Maven Repository ?
Their automatic process could be an option but it requires us to give them an SSH access to our server which we are reluctant to do for security reasons mainly. I believe that you can also have your project sync'd over SVN. If you have the maven repository also be an SVN repository, I believe the central maven repo can simply svn up to ensure synchronization On Wed, May 14, 2008 at 3:49 AM, Jerome Louvel [EMAIL PROTECTED] wrote: Hi Jean-Yves, We have looked into this in the past. The issue with the manual upload process is that is takes time on our side and on Maven's side (they talk about four weeks to get an upload request processed). Their automatic process could be an option but it requires us to give them an SSH access to our server which we are reluctant to do for security reasons mainly. It would be much better if we could sync up with them using HTTP. I added Emmanuel Venisse, an early Maven contributor, in copy as he might have some more insights. Maybe we should open a RFE ticket on Maven project regarding HTTP synchronization? Best regards, Jerome -Message d'origine- De : news [mailto:[EMAIL PROTECTED] De la part de Jean-Yves Cronier Envoyé : mercredi 14 mai 2008 01:01 À : discuss@restlet.tigris.org Objet : What about : RESTlet in official Maven Repository ? After reading of http://maven.apache.org/guides/mini/guide-central-repository-upload.html, I think it is possible to make available RESTlet to the whole of developers community via the Official Maven repository (http://repo1.maven.org/maven) The first benefit: simplification of our POM (no needs of reporitory description like explain in http://www.restlet.org/downloads/maven) After that, it perhaps a good way to increase visibility and reuse about RESTlet framework. What do you think ?