diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index b70007c055..a08899a596 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -8,6 +8,7 @@ on: - '.github/workflows/scripts-android.yml' - '.github/workflows/scripts-ios.yml' - 'scripts/**' + - '!scripts/setup-workspace.sh' - 'docs/**' - '**/*.md' - '.github/workflows/developer-guide-docs.yml' @@ -20,6 +21,7 @@ on: - '.github/workflows/scripts-android.yml' - '.github/workflows/scripts-ios.yml' - 'scripts/**' + - '!scripts/setup-workspace.sh' - 'docs/**' - '**/*.md' - '.github/workflows/developer-guide-docs.yml' diff --git a/scripts/build-android-port.sh b/scripts/build-android-port.sh index d0395724f9..fada3e3866 100755 --- a/scripts/build-android-port.sh +++ b/scripts/build-android-port.sh @@ -15,6 +15,13 @@ TMPDIR="${TMPDIR%/}" DOWNLOAD_DIR="${TMPDIR%/}/codenameone-tools" log "The DOWNLOAD_DIR is ${DOWNLOAD_DIR}" +CN1_BINARIES_PARENT="$(cd .. && pwd -P)" +CN1_BINARIES="${CN1_BINARIES_PARENT%/}/cn1-binaries" +if [ ! -d "$CN1_BINARIES" ]; then + # Fallback to the maven build dir if the external one doesn't exist + CN1_BINARIES="$(pwd)/maven/target/cn1-binaries" +fi + ENV_DIR="$DOWNLOAD_DIR/tools" ENV_FILE="$ENV_DIR/env.sh" @@ -119,9 +126,9 @@ run_maven() { BUILD_CLIENT="$HOME/.codenameone/CodeNameOneBuildClient.jar" if [ ! -f "$BUILD_CLIENT" ]; then - if ! run_maven -q -f maven/pom.xml cn1:install-codenameone "$@"; then + if ! run_maven -q -f maven/pom.xml -Dcn1.binaries="$CN1_BINARIES" -P !download-cn1-binaries cn1:install-codenameone "$@"; then [ -f maven/CodeNameOneBuildClient.jar ] && cp maven/CodeNameOneBuildClient.jar "$BUILD_CLIENT" || true fi fi -run_maven -q -f maven/pom.xml -pl android -am -Dmaven.javadoc.skip=true -Djava.awt.headless=true clean install "$@" +run_maven -q -f maven/pom.xml -pl android -am -Dcn1.binaries="$CN1_BINARIES" -P !download-cn1-binaries -T 1C -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Djava.awt.headless=true clean install "$@" diff --git a/scripts/setup-workspace.sh b/scripts/setup-workspace.sh index d0384a0465..ec3f401399 100755 --- a/scripts/setup-workspace.sh +++ b/scripts/setup-workspace.sh @@ -226,18 +226,21 @@ if [ ! -d "$CN1_BINARIES/.git" ]; then fi log "Building Codename One core modules" -"$MAVEN_HOME/bin/mvn" -f maven/pom.xml -DskipTests -Djava.awt.headless=true -Dcn1.binaries="$CN1_BINARIES" -Dcodename1.platform=javase -P local-dev-javase,compile-android install "$@" +"$MAVEN_HOME/bin/mvn" -f maven/pom.xml -T 1C -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -Djava.awt.headless=true -Dcn1.binaries="$CN1_BINARIES" -Dcodename1.platform=javase -P local-dev-javase,compile-android,!download-cn1-binaries install "$@" log "Building Codename One Maven plugin" "$MAVEN_HOME/bin/mvn" -f maven/pom.xml \ -pl codenameone-maven-plugin -am \ + -T 1C -Dmaven.javadoc.skip=true -Dmaven.source.skip=true \ -DskipTests -Djava.awt.headless=true \ + -Dcn1.binaries="$CN1_BINARIES" \ + -P !download-cn1-binaries \ install "$@" BUILD_CLIENT="$HOME/.codenameone/CodeNameOneBuildClient.jar" log "Ensuring CodeNameOneBuildClient.jar is installed" if [ ! -f "$BUILD_CLIENT" ]; then - if ! "$MAVEN_HOME/bin/mvn" -f maven/pom.xml cn1:install-codenameone "$@"; then + if ! "$MAVEN_HOME/bin/mvn" -f maven/pom.xml -Dcn1.binaries="$CN1_BINARIES" -P !download-cn1-binaries cn1:install-codenameone "$@"; then log "Falling back to copying CodeNameOneBuildClient.jar" mkdir -p "$(dirname "$BUILD_CLIENT")" cp maven/CodeNameOneBuildClient.jar "$BUILD_CLIENT" || true @@ -272,6 +275,6 @@ if [ "${skip_archetypes:-0}" -eq 0 ]; then log "Updating cn1-maven-archetypes version from $current_version to $CN1_VERSION to match local snapshot" "$MAVEN_HOME/bin/mvn" -q -B versions:set -DnewVersion="$CN1_VERSION" -DgenerateBackupPoms=false fi - "$MAVEN_HOME/bin/mvn" -DskipTests -DskipITs=true -Dinvoker.skip=true install + "$MAVEN_HOME/bin/mvn" -T 1C -DskipTests -DskipITs=true -Dinvoker.skip=true install ) || log "Archetype mvn install failed; continuing." fi