diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..5bfa6b3 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,59 @@ +name: Build + +# 単体ビルドの検証。 +# +# ## なぜ要るのか +# +# このモジュールは android-sdk の集約ビルドと、自分だけの単体ビルドの +# 2 通りで組まれる。開発は集約ビルドで行うため、**単体ビルド側の設定が +# 静かに腐る。** 実際 1.3.0 のリリースでは、publish ワークフローを回して +# 初めて次のような不備がまとめて露見した: +# +# - gradlew / settings.gradle.kts が無くて ./gradlew が叩けない +# - version catalog に依存の定義が無い(集約側の catalog にはある) +# - coroutines が推移的に古い版になり 3 引数 resume が通らない +# - ベンダ SDK の版が集約ビルドと食い違う +# +# publish のときにしか単体ビルドしないと、リリース当日に気づくことになる。 +# ここで PR ごとに回して、変更した時点で分かるようにする。 + +on: + pull_request: + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '17' + cache: 'gradle' + + - name: Build core locally + run: | + git clone --depth 1 https://github.com/MapConductor/android-sdk-core.git _core + cd _core + ./gradlew --no-daemon publishToMavenLocal + cd .. + + mkdir -p "$HOME/.gradle/init.d" + cat > "$HOME/.gradle/init.d/use-local-maven.init.gradle" << 'EOF' + gradle.settingsEvaluated { settings -> + settings.dependencyResolutionManagement.repositories { + mavenLocal() + } + } + EOF + + # apiCheck は集約ビルド(android-sdk)の gradle/api-surface.gradle.kts が + # 提供するタスクで、単体ビルドには存在しない。ここでは組み立てだけを見る。 + - name: Assemble + run: ./gradlew --no-daemon -PskipSampleApp=true assembleRelease diff --git a/.gradle/9.6.0/checksums/checksums.lock b/.gradle/9.6.0/checksums/checksums.lock index 701c255..647e2c0 100644 Binary files a/.gradle/9.6.0/checksums/checksums.lock and b/.gradle/9.6.0/checksums/checksums.lock differ diff --git a/.gradle/9.6.0/checksums/md5-checksums.bin b/.gradle/9.6.0/checksums/md5-checksums.bin index 9388e94..01538b1 100644 Binary files a/.gradle/9.6.0/checksums/md5-checksums.bin and b/.gradle/9.6.0/checksums/md5-checksums.bin differ diff --git a/.gradle/9.6.0/checksums/sha1-checksums.bin b/.gradle/9.6.0/checksums/sha1-checksums.bin index fdfbd52..e9dfff6 100644 Binary files a/.gradle/9.6.0/checksums/sha1-checksums.bin and b/.gradle/9.6.0/checksums/sha1-checksums.bin differ diff --git a/.gradle/9.6.0/executionHistory/executionHistory.bin b/.gradle/9.6.0/executionHistory/executionHistory.bin index 4e7f67a..690d7f4 100644 Binary files a/.gradle/9.6.0/executionHistory/executionHistory.bin and b/.gradle/9.6.0/executionHistory/executionHistory.bin differ diff --git a/.gradle/9.6.0/executionHistory/executionHistory.lock b/.gradle/9.6.0/executionHistory/executionHistory.lock index 92976b0..f841648 100644 Binary files a/.gradle/9.6.0/executionHistory/executionHistory.lock and b/.gradle/9.6.0/executionHistory/executionHistory.lock differ diff --git a/.gradle/9.6.0/fileHashes/fileHashes.bin b/.gradle/9.6.0/fileHashes/fileHashes.bin index d97ecf4..81d5159 100644 Binary files a/.gradle/9.6.0/fileHashes/fileHashes.bin and b/.gradle/9.6.0/fileHashes/fileHashes.bin differ diff --git a/.gradle/9.6.0/fileHashes/fileHashes.lock b/.gradle/9.6.0/fileHashes/fileHashes.lock index 1fbc276..83474be 100644 Binary files a/.gradle/9.6.0/fileHashes/fileHashes.lock and b/.gradle/9.6.0/fileHashes/fileHashes.lock differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 6333b6f..2c5f6b3 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 954c9c3..fe95aa2 100644 Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index 66eb44a..38f7e0d 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ