-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathbuild.sh
39 lines (30 loc) · 1.57 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh
# URL Tutorial: hhttps://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-7a.DeploySnapshotsandStageReleaseswithMaven
# URL Nexus: https://oss.sonatype.org/index.html#view-repositories;snapshots~browsestorage
# SNAPSHOT deploy: mvn clean deploy -Pproduction -Psign -DskipTests
###################################################################
set -e
export JAVA_HOME=/opt/java/default.8
alias mvn="sh $PWD/mvnw"
mvn -version || exit
# Required Release (example: RELEASE=1.30):
RELEASE=$( cd project-m2/ujo-core; mvn help:evaluate -Dexpression=project.version | grep -v "\[" )
echo RELEASE=${RELEASE}
# Deploy URL:
URL=https://oss.sonatype.org/service/local/staging/deploy/maven2/
# Create the build:
mvn clean install javadoc:jar source:jar -Pproduction
cd "project-m2"
# For all artefact SIGN and DEPLOY:
for ARTEFACT in ujo-tools ujo-core ujo-orm ujo-spring ujo-wicket ujo-xsd ujo-web
do
(
echo ARTEFACT=$ARTEFACT
cd $ARTEFACT/target
cp ../pom.xml ./$ARTEFACT-$RELEASE.pom
mvn gpg:sign-and-deploy-file -Durl=${URL} -DrepositoryId=sonatype-nexus-staging -DpomFile=$ARTEFACT-$RELEASE.pom -Dfile=$ARTEFACT-$RELEASE.jar
mvn gpg:sign-and-deploy-file -Durl=${URL} -DrepositoryId=sonatype-nexus-staging -DpomFile=$ARTEFACT-$RELEASE.pom -Dfile=$ARTEFACT-$RELEASE-sources.jar -Dclassifier=sources
mvn gpg:sign-and-deploy-file -Durl=${URL} -DrepositoryId=sonatype-nexus-staging -DpomFile=$ARTEFACT-$RELEASE.pom -Dfile=$ARTEFACT-$RELEASE-javadoc.jar -Dclassifier=javadoc
)
done
echo "Release $RELEASE is done"