diff --git a/sdk-bugcollect-plugin/build.gradle.kts b/sdk-bugcollect-plugin/build.gradle.kts new file mode 100644 index 0000000..fe71e24 --- /dev/null +++ b/sdk-bugcollect-plugin/build.gradle.kts @@ -0,0 +1,51 @@ +plugins { + kotlin("jvm") + `java-gradle-plugin` + `maven-publish` +} + +group = "com.xuqm.bugcollect" + +val pluginVersion: String by lazy { + (project.findProperty("SDK_BUGCOLLECT_VERSION") as? String)?.takeIf { it.isNotBlank() } + ?: (project.findProperty("PUBLISH_VERSION") as? String)?.takeIf { it.isNotBlank() } + ?: "0.0.1-SNAPSHOT" +} + +version = pluginVersion + +java { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + jvmToolchain(11) +} + +gradlePlugin { + plugins { + create("bugcollect") { + id = "com.xuqm.bugcollect" + implementationClass = "com.xuqm.sdk.bugcollect.gradle.XuqmBugCollectPlugin" + displayName = "XuqmGroup BugCollect Plugin" + description = "Uploads ProGuard mapping files to the XuqmGroup BugCollect service after minified builds." + } + } +} + +dependencies { + compileOnly("com.android.tools.build:gradle:9.1.0") +} + +publishing { + repositories { + maven { + url = uri(rootProject.ext["nexusUrl"] as String) + credentials { + username = project.findProperty("NEXUS_USER") as? String ?: "" + password = project.findProperty("NEXUS_PASSWORD") as? String ?: "" + } + } + } +} diff --git a/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt b/sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt similarity index 100% rename from sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt rename to sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmBugCollectPlugin.kt diff --git a/sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/gradle/XuqmUploadMappingTask.kt b/sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmUploadMappingTask.kt similarity index 100% rename from sdk-bugcollect/src/main/java/com/xuqm/sdk/bugcollect/gradle/XuqmUploadMappingTask.kt rename to sdk-bugcollect-plugin/src/main/kotlin/com/xuqm/sdk/bugcollect/gradle/XuqmUploadMappingTask.kt diff --git a/sdk-bugcollect/build.gradle.kts b/sdk-bugcollect/build.gradle.kts index a6c52b0..5c66300 100644 --- a/sdk-bugcollect/build.gradle.kts +++ b/sdk-bugcollect/build.gradle.kts @@ -49,7 +49,4 @@ dependencies { implementation(project(":sdk-core")) implementation("com.squareup.okhttp3:okhttp:4.12.0") implementation("com.google.code.gson:gson:2.10.1") - // Gradle Plugin classes need Gradle API + AGP on compile classpath - compileOnly(gradleApi()) - compileOnly("com.android.tools.build:gradle:9.1.0") } diff --git a/sdk-bugcollect/src/main/resources/META-INF/gradle-plugins/com.xuqm.bugcollect.properties b/sdk-bugcollect/src/main/resources/META-INF/gradle-plugins/com.xuqm.bugcollect.properties deleted file mode 100644 index 9da3965..0000000 --- a/sdk-bugcollect/src/main/resources/META-INF/gradle-plugins/com.xuqm.bugcollect.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=com.xuqm.sdk.bugcollect.gradle.XuqmBugCollectPlugin diff --git a/settings.gradle.kts b/settings.gradle.kts index 755487d..72c6791 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -27,4 +27,5 @@ include(":sdk-update") include(":sdk-webview") include(":sdk-license") include(":sdk-bugcollect") +include(":sdk-bugcollect-plugin") include(":sample-app")