Hi Ken,
I was able to publish jars. You can check that they are now available at
http://download.java.net/maven/1/com.sun.jsftemplating/jars/
For this first publishing, i have used version 1.0. We will have to
modify the 3 pom files and build.xml files besides any properties file
to autogenerate the version info for next publishing, if we will use the
cronjobs to publish jars periodically.
But before integrating the changes i wanted you to review files which i
will be integrating.
We need to create 3 new poms , one each for jsftemplating,
jsftempating-dt and jsftemplating-dynafaces-0.1 for each jar we want to
publish.
I had to modify build.properties file to set two variable which i have
used in the build.xml file. I have attached the context diffs of both
these files for review besides the three poms.
We will have to download 1 jar maven-repository-importer-1.2.jar from
the below website.
https://maven-repository.dev.java.net/nonav/repository/com.sun.wts.tools.mri/jars/
I have kept this jar in ${jsftemplatinghome}/lib/external directory and
set this path in build.properties file.
If we plan to change the location to put this jar, build.properties file
needs to be updated too
This jar should be in classpath (done in build.xml) to use the
corresponding ant -task in build script
Details on the steps on how the new ant task can be added to build
scripts to push artifacts in maven repository can be found at
https://maven-repository-importer.dev.java.net/source/browse/*checkout*/maven-repository-importer/maven-repository-importer/doc/index.html
I have pushed artifacts from SOlaris machine using cvs 1.11.16 as my
windows machines cvs (cvsnt 2.5.03 scorpio build 2260) was giving
problem in importing jars.
I would appreciate if someone else with different cvs version on windows
can try the same and ok the changes.
I observed few other projects (like jmaki and few others ) have three
directories published (jars, java-sources, poms). Would you consider
having third directory too?
Let me know how should we go about version information and if the
contents of the published jars are what we want.
Priti
Ken Paulsen wrote:
>
> Hi Priti,
>
> Thanks for looking into this!
>
> A LONG time back I started looking into this and didn't get very far.
> :) However, I did add the maven_repository user as an observer... so
> that is already done. :)
>
> FYI, in case you didn't already notice we do have a nightly build
> system in place... if that can be of any help wrt publishing to the
> maven repository feel free to take advantage of that. We may also
> want to ensure we have a proper version # in the META-INF directory of
> the jsft.jar file... let me know if you need any help with that.
>
> Thank you!!
>
> Ken
>
> Priti Tiwary wrote:
>> Hi Ken,
>> In order to publish the JSFTemplating jars in Maven Repository we
>> have to first add "maven_repository" user as observer in the project.
>> Other steps include putting maven-repository-importer.jar in the
>> project and writing targets to push the three jars in repository
>> If you add the user , i will send you the changes to build.xml files
>> for review .
>> Priti
>>
--
Priti Tiwary
Open ESB Community (http://open-esb.org)
<project>
<groupId>com.sun.jsftemplating</groupId>
<artifactId>jsftemplating</artifactId>
<version>@VERSION@</version>
<name>Templating for Java Server Faces</name>
</project>
<project>
<groupId>com.sun.jsftemplating</groupId>
<artifactId>jsftemplating-dt</artifactId>
<version>@VERSION@</version>
<name>JSFTemplating Design Time lib</name>
</project>
<project>
<groupId>com.sun.jsftemplating</groupId>
<artifactId>jsftemplating-dynafaces-0.1</artifactId>
<version>@VERSION@</version>
<name>JSFTemplating Dynafaces support lib</name>
</project>
##
## This is an example build.properties file, you should modify it to match
## your environment. It should be saved as file called "build.properties".
##
## NOTE to Windows Users: Use forward slashes (/) instead of back-slashes
## (\). For example:
##
## glassfish-home=C:/Sun/AppServer
##
## glassfish-home is the only variable you need to change if you are using
## GlassFish. glassfish-home is only used w/i this file, so if you don't have
## GlassFish, you only need to replace the references to GlassFish here.
glassfish-home=/space0/gf-0908-pe/publish/glassfish
servlet-api.jar=${glassfish-home}/lib/javaee.jar
junit.jar=test/junit/junit.jar
## This is already available for GlassFish in javaee.jar
jsf-api.jar=
el-api.jar=
## You don't need to change these:
aptbuild=aptbuild
build=build
dist=dist
docs=docs
lib=lib
src=src/java
test=test
jsftemplating.jar=${dist}/jsftemplating.jar
jsftemplating-dt.jar=${dist}/jsftemplating-dt.jar
## Dynamic Faces jar file for JSFTemplating
jsftemplating-dynafaces.jar=${lib}/external/jsftemplating-dynafaces-0.1.jar
maven-repository-importer.jar=${lib}/external/maven-repository-importer-1.2.jar
java.net.user.name=ptsukla
## Woodstock specific jar files
dataprovider.jar=lib/external/woodstock/dataprovider.jar
jsftemplating.home=${src}/com/sun/jsftemplating
compile.debug=true
compile.optimize=false
compile.deprecation=false
#proxy.host=
#proxy.port=
#proxy.user=
#proxy.pass=
Index: build.xml
===================================================================
RCS file: /cvs/jsftemplating/build.xml,v
retrieving revision 1.31
diff -c -r1.31 build.xml
*** build.xml 7 Jun 2007 04:57:00 -0000 1.31
--- build.xml 23 Aug 2007 17:52:42 -0000
***************
*** 204,207 ****
--- 204,236 ----
fileDescription="Nightly snapshot of the JSFTemplating DynaFaces support lib"
overwrite="yes"/>
</target>
+ <target name="push-to-maven-prepare">
+ <taskdef resource="maven-repository-importer.properties">
+ <classpath>
+ <pathelement path="${maven-repository-importer.jar}" />
+ </classpath>
+ </taskdef>
+ <delete dir="${build}/maven-repo" /><!-- clean it -->
+ <maven-repository-importer destdir="build/maven-repo" version="1.0">
+ <artifact jar="${dist}/jsftemplating.jar" pom="jsftemplating.pom"/>
+ <artifact jar="${dist}/jsftemplating-dt.jar" pom="jsftemplating-dt.pom" />
+ <artifact jar="${dist}/jsftemplating-dynafaces-0.1.jar" pom="jsftemplating-dynafaces-0.1.pom" />
+ </maven-repository-importer>
+ </target>
+
+ <target name="push-to-maven" depends="push-to-maven-prepare">
+ <!-- import to CVS-->
+ <tstamp />
+ <echo>importing to CVS...</echo>
+ <cvs dest="${build}/maven-repo">
+ <commandline>
+ <argument value="-d:pserver:${java.net.user.name}_at_cvs.dev.java.net:/cvs" />
+ <argument line="-z9 import -ko -W *.jar -kb -m" />
+ <argument value="deploying new jars to the java.net maven repository" />
+
+ <argument value="jsftemplating/repo" />
+ <argument line="deployment-to-maven-repository t${DSTAMP}${TSTAMP}" />
+ </commandline>
+ </cvs>
+ </target>
</project>