From 8f761d76b5c3f4f4141815c006c9fe8363d68550 Mon Sep 17 00:00:00 2001 From: Martin Chalupa Date: Tue, 9 Mar 2021 10:42:08 -0800 Subject: [PATCH] Gradle 7.0 compatibility, remove provided configuration plugin, leave empty plugin to avoid breaking consumers --- .../ProvidedBasePlugin.groovy | 30 ++++++++++++++++++ .../ProvidedBasePluginIntegrationTest.groovy | 31 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/main/groovy/nebula/plugin/extraconfigurations/ProvidedBasePlugin.groovy create mode 100644 src/test/groovy/nebula/plugin/extraconfigurations/ProvidedBasePluginIntegrationTest.groovy diff --git a/src/main/groovy/nebula/plugin/extraconfigurations/ProvidedBasePlugin.groovy b/src/main/groovy/nebula/plugin/extraconfigurations/ProvidedBasePlugin.groovy new file mode 100644 index 0000000..0e33d09 --- /dev/null +++ b/src/main/groovy/nebula/plugin/extraconfigurations/ProvidedBasePlugin.groovy @@ -0,0 +1,30 @@ +/* + * Copyright 2014-2016 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package nebula.plugin.extraconfigurations + +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.slf4j.Logger +import org.slf4j.LoggerFactory + +class ProvidedBasePlugin implements Plugin { + static final Logger LOGGER = LoggerFactory.getLogger(ProvidedBasePlugin) + + @Override + void apply(Project project) { + LOGGER.warn("nebula.provided-base plugin does nothing. Use the 'compileOnly' configuration") + } +} diff --git a/src/test/groovy/nebula/plugin/extraconfigurations/ProvidedBasePluginIntegrationTest.groovy b/src/test/groovy/nebula/plugin/extraconfigurations/ProvidedBasePluginIntegrationTest.groovy new file mode 100644 index 0000000..9a4a33f --- /dev/null +++ b/src/test/groovy/nebula/plugin/extraconfigurations/ProvidedBasePluginIntegrationTest.groovy @@ -0,0 +1,31 @@ +/* + * Copyright 2014 Netflix, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package nebula.plugin.extraconfigurations + +class ProvidedBasePluginIntegrationTest extends AbstractIntegrationTest { + + def "plugin can be applied and prints a warning"() { + when: + buildFile << """ +apply plugin: 'java' +apply plugin: 'nebula.provided-base' +""" + def result = runTasksSuccessfully('help') + + then: + result.standardOutput.contains("nebula.provided-base plugin does nothing. Use the 'compileOnly' configuration") + } +}