diff --git a/.github/workflows/android-fdroid.yml b/.github/workflows/android-fdroid.yml new file mode 100644 index 00000000..34a61db8 --- /dev/null +++ b/.github/workflows/android-fdroid.yml @@ -0,0 +1,26 @@ +name: Android CI (F-Droid) + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '17' + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Prepare source for F-Droid build + run: sed -i "/fdroid-remove-start/,/fdroid-remove-end/d" build.gradle voipms-sms/build.gradle + - name: Build with Gradle (F-Droid) + run: ./gradlew assembleFdroidFullRelease \ No newline at end of file diff --git a/.github/workflows/android.yml b/.github/workflows/android-primary.yml similarity index 65% rename from .github/workflows/android.yml rename to .github/workflows/android-primary.yml index 68c6a851..866b8cec 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android-primary.yml @@ -1,4 +1,4 @@ -name: Android CI +name: Android CI (primary) on: push: @@ -11,12 +11,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: set up JDK 17 + - name: Set up JDK 17 uses: actions/setup-java@v2 with: distribution: 'zulu' java-version: '17' - - name: set up Python 3.10 + - name: Set up Python 3.10 uses: actions/setup-python@v4 with: python-version: '3.10' @@ -24,11 +24,5 @@ jobs: env: google_services_json: ${{ secrets.GOOGLE_SERVICES_JSON }} run: echo $google_services_json | base64 -d > voipms-sms/src/primary/google-services.json - - name: Build with Gradle (primary) - run: ./gradlew build - env: - FDROID_BUILD: '0' - - name: Build with Gradle (F-Droid) - run: ./gradlew build - env: - FDROID_BUILD: '1' \ No newline at end of file + - name: Build with Gradle + run: ./gradlew assemblePrimaryFullRelease \ No newline at end of file diff --git a/build.gradle b/build.gradle index aa44693e..01b9657c 100644 --- a/build.gradle +++ b/build.gradle @@ -9,10 +9,10 @@ buildscript { classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20' classpath 'com.github.michaelkourlas:oss-licenses-plugin:0.0.2' - if (System.getenv("FDROID_BUILD") != "1") { - classpath 'com.google.gms:google-services:4.4.0' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' - } + // fdroid-remove-start + classpath 'com.google.gms:google-services:4.4.0' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' + // fdroid-remove-end } } diff --git a/voipms-sms/build.gradle b/voipms-sms/build.gradle index bce18975..46752b71 100644 --- a/voipms-sms/build.gradle +++ b/voipms-sms/build.gradle @@ -22,17 +22,16 @@ android { } flavorDimensions = ["version", "demo"] productFlavors { - if (System.getenv("FDROID_BUILD") != "1") { - primary { - dimension "version" - buildConfigField "boolean", "IS_FDROID", "false" - } - } else { - fdroid { - dimension "version" - versionNameSuffix "-fdroid" - buildConfigField "boolean", "IS_FDROID", "true" - } + // fdroid-remove-start + primary { + dimension "version" + buildConfigField "boolean", "IS_FDROID", "false" + } + // fdroid-remove-end + fdroid { + dimension "version" + versionNameSuffix "-fdroid" + buildConfigField "boolean", "IS_FDROID", "true" } full { dimension "demo" @@ -79,11 +78,10 @@ android { } sourceSets { main.java.srcDirs += "src/main/kotlin" - if (System.getenv("FDROID_BUILD") != "1") { - primary.java.srcDirs += "src/primary/kotlin" - } else { - fdroid.java.srcDirs += "src/fdroid/kotlin" - } + // fdroid-remove-start + primary.java.srcDirs += "src/primary/kotlin" + // fdroid-remove-end + fdroid.java.srcDirs += "src/fdroid/kotlin" } lint { abortOnError false @@ -115,16 +113,18 @@ dependencies { implementation "com.google.android.material:material:1.11.0" ksp "androidx.room:room-compiler:$room_version" - if (System.getenv("FDROID_BUILD") != "1") { - // Firebase libraries - primaryImplementation platform("com.google.firebase:firebase-bom:32.7.1") - primaryImplementation "com.google.firebase:firebase-analytics-ktx" - primaryImplementation "com.google.firebase:firebase-crashlytics-ktx" - primaryImplementation "com.google.firebase:firebase-messaging-ktx" + // fdroid-remove-start - // Google Play libraries - primaryImplementation "com.android.billingclient:billing-ktx:6.1.0" - } + // Firebase libraries + primaryImplementation platform("com.google.firebase:firebase-bom:32.7.1") + primaryImplementation "com.google.firebase:firebase-analytics-ktx" + primaryImplementation "com.google.firebase:firebase-crashlytics-ktx" + primaryImplementation "com.google.firebase:firebase-messaging-ktx" + + // Google Play libraries + primaryImplementation "com.android.billingclient:billing-ktx:6.1.0" + + // fdroid-remove-end // Other third-party libraries implementation "com.squareup.moshi:moshi-adapters:$moshi_version" @@ -168,7 +168,7 @@ android.applicationVariants.configureEach { variant -> generatePackageLicenses.dependsOn cleanAssets } -if (System.getenv("FDROID_BUILD") != "1") { - apply plugin: "com.google.gms.google-services" - apply plugin: "com.google.firebase.crashlytics" -} \ No newline at end of file +// fdroid-remove-start +apply plugin: "com.google.gms.google-services" +apply plugin: "com.google.firebase.crashlytics" +// fdroid-remove-end \ No newline at end of file