This commit is contained in:
Phillip Webb
2013-10-08 21:17:39 -07:00
parent b772f7c2e4
commit af0d08c998
14 changed files with 151 additions and 147 deletions

View File

@@ -26,42 +26,43 @@ import org.springframework.boot.gradle.task.RunJar;
/**
* Gradle 'Spring Boot' {@link Plugin}.
*
*
* @author Phillip Webb
*/
public class SpringBootPlugin implements Plugin<Project> {
private static final String REPACKAGE_TASK_NAME = "repackage";
private static final String RUN_JAR_TASK_NAME = "runJar";
private static final String REPACKAGE_TASK_NAME = "repackage";
@Override
public void apply(Project project) {
project.getPlugins().apply(BasePlugin.class);
project.getPlugins().apply(JavaPlugin.class);
project.getExtensions().create("springBoot", SpringBootPluginExtension.class);
Repackage packageTask = addRepackageTask(project);
ensureTaskRunsOnAssembly(project, packageTask);
addRunJarTask(project);
}
private static final String RUN_JAR_TASK_NAME = "runJar";
private void addRunJarTask(Project project) {
RunJar runJarTask = project.getTasks().create(RUN_JAR_TASK_NAME, RunJar.class);
runJarTask.setDescription("Run the executable JAR/WAR");
runJarTask.setGroup("Execution");
runJarTask.dependsOn(REPACKAGE_TASK_NAME);
}
@Override
public void apply(Project project) {
project.getPlugins().apply(BasePlugin.class);
project.getPlugins().apply(JavaPlugin.class);
project.getExtensions().create("springBoot", SpringBootPluginExtension.class);
Repackage packageTask = addRepackageTask(project);
ensureTaskRunsOnAssembly(project, packageTask);
addRunJarTask(project);
}
private Repackage addRepackageTask(Project project) {
Repackage packageTask = project.getTasks().create(REPACKAGE_TASK_NAME, Repackage.class);
packageTask.setDescription("Repackage existing JAR and WAR "
+ "archives so that they can be executed from the command " + "line using 'java -jar'");
packageTask.setGroup(BasePlugin.BUILD_GROUP);
packageTask.dependsOn(project.getConfigurations().getByName(Dependency.ARCHIVES_CONFIGURATION)
.getAllArtifacts().getBuildDependencies());
return packageTask;
}
private void addRunJarTask(Project project) {
RunJar runJarTask = project.getTasks().create(RUN_JAR_TASK_NAME, RunJar.class);
runJarTask.setDescription("Run the executable JAR/WAR");
runJarTask.setGroup("Execution");
runJarTask.dependsOn(REPACKAGE_TASK_NAME);
}
private void ensureTaskRunsOnAssembly(Project project, Repackage task) {
project.getTasks().getByName(BasePlugin.ASSEMBLE_TASK_NAME).dependsOn(task);
}
private Repackage addRepackageTask(Project project) {
Repackage packageTask = project.getTasks().create(REPACKAGE_TASK_NAME, Repackage.class);
packageTask.setDescription("Repackage existing JAR and WAR "
+ "archives so that they can be executed from the command " + "line using 'java -jar'");
packageTask.setGroup(BasePlugin.BUILD_GROUP);
packageTask.dependsOn(project.getConfigurations().getByName(Dependency.ARCHIVES_CONFIGURATION)
.getAllArtifacts().getBuildDependencies());
return packageTask;
}
private void ensureTaskRunsOnAssembly(Project project, Repackage task) {
project.getTasks().getByName(BasePlugin.ASSEMBLE_TASK_NAME).dependsOn(task);
}
}