Skip to content

Commit 3a9d921

Browse files
committed
Revert 'com.android.library' support (#105)
1 parent 3f37b63 commit 3a9d921

File tree

3 files changed

+4
-64
lines changed

3 files changed

+4
-64
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ dependencies {
7979
implementation("org.ow2.asm:asm-tree:9.2")
8080
implementation("com.googlecode.java-diff-utils:diffutils:1.3.0")
8181
compileOnly("org.jetbrains.kotlin.multiplatform:org.jetbrains.kotlin.multiplatform.gradle.plugin:1.6.0")
82-
compileOnly("com.android.tools.build:gradle:${androidGradlePluginVersion}")
82+
// compileOnly("com.android.tools.build:gradle:${androidGradlePluginVersion}")
8383

8484
// The test needs the full kotlin multiplatform plugin loaded as it has no visibility of previously loaded plugins,
8585
// unlike the regular way gradle loads plugins.

src/functionalTest/kotlin/kotlinx/validation/test/AndroidLibraryTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ package kotlinx.validation.test
77

88
import kotlinx.validation.api.*
99
import org.junit.Assume
10+
import org.junit.Ignore
1011
import org.junit.Test
1112
import java.io.File
1213

14+
@Ignore // Leftovers after revert of #94
1315
internal class AndroidLibraryTest : BaseKotlinGradleTest() {
1416

1517
// region Kotlin Android Library

src/main/kotlin/BinaryCompatibilityValidatorPlugin.kt

Lines changed: 1 addition & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55

66
package kotlinx.validation
77

8-
import com.android.build.gradle.LibraryExtension
98
import org.gradle.api.*
109
import org.gradle.api.plugins.*
1110
import org.gradle.api.provider.*
1211
import org.gradle.api.tasks.*
13-
import org.gradle.api.tasks.compile.JavaCompile
1412
import org.jetbrains.kotlin.gradle.dsl.*
1513
import org.jetbrains.kotlin.gradle.plugin.*
1614
import java.io.*
@@ -111,15 +109,8 @@ class BinaryCompatibilityValidatorPlugin : Plugin<Project> {
111109
project: Project,
112110
extension: ApiValidationExtension
113111
) {
114-
val kotlinPluginPresent = project.plugins
115-
.withType(KotlinAndroidPluginWrapper::class.java)
116-
.isEmpty().not()
112+
configureAndroidPluginForKotlinLibrary(project, extension)
117113

118-
if (kotlinPluginPresent) {
119-
configureAndroidPluginForKotlinLibrary(project, extension)
120-
} else {
121-
configureAndroidPluginForJavaLibrary(project, extension)
122-
}
123114
}
124115

125116
private fun configureAndroidPluginForKotlinLibrary(
@@ -135,18 +126,6 @@ class BinaryCompatibilityValidatorPlugin : Plugin<Project> {
135126
}
136127
}
137128

138-
private fun configureAndroidPluginForJavaLibrary(
139-
project: Project,
140-
extension: ApiValidationExtension
141-
) = configurePlugin("com.android.library", project, extension) {
142-
val androidExtension = project.extensions.getByType(LibraryExtension::class.java)
143-
androidExtension.libraryVariants.matching {
144-
it.name == "release"
145-
}.all {
146-
project.configureJavaCompilation(it.javaCompileProvider, extension)
147-
}
148-
}
149-
150129
private fun configureKotlinPlugin(
151130
project: Project,
152131
extension: ApiValidationExtension
@@ -242,39 +221,6 @@ internal val Project.apiValidationExtensionOrNull: ApiValidationExtension?
242221
.map { it.extensions.findByType(ApiValidationExtension::class.java) }
243222
.firstOrNull { it != null }
244223

245-
private fun Project.configureJavaCompilation(
246-
configurableFileCollection: TaskProvider<JavaCompile>,
247-
extension: ApiValidationExtension,
248-
targetConfig: TargetConfig = TargetConfig(this),
249-
) {
250-
val projectName = project.name
251-
val apiDirProvider = targetConfig.apiDir
252-
val apiBuildDir = apiDirProvider.map { buildDir.resolve(it) }
253-
254-
val apiBuild = task<KotlinApiBuildTask>(targetConfig.apiTaskName("Build")) {
255-
isEnabled = apiCheckEnabled(projectName, extension)
256-
// 'group' is not specified deliberately, so it will be hidden from ./gradlew tasks
257-
description = "Builds Java API for 'main' compilations of $projectName. " +
258-
"Complementary task and shouldn't be called manually"
259-
inputClassesDirs = files(provider<Any> {
260-
if (isEnabled) configurableFileCollection.get().outputs.files
261-
else emptyList<Any>()
262-
})
263-
inputDependencies = files(provider<Any> {
264-
if (isEnabled) configurableFileCollection.get().outputs.files
265-
else emptyList<Any>()
266-
})
267-
outputApiDir = apiBuildDir.get()
268-
}
269-
270-
configureCheckTasks(
271-
apiBuildDir,
272-
apiBuild,
273-
extension,
274-
targetConfig
275-
)
276-
}
277-
278224
fun apiCheckEnabled(projectName: String, extension: ApiValidationExtension): Boolean =
279225
projectName !in extension.ignoredProjects && !extension.validationDisabled
280226

@@ -341,11 +287,3 @@ inline fun <reified T : Task> Project.task(
341287
name: String,
342288
noinline configuration: T.() -> Unit,
343289
): TaskProvider<T> = tasks.register(name, T::class.java, Action(configuration))
344-
345-
inline fun <reified T : Task> Project.task(
346-
name: String,
347-
extension: ApiValidationExtension,
348-
noinline configuration: T.() -> Unit,
349-
): TaskProvider<T> = tasks.register(name, T::class.java, extension).also {
350-
it.configure(Action(configuration))
351-
}

0 commit comments

Comments
 (0)