| #!/bin/sh |
| |
| BUNDLEURL=$1 |
| GROUPID=$2 |
| VERSION=$3 |
| CLASSIFIER=$4 |
| |
| [ "${BUNDLEURL}" = "" ] && echo && echo "You must specify a bundle URL!" && echo && exit |
| |
| WORKDIR=bundle.tmp |
| |
| SCRIPTDIR=`dirname ${0}` |
| |
| [ -d $SCRIPTDIR ] || SCRIPTDIR=. |
| |
| echo "Script directory is: ${SCRIPTDIR}" |
| |
| # repo dir relative to WORKDIR |
| REPODIR=$HOME/repository-staging/to-ibiblio/maven |
| REPO2DIR=$HOME/repository-staging/to-ibiblio/maven2 |
| |
| rm -rf $WORKDIR > /dev/null 2>&1 |
| |
| mkdir $WORKDIR |
| |
| cd $WORKDIR |
| |
| echo "Retrieving URL: '${BUNDLEURL}'" |
| wget -Umaven --no-check-certificate $BUNDLEURL |
| BUNDLE=`echo $BUNDLEURL | sed -e 's#^.*/##;'` |
| |
| echo $BUNDLE |
| mv $BUNDLE tmp.jar |
| BUNDLE=tmp.jar |
| |
| ( |
| |
| echo "Unzipping original bundle." |
| jar xf $BUNDLE || unzip $BUNDLE |
| |
| # copy files in subdirs to workdir |
| echo "Copying files to working directory." |
| for d in `find ./* -type d` ; do |
| for f in `find $d -type f` ; do cp $f .; done; |
| done |
| |
| echo "Searching for POM:" |
| echo "...checking for 'pom.xml'" |
| POM=pom.xml |
| if [ ! -f ${POM} ] |
| then |
| echo "...checking for 'project.xml'" |
| POM=project.xml |
| fi |
| |
| if [ ! -f ${POM} ] |
| then |
| echo "...searching for **/*.pom" |
| POM=`find . -iname *.pom` |
| fi |
| |
| [ "" == "${POM}" ] && echo && echo "Cannot deploy without the pom.xml or project.xml file!" && echo && exit |
| [ ! -f ${POM} ] && echo && echo "Cannot deploy without the pom.xml or project.xml file!" && echo && exit |
| |
| echo "POM is: '${POM}'" |
| dos2unix ${POM} |
| less $POM |
| |
| if [ ! -z $VERSION ] |
| then |
| version=$VERSION |
| else |
| version=`cat ${POM} | tr '\n' ' ' | sed 's#<build>.*</build>##' | sed 's#<versions>.*</versions>##' | sed 's#<dependencies>.*</dependencies>##' | sed 's#<reporting>.*</reporting>##' | sed 's#<parent>.*</parent>##' | grep '<version>' | sed -e 's#^.*<version>##;s#</version>.*$##'` |
| |
| if [ -z $version ] |
| then |
| version=`grep currentVersion ${POM} | sed -e 's#^.*<currentVersion>##;s#</currentVersion>.*$##'` |
| fi |
| fi |
| |
| artifactId=`cat ${POM} | tr '\n' ' ' | sed 's#<build>.*</build>##' | sed 's#<dependencies>.*</dependencies>##' | sed 's#<contributors>.*</contributors>##' | sed 's#<dependencies>.*</dependencies>##' | sed 's#<reporting>.*</reporting>##' | sed 's#<parent>.*</parent>##' | grep '<artifactId>' | sed -e 's#^.*<artifactId>##;s#</artifactId>.*$##'` |
| |
| if [ -z $artifactId ] |
| then |
| artifactId=`cat ${POM} | tr '\n' ' ' | sed 's#<build>.*</build>##' | sed 's#<versions>.*</versions>##' | sed 's#<developers>.*</developers>##' | sed 's#<dependencies>.*</dependencies>##' | sed 's#<reporting>.*</reporting>##' | sed 's#<contributors>.*</contributors>##' | sed 's#<parent>.*</parent>##' | grep '<id>' | sed -e 's#^.*<id>##;s#</id>.*$##'` |
| fi |
| |
| if [ ! -z $GROUPID ] |
| then |
| groupId=${GROUPID} |
| else |
| groupId=`cat ${POM} | tr '\n' ' ' | sed 's#<build>.*</build>##' | sed 's#<dependencies>.*</dependencies>##' | sed 's#<reporting>.*</reporting>##' | sed 's#<parent>.*</parent>##' | grep '<groupId>' | sed -e 's#^.*<groupId>##;s#</groupId>.*$##'` |
| |
| if [ -z $groupId ] |
| then |
| groupId=${artifactId} |
| fi |
| fi |
| |
| version=`echo ${version} | sed -e 's/ *$//'` |
| artifactId=`echo ${artifactId} | sed -e 's/ *$//'` |
| groupId=`echo ${groupId} | sed -e 's/ *$//'` |
| groupDir=`echo ${groupId} | sed -e 's/\./\//g'` |
| |
| maven2=`cat ${POM} | grep '<modelVersion>'` |
| |
| echo |
| if [ -z "${maven2}" ] |
| then |
| echo " ========= WARNING: Maven 1 POM won't be converted to Maven 2 =========" |
| fi |
| |
| echo |
| echo " version: [${version}]" |
| echo " groupId: [${groupId}]" |
| echo "artifactId: [${artifactId}]" |
| echo |
| |
| if [ -d $REPO2DIR/${groupDir} ] |
| then |
| echo "The group already exists" |
| else |
| echo "The group does NOT already exist" |
| fi |
| |
| echo |
| echo -n Hit Enter to continue or Ctrl-C to abort... |
| read |
| |
| cp ${POM} ${artifactId}-${version}.pom |
| cp ${POM}.asc ${artifactId}-${version}.pom.asc |
| |
| m2dir=$REPO2DIR/${groupDir}/${artifactId}/${version} |
| |
| mkdir -p ${m2dir} |
| |
| if [ ! -z "${maven2}" ] |
| then |
| # Maven 2 |
| cp -i ${artifactId}-${version}.pom ${m2dir} |
| cp -i ${artifactId}-${version}.pom.asc ${m2dir} |
| md5sum ${m2dir}/${artifactId}-${version}.pom > ${m2dir}/${artifactId}-${version}.pom.md5 |
| sha1sum ${m2dir}/${artifactId}-${version}.pom > ${m2dir}/${artifactId}-${version}.pom.sha1 |
| fi |
| |
| echo "Deploying JAR ..." |
| |
| jar=${artifactId}-${version}.jar |
| if [ ! -z ${CLASSIFIER} ]; then |
| jar=${artifactId}-${version}-${CLASSIFIER}.jar |
| fi |
| cp -i ${jar} ${m2dir} |
| cp -i ${jar}.asc ${m2dir} |
| if [ -f ${m2dir}/${jar} ]; |
| then |
| md5sum ${m2dir}/${jar} > ${m2dir}/${jar}.md5 |
| sha1sum ${m2dir}/${jar} > ${m2dir}/${jar}.sha1 |
| fi |
| |
| if [ -f ${artifactId}-${version}-sources.jar ] |
| then |
| echo "Deploying Java sources ..." |
| cp -i ${artifactId}-${version}-sources.jar ${m2dir} |
| cp -i ${artifactId}-${version}-sources.jar.asc ${m2dir} |
| md5sum ${m2dir}/${artifactId}-${version}-sources.jar > ${m2dir}/${artifactId}-${version}-sources.jar.md5 |
| sha1sum ${m2dir}/${artifactId}-${version}-sources.jar > ${m2dir}/${artifactId}-${version}-sources.jar.sha1 |
| else |
| echo "No Java sources available in upload bundle, skipping ..." |
| fi |
| |
| if [ -f ${artifactId}-${version}-javadoc.jar ] |
| then |
| echo "Deploying Javadocs ..." |
| cp -i ${artifactId}-${version}-javadoc.jar ${m2dir} |
| cp -i ${artifactId}-${version}-javadoc.jar.asc ${m2dir} |
| md5sum ${m2dir}/${artifactId}-${version}-javadoc.jar > ${m2dir}/${artifactId}-${version}-javadoc.jar.md5 |
| sha1sum ${m2dir}/${artifactId}-${version}-javadoc.jar > ${m2dir}/${artifactId}-${version}-javadoc.jar.sha1 |
| else |
| echo "No Javadocs available in upload bundle, skipping ..." |
| fi |
| |
| ) |