Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 46 additions & 22 deletions WordPress/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.kotlin.allopen)
Expand Down Expand Up @@ -90,6 +89,10 @@ allOpen {
annotation 'org.wordpress.android.testing.OpenClassAnnotation'
}

base {
archivesName = "org.wordpress.android"
}

android {
useLibrary 'android.test.runner'

Expand All @@ -100,16 +103,16 @@ android {

def versionProperties = loadPropertiesFromFile(file("${rootDir}/version.properties"))

compileSdk rootProject.compileSdkVersion

defaultConfig {
applicationId "org.wordpress.android"
archivesBaseName = "$applicationId"

versionName project.findProperty("prototypeBuildVersionName") ?: versionProperties.getProperty("versionName")
versionCode versionProperties.getProperty("versionCode").toInteger()

minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
compileSdk rootProject.compileSdkVersion

testInstrumentationRunner 'org.wordpress.android.WordPressTestRunner'

Expand Down Expand Up @@ -252,7 +255,7 @@ android {
// Proguard is used to shrink our apk, and reduce the number of methods in our final apk,
// but we don't obfuscate the bytecode.
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard.cfg'
buildConfigField "boolean", "ENABLE_DEBUG_SETTINGS", "false"
}

Expand Down Expand Up @@ -599,14 +602,24 @@ tasks.register("printVersionName") {
}
}

tasks.register("printAllVersions") {
def versions = android.applicationVariants.collect {
[it.name, it.versionName, it.versionCode]
def allVariantVersions = []

androidComponents {
onVariants(selector().all()) { variant ->
variant.outputs.each { output ->
allVariantVersions.add([
name: variant.name,
versionName: output.versionName,
versionCode: output.versionCode
])
}
}
}

tasks.register("printAllVersions") {
doLast {
versions.each { name, versionName, versionCode ->
println "$name: $versionName ($versionCode)"
allVariantVersions.each { data ->
println "${data.name}: ${data.versionName.get()} (${data.versionCode.get()})"
}
}
}
Expand All @@ -629,25 +642,36 @@ android {
androidResources {
generateLocaleConfig = true
}
}

// Copy React Native JavaScript bundle and source map so they can be upload it to the Crash logging
// service during the build process.
applicationVariants.configureEach { variant ->
def variantAssets = variant.mergeAssetsProvider.get().outputDir.get()

tasks.register("delete${variant.name.capitalize()}ReactNativeBundleSourceMap", Delete) {
delete(fileTree(dir: variantAssets, includes: ['**/*.bundle.map']))
// Copy React Native JavaScript bundle and source map so they can be uploaded to the Crash logging
// service during the build process.
androidComponents {
onVariants(selector().all()) { variant ->
def capitalizedName = variant.name.capitalize()
def assetsDir = variant.artifacts.get(
com.android.build.api.artifact.SingleArtifact.ASSETS.INSTANCE
)

def deleteTask = tasks.register(
"delete${capitalizedName}ReactNativeBundleSourceMap", Delete
) {
delete(fileTree(dir: assetsDir, includes: ['**/*.bundle.map']))
}

tasks.register("copy${variant.name.capitalize()}ReactNativeBundleSourceMap", Copy) {
from(variantAssets)
into("${buildDir}/react-native-bundle-source-map")
def copyTask = tasks.register(
"copy${capitalizedName}ReactNativeBundleSourceMap", Copy
) {
from(assetsDir)
into(layout.buildDirectory.dir("react-native-bundle-source-map"))
include("*.bundle", "*.bundle.map")
finalizedBy("delete${variant.name.capitalize()}ReactNativeBundleSourceMap")
finalizedBy(deleteTask)
}

variant.mergeAssetsProvider.configure {
finalizedBy("copy${variant.name.capitalize()}ReactNativeBundleSourceMap")
afterEvaluate {
tasks.named("merge${capitalizedName}Assets").configure {
finalizedBy(copyTask)
}
}
}
}
7 changes: 3 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,12 @@ plugins {
alias(libs.plugins.android.library).apply(false)
alias(libs.plugins.google.services).apply(false)
alias(libs.plugins.kotlin.allopen).apply(false)
alias(libs.plugins.kotlin.android).apply(false)
alias(libs.plugins.kotlin.compose).apply(false)
alias(libs.plugins.kotlin.jvm).apply(false)
alias(libs.plugins.kotlin.parcelize).apply(false)
alias(libs.plugins.kotlin.serialization).apply(false)
alias(libs.plugins.ksp).apply(false)
alias(libs.plugins.kapt).apply(false)
alias(libs.plugins.legacy.kapt).apply(false)
alias(libs.plugins.room).apply(false)
}

Expand Down Expand Up @@ -98,7 +97,7 @@ allprojects {
subprojects {
plugins.withType(com.android.build.gradle.AppPlugin) {
android {
lintOptions {
lint {
warningsAsErrors = true
checkDependencies true
checkGeneratedSources = true
Expand All @@ -114,7 +113,7 @@ subprojects {
}
plugins.withType(com.android.build.gradle.LibraryPlugin) {
android {
lintOptions {
lint {
checkDependencies false
lintConfig file("${project.rootDir}/config/lint/lint.xml")
}
Expand Down
2 changes: 0 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ org.gradle.configureondemand=true
org.gradle.caching=true
org.gradle.configuration-cache=true

android.useAndroidX=true
android.enableJetifier=false
android.nonTransitiveRClass=true
android.nonFinalResIds=true
android.enableR8.fullMode=false
Expand Down
9 changes: 4 additions & 5 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
agp = '8.10.1'
agp = '9.0.1'
airbnb-lottie = '6.7.1'
android-desugar = '2.1.5'
android-installreferrer = '2.2'
Expand Down Expand Up @@ -56,9 +56,9 @@ dependency-analysis = '3.6.1'
facebook-react = '0.73.3'
facebook-shimmer = '0.5.0'
fastlane-screengrab = '2.1.1'
fladle = '0.19.0'
fladle = '0.21.0'
google-autoservice = '1.1.1'
google-dagger = '2.58'
google-dagger = '2.59.2'
google-exoplayer = '2.13.3'
google-firebase-bom = '34.10.0'
google-firebase-iid = '21.1.0'
Expand Down Expand Up @@ -281,10 +281,9 @@ detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
fladle = { id = "com.osacky.fladle", version.ref = "fladle" }
google-dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "google-dagger" }
google-services = { id = "com.google.gms.google-services", version.ref = "google-services" }
kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin-main" }
kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin-main" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin-main" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin-main" }
legacy-kapt = { id = "com.android.legacy-kapt", version.ref = "agp" }
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin-main" }
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin-main" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin-main" }
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=296742a352f0b20ec14b143fb684965ad66086c7810b7b255dee216670716175
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-all.zip
distributionSha256Sum=b84e04fa845fecba48551f425957641074fcc00a88a84d2aae5808743b35fc85
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
2 changes: 1 addition & 1 deletion libs/annotations/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
alias(libs.plugins.dependency.analysis)
}

kotlin {
java {
sourceCompatibility = JvmTarget.fromTarget(libs.versions.java.get()).target
targetCompatibility = JvmTarget.fromTarget(libs.versions.java.get()).target
}
1 change: 0 additions & 1 deletion libs/editor/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.kotlinx.kover)
alias(libs.plugins.dependency.analysis)
Expand Down
3 changes: 1 addition & 2 deletions libs/fluxc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.kapt)
alias(libs.plugins.legacy.kapt)
alias(libs.plugins.ksp)
alias(libs.plugins.room)
alias(libs.plugins.kotlinx.kover)
Expand Down
1 change: 0 additions & 1 deletion libs/image-editor/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.androidx.navigation.safeargs)
alias(libs.plugins.kotlinx.kover)
Expand Down
1 change: 0 additions & 1 deletion libs/login/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlinx.kover)
alias(libs.plugins.ksp)
alias(libs.plugins.dependency.analysis)
Expand Down
1 change: 0 additions & 1 deletion libs/posttypes/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.google.dagger.hilt)
Expand Down
1 change: 0 additions & 1 deletion libs/posttypes/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="false"
android:usesCleartextTraffic="false"
tools:ignore="UnusedAttribute">
<activity
Expand Down
2 changes: 1 addition & 1 deletion libs/processors/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
alias(libs.plugins.dependency.analysis)
}

kotlin {
java {
sourceCompatibility = JvmTarget.fromTarget(libs.versions.java.get()).target
targetCompatibility = JvmTarget.fromTarget(libs.versions.java.get()).target
}
Expand Down
Loading