Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test against Gradle 8.0-rc-2 and AGP 8.0.0-alpha11 #499

Merged
merged 1 commit into from
Jan 17, 2023
Merged
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
8 changes: 8 additions & 0 deletions build-logic/src/main/kotlin/shared.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import org.gradle.accessors.dm.LibrariesForLibs
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

val libs = the<LibrariesForLibs>()

Expand All @@ -24,6 +26,12 @@ java {
targetCompatibility = JavaVersion.VERSION_11
}

tasks.withType(KotlinCompile::class.java) {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_11)
}
}

configurations.all {
// Pin the kotlin version
resolutionStrategy {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.google.testing.junit.testparameterinjector.junit5.TestParameterInject
import com.vanniktech.maven.publish.ProjectResultSubject.Companion.assertThat
import com.vanniktech.maven.publish.TestOptions.Signing.IN_MEMORY_KEY
import java.nio.file.Path
import org.gradle.api.JavaVersion
import org.junit.jupiter.api.io.TempDir

class MavenPublishPluginPlatformTest {
Expand Down Expand Up @@ -310,7 +311,7 @@ class MavenPublishPluginPlatformTest {
@TestParameter agpVersion: AgpVersion,
@TestParameter kotlinVersion: KotlinVersion,
) {
agpVersion.assumeSupportedGradleVersion()
agpVersion.assumeSupportedJdkAndGradleVersion()

val project = kotlinMultiplatformWithAndroidLibraryProjectSpec(agpVersion, kotlinVersion)
val result = project.run(fixtures, testProjectDir, testOptions)
Expand Down Expand Up @@ -427,7 +428,7 @@ class MavenPublishPluginPlatformTest {

@TestParameterInjectorTest
fun androidLibraryProject(@TestParameter agpVersion: AgpVersion) {
agpVersion.assumeSupportedGradleVersion()
agpVersion.assumeSupportedJdkAndGradleVersion()

val project = androidLibraryProjectSpec(agpVersion)
val result = project.run(fixtures, testProjectDir, testOptions)
Expand All @@ -451,7 +452,7 @@ class MavenPublishPluginPlatformTest {
fun androidMultiVariantLibraryProject(@TestParameter agpVersion: AgpVersion) {
// regular plugin does not have a way to enable multi variant config
assume().that(config).isEqualTo(TestOptions.Config.BASE)
agpVersion.assumeSupportedGradleVersion()
agpVersion.assumeSupportedJdkAndGradleVersion()

val project = androidLibraryProjectSpec(agpVersion).copy(
basePluginConfig = "configure(new AndroidMultiVariantLibrary(true, true))",
Expand Down Expand Up @@ -487,7 +488,7 @@ class MavenPublishPluginPlatformTest {
@TestParameter agpVersion: AgpVersion,
@TestParameter kotlinVersion: KotlinVersion,
) {
agpVersion.assumeSupportedGradleVersion()
agpVersion.assumeSupportedJdkAndGradleVersion()

val project = androidLibraryKotlinProjectSpec(agpVersion, kotlinVersion)
val result = project.run(fixtures, testProjectDir, testOptions)
Expand Down Expand Up @@ -543,7 +544,8 @@ class MavenPublishPluginPlatformTest {
assertThat(result).module().isSigned()
}

private fun AgpVersion.assumeSupportedGradleVersion() {
private fun AgpVersion.assumeSupportedJdkAndGradleVersion() {
assume().that(JavaVersion.current()).isAtLeast(minJdkVersion)
assume().that(gradleVersion).isAtLeast(minGradleVersion)
if (firstUnsupportedGradleVersion != null) {
assume().that(gradleVersion).isLessThan(firstUnsupportedGradleVersion)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.vanniktech.maven.publish

import org.gradle.api.JavaVersion

data class TestOptions(
val config: Config,
val signing: Signing,
Expand All @@ -21,6 +23,7 @@ enum class AgpVersion(
val value: String,
val minGradleVersion: GradleVersion,
val firstUnsupportedGradleVersion: GradleVersion? = null,
val minJdkVersion: JavaVersion = JavaVersion.VERSION_11,
) {
// minimum supported
AGP_7_1(
Expand All @@ -35,8 +38,9 @@ enum class AgpVersion(
),
// canary channel
AGP_8_0(
value = "8.0.0-alpha09",
value = "8.0.0-alpha11",
minGradleVersion = GradleVersion.GRADLE_8_0,
minJdkVersion = JavaVersion.VERSION_17,
),
}

Expand All @@ -53,7 +57,7 @@ enum class GradleVersion(val value: String) {
// stable
GRADLE_7_6("7.6"),
// preview
GRADLE_8_0("8.0-rc-1"),
GRADLE_8_0("8.0-rc-2"),
;

companion object {
Expand Down