From 8aee5a4d567ad77362086dcd086768ddb25a4015 Mon Sep 17 00:00:00 2001 From: Aleksey Mikhailov Date: Sat, 20 May 2023 17:47:54 +0600 Subject: [PATCH] #466 add local-samples-check.sh and fixes --- .github/compilation-check-source.yml | 56 ++++--------- .github/workflows/compilation-check.yml | 78 +++++-------------- localcheck.sh => local-check.sh | 0 local-samples-check.sh | 13 ++++ .../kotlin/android-app-convention.gradle.kts | 27 ------- ...ultiplatform-library-convention.gradle.kts | 2 + resources-generator/build.gradle.kts | 5 +- samples/android-mpp-app/app/build.gradle.kts | 3 +- .../com/icerockdev/mpp/MainActivity.kt | 0 samples/android-mpp-app/local-check.sh | 12 +++ samples/auto-manifest/local-check.sh | 12 +++ samples/compose-jvm-app/local-check.sh | 12 +++ .../compose-resources-gallery/local-check.sh | 29 +++++++ samples/ios-static-xcframework/local-check.sh | 19 +++++ samples/kotlin-ios-app/local-check.sh | 19 +++++ samples/resources-gallery/local-check.sh | 37 +++++++++ 16 files changed, 195 insertions(+), 129 deletions(-) rename localcheck.sh => local-check.sh (100%) create mode 100755 local-samples-check.sh delete mode 100644 resources-build-logic/src/main/kotlin/android-app-convention.gradle.kts rename samples/android-mpp-app/app/src/androidMain/{java => kotlin}/com/icerockdev/mpp/MainActivity.kt (100%) create mode 100755 samples/android-mpp-app/local-check.sh create mode 100755 samples/auto-manifest/local-check.sh create mode 100755 samples/compose-jvm-app/local-check.sh create mode 100755 samples/compose-resources-gallery/local-check.sh create mode 100755 samples/ios-static-xcframework/local-check.sh create mode 100755 samples/kotlin-ios-app/local-check.sh create mode 100755 samples/resources-gallery/local-check.sh diff --git a/.github/compilation-check-source.yml b/.github/compilation-check-source.yml index 760036949..d528dab04 100644 --- a/.github/compilation-check-source.yml +++ b/.github/compilation-check-source.yml @@ -68,12 +68,12 @@ jobs: - *setup_gradle - *cache_konan - - name: Plugin check - run: ./gradlew -p resources-generator build publishToMavenLocal - - name: detekt run - run: ./gradlew detekt - - name: Library check - run: ./gradlew build publishToMavenLocal + - name: Check + run: ./local-check.sh + - name: Plugin local publish + run: ./gradlew -p resources-generator publishToMavenLocal + - name: Library local publish + run: ./gradlew publishToMavenLocal - name: Upload artifacts uses: actions/upload-artifact@v3 @@ -96,7 +96,7 @@ jobs: - *download_maven - name: Sample - android-mpp-app - run: cd samples/android-mpp-app && ./gradlew build + run: cd samples/android-mpp-app && ./local-check.sh - *publish_test_report - *upload_reports @@ -113,7 +113,7 @@ jobs: - *download_maven - name: Sample - auto-manifest - run: cd samples/auto-manifest && ./gradlew build + run: cd samples/auto-manifest && ./local-check.sh - *publish_test_report - *upload_reports @@ -130,7 +130,7 @@ jobs: - *download_maven - name: Sample - compose-jvm-app - run: cd samples/compose-jvm-app && ./gradlew build + run: cd samples/compose-jvm-app && ./local-check.sh - *publish_test_report - *upload_reports @@ -146,22 +146,8 @@ jobs: - *cache_konan - *download_maven - - name: Sample - resources-gallery - check android only build - run: cd samples/resources-gallery && ./gradlew clean && ./gradlew assembleDebug - - name: Sample - resources-gallery - check jvm only build - run: cd samples/resources-gallery && ./gradlew clean && ./gradlew jvmJar - - name: Sample - resources-gallery - check ios only build - run: cd samples/resources-gallery && ./gradlew clean && ./gradlew compileKotlinIosX64 - - name: Sample - resources-gallery - mpp - run: cd samples/resources-gallery && ./gradlew build - - name: Sample - resources-gallery - ios pods - run: cd samples/resources-gallery/ios-app && pod install - - name: Sample - resources-gallery - ios compile - run: cd samples/resources-gallery/ios-app && set -o pipefail && xcodebuild -scheme TestProj -workspace TestProj.xcworkspace -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty - - name: Sample - resources-gallery - macos pods - run: cd samples/resources-gallery/macos-app && pod install - - name: Sample - resources-gallery - macos compile - run: cd samples/resources-gallery/macos-app && set -o pipefail && xcodebuild -scheme TestProj -workspace macos-app.xcworkspace -configuration Debug -sdk macosx -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - resources-gallery + run: cd samples/resources-gallery && ./local-check.sh - *publish_test_report - *upload_reports @@ -177,10 +163,8 @@ jobs: - *cache_konan - *download_maven - - name: Sample - ios-static-xcframework - mpp - run: cd samples/ios-static-xcframework && ./gradlew build && ./gradlew assembleMultiPlatformLibraryXCFramework - - name: Sample - ios-static-xcframework - ios compile - run: cd samples/ios-static-xcframework/ios-app && set -o pipefail && xcodebuild -scheme TestStaticXCFramework -project TestProj.xcodeproj -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - ios-static-xcframework + run: cd samples/ios-static-xcframework && ./local-check.sh - *publish_test_report - *upload_reports @@ -196,10 +180,8 @@ jobs: - *cache_konan - *download_maven - - name: Sample - kotlin-ios-app - mpp - run: cd samples/kotlin-ios-app && ./gradlew build - - name: Sample - kotlin-ios-app - ios compile - run: cd samples/kotlin-ios-app/xcode-project && set -o pipefail && xcodebuild -scheme TestKotlinApp -project TestProj.xcodeproj -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - kotlin-ios-app + run: cd samples/kotlin-ios-app && ./local-check.sh - *publish_test_report - *upload_reports @@ -215,12 +197,8 @@ jobs: - *cache_konan - *download_maven - - name: Sample - compose-resources-gallery - mpp - run: cd samples/compose-resources-gallery && ./gradlew podspec && ./gradlew build - - name: Sample - compose-resources-gallery - pods - run: cd samples/compose-resources-gallery/iosApp && pod install - - name: Sample - compose-resources-gallery - ios compile - run: cd samples/compose-resources-gallery/iosApp && set -o pipefail && xcodebuild -scheme iosApp -workspace iosApp.xcworkspace -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - compose-resources-gallery + run: cd samples/compose-resources-gallery && ./local-check.sh - *publish_test_report - *upload_reports diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index 2ce854c50..8819d5d80 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -31,12 +31,12 @@ jobs: key: ${{ runner.os }}-konan-${{ hashFiles('**/*.gradle*', 'gradle/**/*') }} restore-keys: | ${{ runner.os }}-konan- - - name: Plugin check - run: ./gradlew -p resources-generator build publishToMavenLocal - - name: detekt run - run: ./gradlew detekt - - name: Library check - run: ./gradlew build publishToMavenLocal + - name: Check + run: ./local-check.sh + - name: Plugin local publish + run: ./gradlew -p resources-generator publishToMavenLocal + - name: Library local publish + run: ./gradlew publishToMavenLocal - name: Upload artifacts uses: actions/upload-artifact@v3 with: @@ -59,10 +59,10 @@ jobs: needs: build-library steps: - uses: actions/checkout@v1 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Setup Gradle uses: gradle/gradle-build-action@v2 with: @@ -81,7 +81,7 @@ jobs: name: maven path: ~/.m2/repository/dev/icerock - name: Sample - android-mpp-app - run: cd samples/android-mpp-app && ./gradlew build + run: cd samples/android-mpp-app && ./local-check.sh - name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: ${{ always() }} @@ -121,7 +121,7 @@ jobs: name: maven path: ~/.m2/repository/dev/icerock - name: Sample - auto-manifest - run: cd samples/auto-manifest && ./gradlew build + run: cd samples/auto-manifest && ./local-check.sh - name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: ${{ always() }} @@ -161,7 +161,7 @@ jobs: name: maven path: ~/.m2/repository/dev/icerock - name: Sample - compose-jvm-app - run: cd samples/compose-jvm-app && ./gradlew build + run: cd samples/compose-jvm-app && ./local-check.sh - name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: ${{ always() }} @@ -200,29 +200,8 @@ jobs: with: name: maven path: ~/.m2/repository/dev/icerock - - name: Sample - resources-gallery - check android only build - run: cd samples/resources-gallery && ./gradlew clean && ./gradlew assembleDebug - - name: Sample - resources-gallery - check jvm only build - run: cd samples/resources-gallery && ./gradlew clean && ./gradlew jvmJar - - name: Sample - resources-gallery - check ios only build - run: cd samples/resources-gallery && ./gradlew clean && ./gradlew - compileKotlinIosX64 - - name: Sample - resources-gallery - mpp - run: cd samples/resources-gallery && ./gradlew build - - name: Sample - resources-gallery - ios pods - run: cd samples/resources-gallery/ios-app && pod install - - name: Sample - resources-gallery - ios compile - run: cd samples/resources-gallery/ios-app && set -o pipefail && xcodebuild - -scheme TestProj -workspace TestProj.xcworkspace -configuration Debug - -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO - CODE_SIGNING_ALLOWED=NO | xcpretty - - name: Sample - resources-gallery - macos pods - run: cd samples/resources-gallery/macos-app && pod install - - name: Sample - resources-gallery - macos compile - run: cd samples/resources-gallery/macos-app && set -o pipefail && xcodebuild - -scheme TestProj -workspace macos-app.xcworkspace -configuration Debug - -sdk macosx -arch x86_64 build CODE_SIGNING_REQUIRED=NO - CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - resources-gallery + run: cd samples/resources-gallery && ./local-check.sh - name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: ${{ always() }} @@ -261,14 +240,8 @@ jobs: with: name: maven path: ~/.m2/repository/dev/icerock - - name: Sample - ios-static-xcframework - mpp - run: cd samples/ios-static-xcframework && ./gradlew build && ./gradlew - assembleMultiPlatformLibraryXCFramework - - name: Sample - ios-static-xcframework - ios compile - run: cd samples/ios-static-xcframework/ios-app && set -o pipefail && xcodebuild - -scheme TestStaticXCFramework -project TestProj.xcodeproj - -configuration Debug -sdk iphonesimulator -arch x86_64 build - CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - ios-static-xcframework + run: cd samples/ios-static-xcframework && ./local-check.sh - name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: ${{ always() }} @@ -307,13 +280,8 @@ jobs: with: name: maven path: ~/.m2/repository/dev/icerock - - name: Sample - kotlin-ios-app - mpp - run: cd samples/kotlin-ios-app && ./gradlew build - - name: Sample - kotlin-ios-app - ios compile - run: cd samples/kotlin-ios-app/xcode-project && set -o pipefail && xcodebuild - -scheme TestKotlinApp -project TestProj.xcodeproj -configuration Debug - -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO - CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - kotlin-ios-app + run: cd samples/kotlin-ios-app && ./local-check.sh - name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: ${{ always() }} @@ -352,16 +320,8 @@ jobs: with: name: maven path: ~/.m2/repository/dev/icerock - - name: Sample - compose-resources-gallery - mpp - run: cd samples/compose-resources-gallery && ./gradlew podspec && ./gradlew - build - - name: Sample - compose-resources-gallery - pods - run: cd samples/compose-resources-gallery/iosApp && pod install - - name: Sample - compose-resources-gallery - ios compile - run: cd samples/compose-resources-gallery/iosApp && set -o pipefail && - xcodebuild -scheme iosApp -workspace iosApp.xcworkspace -configuration - Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO - CODE_SIGNING_ALLOWED=NO | xcpretty + - name: Sample - compose-resources-gallery + run: cd samples/compose-resources-gallery && ./local-check.sh - name: Publish Test Report uses: mikepenz/action-junit-report@v2 if: ${{ always() }} diff --git a/localcheck.sh b/local-check.sh similarity index 100% rename from localcheck.sh rename to local-check.sh diff --git a/local-samples-check.sh b/local-samples-check.sh new file mode 100755 index 000000000..45c1d0e2b --- /dev/null +++ b/local-samples-check.sh @@ -0,0 +1,13 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +(cd samples/android-mpp-app && ./local-check.sh) +(cd samples/auto-manifest && ./local-check.sh) +(cd samples/compose-jvm-app && ./local-check.sh) +(cd samples/ios-static-xcframework && ./local-check.sh) +(cd samples/kotlin-ios-app && ./local-check.sh) +(cd samples/resources-gallery && ./local-check.sh) +(cd samples/compose-resources-gallery && ./local-check.sh) diff --git a/resources-build-logic/src/main/kotlin/android-app-convention.gradle.kts b/resources-build-logic/src/main/kotlin/android-app-convention.gradle.kts deleted file mode 100644 index 2fe42304d..000000000 --- a/resources-build-logic/src/main/kotlin/android-app-convention.gradle.kts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2021 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. - */ - -plugins { - id("com.android.application") - id("android-base-convention") -} - -android { - defaultConfig.vectorDrawables.useSupportLibrary = true - - buildTypes { - getByName("release") { - isMinifyEnabled = false - proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") - } - getByName("debug") { - isDebuggable = true - applicationIdSuffix = ".debug" - } - } - - packaging { - resources.excludes.add("META-INF/*.kotlin_module") - } -} diff --git a/resources-build-logic/src/main/kotlin/multiplatform-library-convention.gradle.kts b/resources-build-logic/src/main/kotlin/multiplatform-library-convention.gradle.kts index cd0a94239..199914a05 100644 --- a/resources-build-logic/src/main/kotlin/multiplatform-library-convention.gradle.kts +++ b/resources-build-logic/src/main/kotlin/multiplatform-library-convention.gradle.kts @@ -51,6 +51,8 @@ kotlin { macosTest.dependsOn(commonTest) jsTest.dependsOn(commonTest) } + + jvmToolchain(11) } tasks.withType { diff --git a/resources-generator/build.gradle.kts b/resources-generator/build.gradle.kts index bfb149272..eaad63837 100644 --- a/resources-generator/build.gradle.kts +++ b/resources-generator/build.gradle.kts @@ -30,9 +30,8 @@ java { withSourcesJar() } -tasks.withType().configureEach { - sourceCompatibility = JavaVersion.VERSION_11.toString() - targetCompatibility = JavaVersion.VERSION_11.toString() +kotlin { + jvmToolchain(11) } gradlePlugin { diff --git a/samples/android-mpp-app/app/build.gradle.kts b/samples/android-mpp-app/app/build.gradle.kts index 6edf4ea5f..3d5854591 100644 --- a/samples/android-mpp-app/app/build.gradle.kts +++ b/samples/android-mpp-app/app/build.gradle.kts @@ -9,6 +9,8 @@ plugins { } android { + namespace = "com.icerockdev.mpp" + compileSdk = 33 defaultConfig { @@ -24,7 +26,6 @@ android { testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } - namespace = "com.icerockdev" } kotlin { diff --git a/samples/android-mpp-app/app/src/androidMain/java/com/icerockdev/mpp/MainActivity.kt b/samples/android-mpp-app/app/src/androidMain/kotlin/com/icerockdev/mpp/MainActivity.kt similarity index 100% rename from samples/android-mpp-app/app/src/androidMain/java/com/icerockdev/mpp/MainActivity.kt rename to samples/android-mpp-app/app/src/androidMain/kotlin/com/icerockdev/mpp/MainActivity.kt diff --git a/samples/android-mpp-app/local-check.sh b/samples/android-mpp-app/local-check.sh new file mode 100755 index 000000000..6aa9acc15 --- /dev/null +++ b/samples/android-mpp-app/local-check.sh @@ -0,0 +1,12 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +log() { + echo "\033[0;32m> $1\033[0m" +} + +./gradlew clean build +log "android-mpp-app success" diff --git a/samples/auto-manifest/local-check.sh b/samples/auto-manifest/local-check.sh new file mode 100755 index 000000000..8d2cd9fe6 --- /dev/null +++ b/samples/auto-manifest/local-check.sh @@ -0,0 +1,12 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +log() { + echo "\033[0;32m> $1\033[0m" +} + +./gradlew clean build +log "android-manifest success" diff --git a/samples/compose-jvm-app/local-check.sh b/samples/compose-jvm-app/local-check.sh new file mode 100755 index 000000000..506386084 --- /dev/null +++ b/samples/compose-jvm-app/local-check.sh @@ -0,0 +1,12 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +log() { + echo "\033[0;32m> $1\033[0m" +} + +./gradlew clean build +log "compose-jvm-app success" diff --git a/samples/compose-resources-gallery/local-check.sh b/samples/compose-resources-gallery/local-check.sh new file mode 100755 index 000000000..f491b8d24 --- /dev/null +++ b/samples/compose-resources-gallery/local-check.sh @@ -0,0 +1,29 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +log() { + echo "\033[0;32m> $1\033[0m" +} + +./gradlew clean && ./gradlew assembleDebug +log "compose-resources-gallery android success" + +./gradlew clean && ./gradlew jvmJar +log "compose-resources-gallery jvm success" + +./gradlew clean && ./gradlew compileKotlinIosX64 +log "compose-resources-gallery ios success" + +./gradlew podspec build +log "compose-resources-gallery full build success" + +( +cd ios-app && +pod install && +set -o pipefail && +xcodebuild -scheme iosApp -workspace iosApp.xcworkspace -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty +) +log "compose-resources-gallery ios xcode success" diff --git a/samples/ios-static-xcframework/local-check.sh b/samples/ios-static-xcframework/local-check.sh new file mode 100755 index 000000000..6a78521ff --- /dev/null +++ b/samples/ios-static-xcframework/local-check.sh @@ -0,0 +1,19 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +log() { + echo "\033[0;32m> $1\033[0m" +} + +./gradlew clean && ./gradlew build assembleMultiPlatformLibraryXCFramework +log "ios-static-xcframework gradle build success" + +( +cd ios-app && +set -o pipefail && +xcodebuild -scheme TestStaticXCFramework -project TestProj.xcodeproj -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty +) +log "ios-static-xcframework ios xcode success" diff --git a/samples/kotlin-ios-app/local-check.sh b/samples/kotlin-ios-app/local-check.sh new file mode 100755 index 000000000..67307a720 --- /dev/null +++ b/samples/kotlin-ios-app/local-check.sh @@ -0,0 +1,19 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +log() { + echo "\033[0;32m> $1\033[0m" +} + +./gradlew clean && ./gradlew build +log "kotlin-ios-app gradle build success" + +( +cd xcode-project && +set -o pipefail && +xcodebuild -scheme TestKotlinApp -project TestProj.xcodeproj -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty +) +log "kotlin-ios-app ios xcode success" diff --git a/samples/resources-gallery/local-check.sh b/samples/resources-gallery/local-check.sh new file mode 100755 index 000000000..9605b09b0 --- /dev/null +++ b/samples/resources-gallery/local-check.sh @@ -0,0 +1,37 @@ +# +# Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. +# + +set -e + +log() { + echo "\033[0;32m> $1\033[0m" +} + +./gradlew clean && ./gradlew assembleDebug +log "resources-gallery android success" + +./gradlew clean && ./gradlew jvmJar +log "resources-gallery jvm success" + +./gradlew clean && ./gradlew compileKotlinIosX64 +log "resources-gallery ios success" + +./gradlew build +log "resources-gallery full build success" + +( +cd ios-app && +pod install && +set -o pipefail && +xcodebuild -scheme TestProj -workspace TestProj.xcworkspace -configuration Debug -sdk iphonesimulator -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty +) +log "resources-gallery ios xcode success" + +( +cd macos-app && +pod install && +set -o pipefail && +xcodebuild -scheme TestProj -workspace macos-app.xcworkspace -configuration Debug -sdk macosx -arch x86_64 build CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | xcpretty +) +log "resources-gallery macos xcode success"