Skip to content

Commit 417bad3

Browse files
authored
add plugin validation run detection to root and library plugins (#95)
remove obsolete spock tests
1 parent 8620356 commit 417bad3

12 files changed

Lines changed: 163 additions & 167 deletions

File tree

build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ dependencies {
5252
testImplementation("org.ajoberstar.grgit:grgit-core:4.1.1") {
5353
exclude (group= "org.codehaus.groovy", module= "groovy")
5454
}
55-
testImplementation("org.spockframework:spock-core:2.3-groovy-4.0")
56-
testImplementation("org.spockframework:spock-junit4:2.3-groovy-4.0")
5755
testImplementation("org.mock-server:mockserver-netty:5.15.0")
5856
}
5957

gradle.lockfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jakarta.xml.bind:jakarta.xml.bind-api:4.0.0=integTestRuntimeClasspath,testRuntim
100100
javax.servlet:javax.servlet-api:4.0.1=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
101101
joda-time:joda-time:2.10=runtimeClasspath
102102
joda-time:joda-time:2.10.5=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
103-
junit:junit:4.13.2=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
103+
junit:junit:4.13.2=integTestCompileClasspath,integTestRuntimeClasspath
104104
net.bytebuddy:byte-buddy:1.15.11=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
105105
net.java.dev.jna:jna-platform:5.16.0=integTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath
106106
net.java.dev.jna:jna:5.16.0=integTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath
@@ -112,7 +112,7 @@ org.ajoberstar.grgit:grgit-core:4.1.1=integTestCompileClasspath,integTestRuntime
112112
org.apache.commons:commons-digester3:3.2=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
113113
org.apache.commons:commons-lang3:3.12.0=integTestCompileClasspath,integTestRuntimeClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
114114
org.apache.commons:commons-text:1.10.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
115-
org.apache.groovy:groovy:4.0.4=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
115+
org.apache.groovy:groovy:4.0.4=integTestCompileClasspath,integTestRuntimeClasspath
116116
org.apache.httpcomponents:httpclient:4.5.13=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
117117
org.apache.httpcomponents:httpcore:4.4.13=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
118118
org.apache.maven:maven-model:3.6.3=integTestRuntimeClasspath,runtimeClasspath,testRuntimeClasspath
@@ -152,8 +152,8 @@ org.objenesis:objenesis:2.4=integTestRuntimeClasspath,testRuntimeClasspath
152152
org.opentest4j:opentest4j:1.3.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
153153
org.ow2.asm:asm:9.1=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
154154
org.slf4j:slf4j-api:2.0.6=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
155-
org.spockframework:spock-core:2.3-groovy-4.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
156-
org.spockframework:spock-junit4:2.3-groovy-4.0=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
155+
org.spockframework:spock-core:2.3-groovy-4.0=integTestCompileClasspath,integTestRuntimeClasspath
156+
org.spockframework:spock-junit4:2.3-groovy-4.0=integTestCompileClasspath,integTestRuntimeClasspath
157157
org.xmlunit:xmlunit-core:2.9.1=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
158158
org.xmlunit:xmlunit-placeholders:2.9.1=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
159159
org.yaml:snakeyaml:1.33=integTestCompileClasspath,integTestRuntimeClasspath,testCompileClasspath,testRuntimeClasspath

src/integTest/groovy/nebula/plugin/plugin/GitVersioningIntegrationSpec.groovy

Lines changed: 0 additions & 60 deletions
This file was deleted.

src/integTest/groovy/nebula/plugin/plugin/NebulaPluginPluginPublishingIntegrationSpec.groovy

Lines changed: 0 additions & 52 deletions
This file was deleted.

src/main/groovy/nebula/plugin/plugin/NebulaLibraryPlugin.groovy

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,14 @@
1515
*/
1616
package nebula.plugin.plugin
1717

18-
import io.github.gradlenexus.publishplugin.AbstractNexusStagingRepositoryTask
18+
1919
import nebula.plugin.publishing.NebulaOssPublishingExtension
20-
import org.gradle.api.Action
2120
import org.gradle.api.Plugin
2221
import org.gradle.api.Project
2322
import org.gradle.api.plugins.JavaPluginExtension
2423
import org.gradle.api.provider.Provider
2524
import org.gradle.api.provider.ProviderFactory
2625
import org.gradle.api.publish.maven.tasks.PublishToMavenRepository
27-
import org.gradle.api.publish.tasks.GenerateModuleMetadata
28-
import org.gradle.api.tasks.TaskProvider
2926
import org.gradle.api.tasks.testing.Test
3027
import org.gradle.jvm.toolchain.JavaLanguageVersion
3128
import org.gradle.jvm.toolchain.JavaToolchainService
@@ -61,6 +58,7 @@ class NebulaLibraryPlugin implements Plugin<Project> {
6158

6259
@Override
6360
void apply(Project project) {
61+
boolean isPluginPublishingValidation = project.gradle.startParameter.taskNames.contains('--validate-only')
6462
project.plugins.apply("java-library")
6563
project.group = 'com.netflix.nebula'
6664
project.plugins.withId("com.netflix.nebula.oss-publishing") {
@@ -98,7 +96,7 @@ class NebulaLibraryPlugin implements Plugin<Project> {
9896
javaLauncher.set(javaToolchainService.launcherFor {
9997
it.languageVersion.set(JavaLanguageVersion.of(jdkVersionForTests))
10098
})
101-
if(jdkVersionForTests < 17) {
99+
if (jdkVersionForTests < 17) {
102100
systemProperty('ignoreDeprecations', true)
103101
}
104102
doFirst {
@@ -110,12 +108,15 @@ class NebulaLibraryPlugin implements Plugin<Project> {
110108
}
111109
}
112110

113-
project.afterEvaluate {
114-
/**
115-
* Configure signing
116-
*/
111+
/**
112+
* Disable signing and publishing when running --validate-only
113+
*/
114+
if (isPluginPublishingValidation) {
117115
project.tasks.withType(Sign).configureEach {
118-
it.mustRunAfter(project.tasks.named('check'))
116+
it.enabled = false
117+
}
118+
project.tasks.withType(PublishToMavenRepository).configureEach {
119+
it.enabled = false
119120
}
120121
}
121122
}

src/main/kotlin/nebula/plugin/plugin/NebulaRootPlugin.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@
1515
*/
1616
package nebula.plugin.plugin;
1717

18-
import nebula.plugin.publishing.NebulaOssPublishingExtension;
19-
import org.gradle.api.Plugin;
20-
import org.gradle.api.Project;
21-
import org.gradle.kotlin.dsl.create
18+
import io.github.gradlenexus.publishplugin.AbstractNexusStagingRepositoryTask
19+
import nebula.plugin.publishing.NebulaOssPublishingExtension
20+
import org.gradle.api.Plugin
21+
import org.gradle.api.Project
2222
import org.gradle.kotlin.dsl.findByType
23+
import org.gradle.kotlin.dsl.withType
2324

2425
/**
2526
* Provide an environment for the root project of a multi-project Nebula repo
@@ -38,5 +39,11 @@ class NebulaRootPlugin : Plugin<Project> {
3839
packageGroup.set("com.netflix")
3940
netflixOssRepository.set("gradle-plugins")
4041
}
42+
val isPluginPublishingValidation = project.gradle.startParameter.taskNames.contains("--validate-only")
43+
if (isPluginPublishingValidation) {
44+
project.tasks.withType<AbstractNexusStagingRepositoryTask> {
45+
onlyIf { false }
46+
}
47+
}
4148
}
4249
}

src/test/kotlin/nebula/plugin/plugin/ArtifactoryMock.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package nebula.plugin.publishing
1+
package nebula.plugin.plugin
22

33
import org.mockserver.integration.ClientAndServer
44
import org.mockserver.model.HttpRequest.request

src/test/kotlin/nebula/plugin/plugin/Buildscripts.kt

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,6 @@ package nebula.plugin.plugin
22

33
import nebula.test.dsl.ProjectBuilder
44

5-
//language=kotlin
6-
const val DISABLE_PUBLISH_TASKS: String = """
7-
afterEvaluate {
8-
tasks.withType<AbstractPublishToMaven>() {
9-
onlyIf { false }
10-
}
11-
project.tasks.findByName("publishPlugins")?.onlyIf { false }
12-
}
13-
"""
14-
15-
//language=kotlin
16-
const val DISABLE_MAVEN_CENTRAL_TASKS: String = """
17-
project.tasks.findByName("initializeSonatypeStagingRepository")?.onlyIf { false }
18-
project.tasks.findByName("closeSonatypeStagingRepository")?.onlyIf { false }
19-
project.tasks.findByName("releaseSonatypeStagingRepository")?.onlyIf { false }
20-
"""
21-
225
//language=kotlin
236
fun ProjectBuilder.mockSign() {
247
rawBuildScript(

src/test/kotlin/nebula/plugin/plugin/GradlePluginPortalMock.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package nebula.plugin.publishing
1+
package nebula.plugin.plugin
22

33
import org.mockserver.integration.ClientAndServer
44
import org.mockserver.model.HttpRequest.request

0 commit comments

Comments
 (0)