blob: 908a0ac57b9399a32c9f1eed82f3c818bb340694 [file] [log] [blame]
#!/bin/sh -e
printUsage() {
echo "Usage : "
echo "./package.sh RELEASE ITERATION SHA1 DIRECTORY"
echo " RELEASE : The release to be generated."
echo " ITERATION: The iteration to give to the package."
echo " SHA1: The SHA-1 to build packages against"
echo " DIRECTORY: The directory where to put build results"
exit 1
}
if [ "$#" -ne 4 ]; then
printUsage
fi
RELEASE=$1
ITERATION=$2
SHA1=$3
DIRECTORY=$4
# Build Compiler environment
docker build -t james/project dockerfiles/compilation/java-8
# Compile James
docker run \
--rm \
--volume $PWD/.m2:/root/.m2 \
--volume $PWD:/origin \
--volume $PWD/dockerfiles/run/guice/cassandra/destination:/cassandra/destination \
--volume $PWD/dockerfiles/run/guice/cassandra-ldap/destination:/cassandra/destination \
--volume $PWD/dockerfiles/run/guice/cassandra-rabbitmq/destination:/cassandra-rabbitmq/destination \
--volume $PWD/dockerfiles/run/guice/cassandra-rabbitmq-ldap/destination:/cassandra-rabbitmq-ldap/destination \
-t james/project -s $SHA1
# Build image James with Cassandra
docker build -t james_run dockerfiles/run/guice/cassandra
docker build -t james_run_ldap dockerfiles/run/guice/cassandra-ldap
# Build image James with Cassandra + RabbitMQ
docker build -t james_rabbitmq_run dockerfiles/run/guice/cassandra-rabbitmq
# Build image James with Cassandra + RabbitMQ + Ldap
docker build -t james_rabbitmq_ldap_run dockerfiles/run/guice/cassandra-rabbitmq-ldap
# Build packages
docker build -t build-james-packages \
--build-arg RELEASE=$RELEASE-$SHA1 \
--build-arg ITERATION=$ITERATION \
--build-arg BASE=james_run \
--build-arg BASE_LDAP=james_run_ldap \
--build-arg BASE_RABBITMQ=james_rabbitmq_run \
--build-arg BASE_RABBITMQ_LDAP=james_rabbitmq_ldap_run
dockerfiles/packaging/guice/cassandra
docker run --rm --name james-packages -v $DIRECTORY:/result build-james-packages