Last active
July 29, 2018 15:05
-
-
Save uweschaefer/da7880a99f68a3c41b98e1a18322736c to your computer and use it in GitHub Desktop.
Downloads apache maven 3.5.4 into current dir and patches it with Nailgun for faster startup (assumes to be running on ubuntu)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
MVN_VERSION=3.5.4 | |
curl http://artfiles.org/apache.org/maven/maven-3/$MVN_VERSION/binaries/apache-maven-$MVN_VERSION-bin.tar.gz --output - |tar xz | |
MVN_DIR=$(pwd)/apache-maven-$MVN_VERSION | |
TMP=/tmp/maven-gun | |
rm -rf $TMP | |
mkdir $TMP | |
cd $TMP | |
# install and make mailgun and build snapshot jar | |
git clone git@github.com:uweschaefer/nailgun.git | |
cd nailgun | |
make && sudo make install | |
$MVN_DIR/bin/mvn clean install | |
cd .. | |
# build maven-nailgun | |
git clone git@github.com:uweschaefer/maven-nailgun.git | |
cd maven-nailgun | |
$MVN_DIR/bin/mvn clean package | |
cd .. | |
# patch maven | |
cd $MVN_DIR/bin | |
mv mvn mvn.org | |
cat mvn.org | sed "s#bin/m2.conf#bin/m2-ng.conf#" > mvn-ng-server | |
cat m2.conf | sed "s#org.apache.maven.cli.MavenCli#com.github.nigelzor.maven.nailgun.Server#"> m2-ng.conf | |
cat > mvn << EOF | |
#!/bin/sh | |
if ! nc -z localhost 2113 ; then | |
echo "Nailgun server not running, starting..." | |
nohup \$(dirname \$0)/mvn-ng-server >/dev/null 2>/dev/null & | |
nc -z localhost 2113 || sleep 1 | |
if ! nc -z localhost 2113 ; then | |
echo "Nailgun server still not running, falling back to original" | |
mvn.org \$* | |
exit \$? | |
fi | |
fi | |
ng com.github.nigelzor.maven.nailgun.Client \$* | |
EOF | |
chmod +x mvn | |
chmod +x mvn-ng-server | |
cd $MVN_DIR | |
cp $TMP/nailgun/nailgun-server/target/nailgun-server-0.9.3-SNAPSHOT.jar lib | |
cp $TMP/maven-nailgun/target/maven-nailgun-1.0-SNAPSHOT.jar lib | |
cd $MVN_DIR/.. | |
rm -rf $TMP | |
echo | |
echo maven $MVN_VERSION patched in $MVN_DIR | |
echo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment