Skip to content

Commit 8b3e196

Browse files
committed
Adding the missing cn1-binaries to the build
1 parent 8892375 commit 8b3e196

File tree

1 file changed

+33
-5
lines changed

1 file changed

+33
-5
lines changed

scripts/setup-workspace.sh

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# building core modules, and installing Maven archetypes.
55
###
66
set -euo pipefail
7+
[ "${DEBUG:-0}" = "1" ] && set -x
78

89
log() {
910
echo "[setup-workspace] $1"
@@ -18,6 +19,8 @@ DOWNLOAD_DIR="$TMPDIR/codenameone-tools"
1819
mkdir -p "$DOWNLOAD_DIR"
1920
ENV_DIR="$DOWNLOAD_DIR/tools"
2021
mkdir -p "$ENV_DIR"
22+
CN1_BINARIES="$ENV_DIR/cn1-binaries"
23+
mkdir -p "$CN1_BINARIES/javase"
2124

2225
# Reuse previously saved environment if present (so we can skip downloads)
2326
if [ -f "$ENV_DIR/env.sh" ]; then
@@ -149,21 +152,46 @@ log "Maven version:"; "$MAVEN_HOME/bin/mvn" -version
149152

150153
PATH="$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH"
151154

155+
if [ ! -d "$BINARIES_DIR/.git" ]; then
156+
log "Cloning cn1-binaries"
157+
git clone [email protected]:codenameone/cn1-binaries.git "$BINARIES_DIR"
158+
else
159+
log "Updating cn1-binaries"
160+
git -C "$BINARIES_DIR" pull --rebase
161+
fi
162+
152163
log "Building Codename One core modules"
153-
"$MAVEN_HOME/bin/mvn" -q -f maven/pom.xml -DskipTests -Djava.awt.headless=true install "$@"
164+
"$MAVEN_HOME/bin/mvn" -Dcn1.binaries="$CN1_BINARIES" -f maven/pom.xml -DskipTests -Djava.awt.headless=true install "$@"
154165

155166
BUILD_CLIENT="$HOME/.codenameone/CodeNameOneBuildClient.jar"
156167
log "Ensuring CodeNameOneBuildClient.jar is installed"
157168
if [ ! -f "$BUILD_CLIENT" ]; then
158-
if ! "$MAVEN_HOME/bin/mvn" -f maven/pom.xml cn1:install-codenameone "$@"; then
169+
if ! "$MAVEN_HOME/bin/mvn" -Dcn1.binaries="$CN1_BINARIES" -f maven/pom.xml cn1:install-codenameone "$@"; then
159170
log "Falling back to copying CodeNameOneBuildClient.jar"
160171
mkdir -p "$(dirname "$BUILD_CLIENT")"
161172
cp maven/CodeNameOneBuildClient.jar "$BUILD_CLIENT" || true
162173
fi
163174
fi
164175

165176
log "Installing cn1-maven-archetypes"
166-
if [ ! -d cn1-maven-archetypes ]; then
167-
git clone https://github.com/shannah/cn1-maven-archetypes
177+
set +e # don't let a transient git failure abort the whole build
178+
if [ -d cn1-maven-archetypes/.git ]; then
179+
log "Updating existing cn1-maven-archetypes checkout"
180+
if ! git -C cn1-maven-archetypes fetch --all --tags; then
181+
log "git fetch failed (exit 128?). Leaving existing copy as-is."
182+
else
183+
git -C cn1-maven-archetypes reset --hard origin/master || \
184+
log "git reset failed; keeping local state."
185+
fi
186+
else
187+
if ! git clone https://github.com/shannah/cn1-maven-archetypes cn1-maven-archetypes; then
188+
log "git clone failed (likely exit 128). Skipping archetype install."
189+
skip_archetypes=1
190+
fi
168191
fi
169-
(cd cn1-maven-archetypes && "$MAVEN_HOME/bin/mvn" -q -DskipTests -DskipITs=true -Dinvoker.skip=true install)
192+
set -e
193+
194+
if [ "${skip_archetypes:-0}" -eq 0 ]; then
195+
(cd cn1-maven-archetypes && "$MAVEN_HOME/bin/mvn" -Dcn1.binaries="$CN1_BINARIES" -DskipTests -DskipITs=true -Dinvoker.skip=true install) || \
196+
log "Archetype mvn install failed; continuing."
197+
fi

0 commit comments

Comments
 (0)