Hi all,

I use this bash  script to upgrade my local maven2 repository 
each time a new version of Restlet comes up.
Some of you might find it useful.

-Vincent.

#!/bin/bash
#
# This script installs a Restlet disrtribution  into a local (filesystem)
# maven2 repository.
#
# Usage: restlet2mvn.bsh <path to Restlet distribution > <path to local maven
repository>
#

if [ $# -le 1 ]; then
   echo "Usage: restlet2mvn.bsh <path to Restlet distribution > <path to local
maven repository>"
   exit 1;
fi
RESTLET_DIST=$1
MAVEN_REPOSITORY=$2
MVN=mvn

if [ ! -e $RESTLET_DIST ]
then
   echo "Restlet distribution not found: $RESTLET_DIST"
   exit 1;
fi

if [ ! -e $MVN_REPO ]
then
   echo "Maven repository not found: $MVN_REPO"
   exit 1;
fi

LIB_DIR=$RESTLET_DIST/lib
POMS_DIR=$RESTLET_DIST/lib/poms

poms=`ls $POMS_DIR/*.pom`


for pom in $poms
do
 #  restlet/lib/poms/foo.pom -> restlet/lib/foo.jar
 jar=`echo $pom | sed s/.pom$/.jar/g | sed s/poms\\\///g`
 if [ -e $jar ]
  then
   # Extract the group, artifact id, and version number from the POM:
   # We assume that the first <groupId>, <artifactId>, <version> tags found in
the pom
   # contain the module's group id, artifact id, and version #.
   # This will break if the pom contains commented out tags:
   #      <groupId>foo<.groupId>
   #      <!-- <artifactId>bar</artifactId> -->
   #      <artifactId>bar</artifactId>
   #      <versio>1.0</version>
   group=` grep --regexp '<groupId>.*</groupId>' --max-count=1   $pom | sed
's/[[:space:]]*<[^><]*>[[:space:]]*//g' `
   artifact=` grep --regexp '<artifactId>.*</artifactId>' --max-count=1   $pom |
sed 's/[[:space:]]*<[^><]*>[[:space:]]*//g' `
   version=` grep --regexp '<version>.*</version>' --max-count=1   $pom | sed
's/[[:space:]]*<[^><]*>[[:space:]]*//g' `
   # Now deploy the module
   $MVN   deploy:deploy-file -DgroupId=$group \
          -DgeneratePom=false \
          -DpomFile=$pom \
          -DartifactId=$artifact \
          -Dversion=$version \
          -Dpackaging=jar \
          -Dfile=$jar \
          -DrepositoryId=local-repository \
          -Durl=file://$MAVEN_REPOSITORY 
   
  fi
done

exit

Reply via email to