So, you want to run the mega-melt, but with some SNAPSHOTs built from branches?
Here is an example script that does so for the labkit-pixel-classification and
labkit-ui components. Copy this script into a file called go
, change the
adjust
... lines below to match the branches of your SNAPSHOT component(s),
and then give it a try with sh go
!
#!/bin/sh
# Fail on error.
set -e
# Generate the mega melt structure.
tests/run.sh -s
# Pull appropriate branches, build artifacts, and install them locally.
adjust() {
dir=$1
remote=$2
branch=$3
cd "target/mega-melt/melting-pot/$dir"
# fetch the needed branch
git remote add upstream "$remote"
git fetch upstream
# discard pom.xml hacks
git checkout pom.xml
# switch to the needed branch
git checkout "upstream/$branch"
# reapply pom.xml hacks
mv pom.xml pom.xml.original &&
sed -E -e 's_(https?://maven.imagej.net|http://maven.scijava.org)_https://maven.scijava.org_g' \
-e 's_http://maven.apache.org/xsd_https://maven.apache.org/xsd_g' pom.xml.original > pom.xml ||
die "Failed to adjust pom.xml"
perl -0777 -i -pe 's/(<parent>\s*<groupId>org.scijava<\/groupId>\s*<artifactId>pom-scijava<\/artifactId>\s*<version>)[^\n]*/${1}999-mega-melt<\/version>/igs' pom.xml
# build and install the component
mvn -Denforcer.skip -DskipTests -Dmaven.test.skip -Dinvoker.skip clean install
cd - >/dev/null
}
adjust sc.fiji/labkit-pixel-classification https://github.com/ctrueden/labkit-pixel-classification bump-to-imglib2-6.1.0
adjust sc.fiji/labkit-ui https://github.com/ctrueden/labkit-ui bump-to-imglib2-6.1.0
# Run the mega melt!
cd target/mega-melt/melting-pot
./melt.sh 2>&1 | tee melt.log