Browse Source
To be compatible with Gradle's plugin portal, plugins must have an ID that uses a reverse domain name. This means that spring-boot is not compatible. This commit introduces a new ID, org.springframework.boot, and deprecates the old ID. Closes gh-6997pull/7074/merge
35 changed files with 162 additions and 33 deletions
@ -0,0 +1,50 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2012-2016 the original author or authors. |
||||||
|
* |
||||||
|
* 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 org.springframework.boot.gradle; |
||||||
|
|
||||||
|
import org.gradle.tooling.ProjectConnection; |
||||||
|
import org.junit.Rule; |
||||||
|
import org.junit.Test; |
||||||
|
|
||||||
|
import org.springframework.boot.test.rule.OutputCapture; |
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat; |
||||||
|
|
||||||
|
/** |
||||||
|
* Tests for using the old, deprecated plugin ID. |
||||||
|
* |
||||||
|
* @author Andy Wilkinson |
||||||
|
*/ |
||||||
|
public class DeprecatedPluginTests { |
||||||
|
|
||||||
|
private ProjectConnection project; |
||||||
|
|
||||||
|
private static final String BOOT_VERSION = Versions.getBootVersion(); |
||||||
|
|
||||||
|
@Rule |
||||||
|
public OutputCapture output = new OutputCapture(); |
||||||
|
|
||||||
|
@Test |
||||||
|
public void deprecatedIdWorksAndLogsAWarning() throws Exception { |
||||||
|
this.project = new ProjectCreator().createProject("deprecated-plugin"); |
||||||
|
this.project.newBuild().forTasks("build") |
||||||
|
.withArguments("-PbootVersion=" + BOOT_VERSION, "--stacktrace").run(); |
||||||
|
assertThat(this.output.toString()) |
||||||
|
.contains("The plugin id 'spring-boot' is deprecated"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1,26 @@ |
|||||||
|
buildscript { |
||||||
|
repositories { |
||||||
|
mavenLocal() |
||||||
|
} |
||||||
|
dependencies { |
||||||
|
classpath("org.springframework.boot:spring-boot-gradle-plugin:${project.bootVersion}") |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
apply plugin: 'spring-boot' |
||||||
|
|
||||||
|
group = 'deprecated-plugin' |
||||||
|
version = '0.0.0' |
||||||
|
|
||||||
|
repositories { |
||||||
|
mavenLocal() |
||||||
|
mavenCentral() |
||||||
|
} |
||||||
|
|
||||||
|
springBoot { |
||||||
|
mainClass 'com.example.Main' |
||||||
|
} |
||||||
|
|
||||||
|
dependencies { |
||||||
|
compile 'org.springframework.boot:spring-boot-starter' |
||||||
|
} |
||||||
@ -0,0 +1,43 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2012-2016 the original author or authors. |
||||||
|
* |
||||||
|
* 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 org.springframework.boot.gradle.plugin; |
||||||
|
|
||||||
|
import org.gradle.api.Project; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
|
||||||
|
/** |
||||||
|
* {@link SpringBootPlugin} subclass that outputs a deprecation warning to direct people |
||||||
|
* to use the new Gradle Plugin Portal-compatible ID {@code org.springframework.boot}. |
||||||
|
* |
||||||
|
* @author Andy Wilkinson |
||||||
|
* @deprecated since 1.4.2 in favor of {@link SpringBootPlugin} |
||||||
|
*/ |
||||||
|
@Deprecated |
||||||
|
public class DeprecatedSpringBootPlugin extends SpringBootPlugin { |
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory |
||||||
|
.getLogger(DeprecatedSpringBootPlugin.class); |
||||||
|
|
||||||
|
@Override |
||||||
|
public void apply(Project project) { |
||||||
|
logger.warn("The plugin id 'spring-boot' is deprecated. Please use " |
||||||
|
+ "'org.springframework.boot' instead."); |
||||||
|
super.apply(project); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
@ -0,0 +1 @@ |
|||||||
|
implementation-class=org.springframework.boot.gradle.plugin.SpringBootPlugin |
||||||
Loading…
Reference in new issue