blob: b8d16bf998236e777f80a95c7d7017fe2df283ce [file] [log] [blame]
#!/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
)