Skip to content

Commit 31d48ae

Browse files
committed
Adjust Android sample build to bootstrap from released plugin
1 parent 4c3680c commit 31d48ae

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

scripts/build-android-app.sh

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ DOWNLOAD_DIR="${TMPDIR%/}/codenameone-tools"
1616
ENV_DIR="$DOWNLOAD_DIR/tools"
1717
EXTRA_MVN_ARGS=("$@")
1818

19+
# Version of the Codename One Maven plugin guaranteed to be published on Maven Central.
20+
# This is used solely to bootstrap project generation; generated projects are rewritten
21+
# to target the locally built snapshot version afterwards.
22+
BOOTSTRAP_CN1_VERSION="7.0.204"
23+
1924
ENV_FILE="$ENV_DIR/env.sh"
2025
ba_log "Loading workspace environment from $ENV_FILE"
2126
if [ -f "$ENV_FILE" ]; then
@@ -114,13 +119,19 @@ ba_log "Using source project template at $SOURCE_PROJECT"
114119
LOCAL_MAVEN_REPO="${LOCAL_MAVEN_REPO:-$HOME/.m2/repository}"
115120
ba_log "Using local Maven repository at $LOCAL_MAVEN_REPO"
116121
mkdir -p "$LOCAL_MAVEN_REPO"
117-
MAVEN_CMD=("$MAVEN_HOME/bin/mvn" -Dmaven.repo.local="$LOCAL_MAVEN_REPO")
122+
MAVEN_CMD=(
123+
"$MAVEN_HOME/bin/mvn"
124+
-B
125+
-ntp
126+
-Dmaven.repo.local="$LOCAL_MAVEN_REPO"
127+
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
128+
)
118129

119130
ba_log "Generating Codename One application skeleton via codenameone-maven-plugin"
120131
(
121132
cd "$WORK_DIR"
122133
xvfb-run -a "${MAVEN_CMD[@]}" -q --offline \
123-
com.codenameone:codenameone-maven-plugin:"$CN1_VERSION":generate-app-project \
134+
com.codenameone:codenameone-maven-plugin:"$BOOTSTRAP_CN1_VERSION":generate-app-project \
124135
-DgroupId="$GROUP_ID" \
125136
-DartifactId="$ARTIFACT_ID" \
126137
-Dversion=1.0-SNAPSHOT \
@@ -134,6 +145,24 @@ if [ ! -d "$APP_DIR" ]; then
134145
exit 1
135146
fi
136147

148+
if [ "$CN1_VERSION" != "$BOOTSTRAP_CN1_VERSION" ]; then
149+
ba_log "Replacing generated project Codename One version $BOOTSTRAP_CN1_VERSION with local version $CN1_VERSION"
150+
mapfile -t version_files < <(grep -rl "$BOOTSTRAP_CN1_VERSION" "$APP_DIR" || true)
151+
for vf in "${version_files[@]}"; do
152+
python3 - "$vf" "$BOOTSTRAP_CN1_VERSION" "$CN1_VERSION" <<'PY'
153+
import pathlib
154+
import sys
155+
156+
path = pathlib.Path(sys.argv[1])
157+
old = sys.argv[2]
158+
new = sys.argv[3]
159+
text = path.read_text()
160+
if old in text:
161+
path.write_text(text.replace(old, new))
162+
PY
163+
done
164+
fi
165+
137166
if [ -f "$APP_DIR/build.sh" ]; then
138167
chmod +x "$APP_DIR/build.sh"
139168
fi

0 commit comments

Comments
 (0)