jar
to SVN-based Maven repositorySee also: Quick and dirty mavenization of an existing project
# # Creates two files: # # 1) A bash script with mvn install:install-file commands to push the .jar's to a repository. # 2) A POM file with dependencies pointing to .jar's in Maven repo, uploaded by the script. # if [ -z "$1" ] ; then echo "Usage: mavenize.sh <path-to-dir-with-jars> [<groupId:'fake'>]" exit fi LIB_PATH=$1 GROUP=${2:-fake} echo '' > stuffTheRepo.sh echo '<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> ' > pomWithDeps.xml echo " <modelVersion>4.0.0</modelVersion> <groupId>$GROUP</groupId> <artifactId>deps</artifactId> <packaging>pom</packaging> <version>0.0-SNAPSHOT</version> <name>Fake Maven deps from JARs</name> <dependencies> " >> pomWithDeps.xml for JAR_PATH in $LIB_PATH/*.jar ; do JAR=`basename $JAR_PATH` ARTIFACT=${JAR%.jar} echo "mvn install:install-file -Dpackaging=jar -DgeneratePom=true -DgroupId=$GROUP -Dfile=$JAR_PATH -DartifactId=$ARTIFACT -Dversion=0.0" >> stuffTheRepo.sh echo " <dependency><groupId>$GROUP</groupId><artifactId>$ARTIFACT</artifactId><version>0.0</version></dependency>" >> pomWithDeps.xml done echo " </dependencies> </project>" >> pomWithDeps.xml chmod u+x stuffTheRepo.sh
Copied from Sardine project's README.txt.
This is a maven repository of the Sardine project.
To add a new version, do the following:
Note: This is not a copy-paste code – edit it according to
your situation.
Note: The preferred way is to use the Wagon-SCM Maven plugin,
as described on JBoss
wiki.
# First, create the sources and javadoc jar's. zip -9 -b sardine-XX/javadoc/* > sardine-XX/javadoc.jar zip -9 -b sardine-XX/src/* > sardine-XX/sources.jar # Let Maven create the directory structure and all the metadata files in the local repository. mvn install:install-file -DpomFile=sardine-pom.xml -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -DgroupId=com.googlecode.sardine -Dfile=sardine-XX/sardine.jar -Djavadoc=sardine-XX/javadoc.jar -Dsources=sardine-XX/sources.jar -DartifactId=sardine -Dversion=XX # Check out remote SVN-based Maven repository. -N means non-recursive. svn co -N https://sardine.googlecode.com/svn/maven sardine-mvn --username you@gmail.com # Download the dir you're going to modify (if it exists). svn update com/googlecode/sardine/sardine # Copy the new artifacts to the working copy of the repository. cp -r ~/.m2/repository/com/googlecode/sardine/sardine sardine-mvn/com/googlecode/sardine/sardine # Rename the metadata file holding versions info. mv ~/.m2/repository/com/googlecode/sardine/sardine/maven-metadata-local.xml ~/.m2/repository/com/googlecode/sardine/sardine/maven-metadata.xml # Add everything new and commit. svn add --force * svn commit -m "Maven repo: Added version XX"
~/.m2/repository/
is your local Maven repository.
On windows it is usually
c:\Documents and Settings\user\.m2\repository\
.
pom.xml
is there because it contains dependency
definitions.