#!/bin/bash
-FORTUNE=juplo/wordcount--fortune:1.0.0
-RECORDER=juplo/wordcount--recorder:1.2.0
-USERS=juplo/wordcount--users:1.0.5
-SPLITTER=juplo/wordcount--splitter:1.2.0
-COUNTER=juplo/wordcount--counter:1.3.0
-TOP10=juplo/wordcount--top10:1.2.1
-QUERY=juplo/wordcount--query:2.0.0
-POPULAR=juplo/wordcount--popular:1.0.0
+FORTUNE=juplo/wordcount--fortune:1.0.1
+RECORDER=juplo/wordcount--recorder:1.2.2
+USERS=juplo/wordcount--users:1.0.7
+SPLITTER=juplo/wordcount--splitter:1.2.2
+COUNTER=juplo/wordcount--counter:1.4.2
+TOP10=juplo/wordcount--top10:1.4.2
+QUERY=juplo/wordcount--query:2.1.2
+POPULAR=juplo/wordcount--popular:1.3.2
if [ "$1" = "cleanup" ]
then
"$1" = "build"
]]
then
- mvn clean package || exit
- docker compose rm -svf recorder users splitter counter top10 query popular
+ docker compose rm -svf bart riddler nerd recorder users splitter counter top10 query popular
+fi
+
+if [[ $(docker image ls -q $FORTUNE) == "" || "$1" = "build" ]]
+then
+ echo "Building image $FORTUNE"
( cd fortune; ./README.sh $FORTUNE; )
- mvn -f recorder/pom.xml docker:build
- mvn -f users/pom.xml docker:build
- mvn -f splitter/pom.xml docker:build
- mvn -f counter/pom.xml docker:build
- mvn -f top10/pom.xml docker:build
- mvn -f query/pom.xml docker:build
- mvn -f popular/pom.xml docker:build
else
- echo "Using existing images:"
- docker image ls $FORTUNE
- docker image ls $RECORDER
- docker image ls $USERS
- docker image ls $SPLITTER
- docker image ls $COUNTER
- docker image ls $TOP10
- docker image ls $QUERY
- docker image ls $POPULAR
+ echo -n "Using existing image for $FORTUNE: "
+ docker image ls --format json $FORTUNE | jq -r '(.ID + " - " + .CreatedSince)'
+fi
+
+if [[ $(docker image ls -q $RECORDER) == "" || "$1" = "build" ]]
+then
+ echo "Building image $RECORDER"
+ mvn -f recorder/pom.xml clean package docker:build
+else
+ echo -n "Using existing image for $RECORDER: "
+ docker image ls --format json $RECORDER | jq -r '(.ID + " - " + .CreatedSince)'
+fi
+
+if [[ $(docker image ls -q $USERS) == "" || "$1" = "build" ]]
+then
+ echo "Building image $USERS"
+ mvn -f users/pom.xml clean package docker:build
+else
+ echo -n "Using existing image for $USERS: "
+ docker image ls --format json $USERS | jq -r '(.ID + " - " + .CreatedSince)'
+fi
+
+if [[ $(docker image ls -q $SPLITTER) == "" || "$1" = "build" ]]
+then
+ echo "Building image $SPLITTER"
+ mvn -f splitter/pom.xml clean package docker:build
+else
+ echo -n "Using existing image for $SPLITTER: "
+ docker image ls --format json $SPLITTER | jq -r '(.ID + " - " + .CreatedSince)'
+fi
+
+if [[ $(docker image ls -q $COUNTER) == "" || "$1" = "build" ]]
+then
+ echo "Building image $COUNTER"
+ mvn -f counter/pom.xml clean package docker:build
+else
+ echo -n "Using existing image for $COUNTER: "
+ docker image ls --format json $COUNTER | jq -r '(.ID + " - " + .CreatedSince)'
+fi
+
+if [[ $(docker image ls -q $TOP10) == "" || "$1" = "build" ]]
+then
+ echo "Building image $TOP10"
+ mvn -f top10/pom.xml clean package docker:build
+else
+ echo -n "Using existing image for $TOP10: "
+ docker image ls --format json $TOP10 | jq -r '(.ID + " - " + .CreatedSince)'
+fi
+
+if [[ $(docker image ls -q $QUERY) == "" || "$1" = "build" ]]
+then
+ echo "Building image $QUERY"
+ mvn -f query/pom.xml clean package docker:build
+else
+ echo -n "Using existing image for $QUERY: "
+ docker image ls --format json $QUERY | jq -r '(.ID + " - " + .CreatedSince)'
+fi
+
+if [[ $(docker image ls -q $POPULAR) == "" || "$1" = "build" ]]
+then
+ echo "Building image $POPULAR"
+ mvn -f popular/pom.xml clean package docker:build
+else
+ echo -n "Using existing image for $POPULAR: "
+ docker image ls --format json $POPULAR | jq -r '(.ID + " - " + .CreatedSince)'
fi