Browse Source

Polish gradle repackage task formatting

pull/236/head
Phillip Webb 12 years ago
parent
commit
d137bcd80d
  1. 80
      spring-boot-tools/spring-boot-gradle-plugin/src/main/groovy/org/springframework/boot/gradle/task/Repackage.java

80
spring-boot-tools/spring-boot-gradle-plugin/src/main/groovy/org/springframework/boot/gradle/task/Repackage.java

@ -59,9 +59,9 @@ public class Repackage extends DefaultTask { @@ -59,9 +59,9 @@ public class Repackage extends DefaultTask {
@TaskAction
public void repackage() {
Project project = getProject();
final SpringBootPluginExtension extension = project.getExtensions().getByType(
SpringBootPluginExtension extension = project.getExtensions().getByType(
SpringBootPluginExtension.class);
final ProjectLibraries libraries = new ProjectLibraries(project);
ProjectLibraries libraries = new ProjectLibraries(project);
if (extension.getProvidedConfiguration() != null) {
libraries.setProvidedConfigurationName(extension.getProvidedConfiguration());
}
@ -71,13 +71,24 @@ public class Repackage extends DefaultTask { @@ -71,13 +71,24 @@ public class Repackage extends DefaultTask {
else if (extension.getCustomConfiguration() != null) {
libraries.setCustomConfigurationName(extension.getCustomConfiguration());
}
project.getTasks().withType(Jar.class, new RepackageAction(extension, libraries));
}
private class RepackageAction implements Action<Jar> {
private final SpringBootPluginExtension extension;
private final ProjectLibraries libraries;
project.getTasks().withType(Jar.class, new Action<Jar>() {
public RepackageAction(SpringBootPluginExtension extension,
ProjectLibraries libraries) {
this.extension = extension;
this.libraries = libraries;
}
@Override
public void execute(Jar archive) {
// if withJarTask is set, compare tasks
// and bail out if we didn't match
// if withJarTask is set, compare tasks and bail out if we didn't match
if (Repackage.this.withJarTask != null
&& !archive.equals(Repackage.this.withJarTask)) {
return;
@ -86,36 +97,17 @@ public class Repackage extends DefaultTask { @@ -86,36 +97,17 @@ public class Repackage extends DefaultTask {
if ("".equals(archive.getClassifier())) {
File file = archive.getArchivePath();
if (file.exists()) {
Repackager repackager = new Repackager(file) {
@Override
protected String findMainMethod(java.util.jar.JarFile source)
throws IOException {
long startTime = System.currentTimeMillis();
try {
return super.findMainMethod(source);
Repackager repackager = new LoggingRepackager(file);
repackager.setMainClass(this.extension.getMainClass());
if (Repackage.this.mainClass != null) {
repackager.setMainClass(Repackage.this.mainClass);
}
finally {
long duration = System.currentTimeMillis()
- startTime;
if (duration > FIND_WARNING_TIMEOUT) {
getLogger()
.warn("Searching for the "
+ "main-class is taking some time, "
+ "consider using setting 'springBoot.mainClass'");
}
}
};
};
repackager
.setMainClass(Repackage.this.mainClass != null ? Repackage.this.mainClass
: extension.getMainClass());
if (extension.convertLayout() != null) {
repackager.setLayout(extension.convertLayout());
if (this.extension.convertLayout() != null) {
repackager.setLayout(this.extension.convertLayout());
}
repackager.setBackupSource(extension.isBackupSource());
repackager.setBackupSource(this.extension.isBackupSource());
try {
repackager.repackage(libraries);
repackager.repackage(this.libraries);
}
catch (IOException ex) {
throw new IllegalStateException(ex.getMessage(), ex);
@ -123,7 +115,29 @@ public class Repackage extends DefaultTask { @@ -123,7 +115,29 @@ public class Repackage extends DefaultTask {
}
}
}
});
}
private class LoggingRepackager extends Repackager {
public LoggingRepackager(File source) {
super(source);
}
@Override
protected String findMainMethod(java.util.jar.JarFile source) throws IOException {
long startTime = System.currentTimeMillis();
try {
return super.findMainMethod(source);
}
finally {
long duration = System.currentTimeMillis() - startTime;
if (duration > FIND_WARNING_TIMEOUT) {
getLogger().warn(
"Searching for the main-class is taking "
+ "some time, consider using setting "
+ "'springBoot.mainClass'");
}
}
};
}
}

Loading…
Cancel
Save