Deprecate support for module layout

Closes gh-8008
pull/7973/merge
Andy Wilkinson 8 years ago
parent a081c96523
commit cd5124005b

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -304,7 +304,7 @@ public class SpringBootPluginExtension {
DIR(new Layouts.Expanded()), DIR(new Layouts.Expanded()),
MODULE(new Layouts.Module()), @SuppressWarnings("deprecation") MODULE(new Layouts.Module()),
NONE(new Layouts.None()); NONE(new Layouts.None());

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -33,6 +33,8 @@ import org.gradle.api.tasks.bundling.Jar;
import org.springframework.boot.gradle.SpringBootPluginExtension; import org.springframework.boot.gradle.SpringBootPluginExtension;
import org.springframework.boot.loader.tools.DefaultLaunchScript; import org.springframework.boot.loader.tools.DefaultLaunchScript;
import org.springframework.boot.loader.tools.LaunchScript; import org.springframework.boot.loader.tools.LaunchScript;
import org.springframework.boot.loader.tools.Layout;
import org.springframework.boot.loader.tools.Layouts;
import org.springframework.boot.loader.tools.Repackager; import org.springframework.boot.loader.tools.Repackager;
import org.springframework.boot.loader.tools.Repackager.MainClassTimeoutWarningListener; import org.springframework.boot.loader.tools.Repackager.MainClassTimeoutWarningListener;
import org.springframework.util.FileCopyUtils; import org.springframework.util.FileCopyUtils;
@ -207,6 +209,7 @@ public class RepackageTask extends DefaultTask {
return task.equals(withJarTask) || task.getName().equals(withJarTask); return task.equals(withJarTask) || task.getName().equals(withJarTask);
} }
@SuppressWarnings("deprecation")
private void repackage(File file) { private void repackage(File file) {
File outputFile = RepackageTask.this.outputFile; File outputFile = RepackageTask.this.outputFile;
if (outputFile != null && !file.equals(outputFile)) { if (outputFile != null && !file.equals(outputFile)) {
@ -218,8 +221,13 @@ public class RepackageTask extends DefaultTask {
repackager.addMainClassTimeoutWarningListener( repackager.addMainClassTimeoutWarningListener(
new LoggingMainClassTimeoutWarningListener()); new LoggingMainClassTimeoutWarningListener());
setMainClass(repackager); setMainClass(repackager);
if (this.extension.convertLayout() != null) { Layout layout = this.extension.convertLayout();
repackager.setLayout(this.extension.convertLayout()); if (layout != null) {
if (layout instanceof Layouts.Module) {
getLogger().warn("Module layout is deprecated. Please use a custom"
+ " LayoutFactory instead.");
}
repackager.setLayout(layout);
} }
repackager.setBackupSource(this.extension.isBackupSource()); repackager.setBackupSource(this.extension.isBackupSource());
try { try {

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -158,7 +158,9 @@ public final class Layouts {
/** /**
* Module layout (designed to be used as a "plug-in"). * Module layout (designed to be used as a "plug-in").
* @deprecated since 1.5 in favour of a custom {@link LayoutFactory}
*/ */
@Deprecated
public static class Module implements Layout { public static class Module implements Layout {
private static final Set<LibraryScope> LIB_DESTINATION_SCOPES = new HashSet<LibraryScope>( private static final Set<LibraryScope> LIB_DESTINATION_SCOPES = new HashSet<LibraryScope>(

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -87,6 +87,7 @@ public class LayoutsTests {
} }
@Test @Test
@SuppressWarnings("deprecation")
public void moduleLayout() throws Exception { public void moduleLayout() throws Exception {
Layout layout = new Layouts.Module(); Layout layout = new Layouts.Module();
assertThat(layout.getLibraryDestination("lib.jar", LibraryScope.COMPILE)) assertThat(layout.getLibraryDestination("lib.jar", LibraryScope.COMPILE))

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -236,6 +236,10 @@ public class RepackageMojo extends AbstractDependencyFilterMojo {
repackager.setMainClass(this.mainClass); repackager.setMainClass(this.mainClass);
if (this.layout != null) { if (this.layout != null) {
getLog().info("Layout: " + this.layout); getLog().info("Layout: " + this.layout);
if (this.layout == LayoutType.MODULE) {
getLog().warn("Module layout is deprecated. Please use a custom"
+ " LayoutFactory instead.");
}
repackager.setLayout(this.layout.layout()); repackager.setLayout(this.layout.layout());
} }
return repackager; return repackager;
@ -344,8 +348,9 @@ public class RepackageMojo extends AbstractDependencyFilterMojo {
/** /**
* Module Layout. * Module Layout.
* @deprecated since 1.5 in favour of a custom {@link LayoutFactory}
*/ */
MODULE(new Layouts.Module()), @Deprecated MODULE(new Layouts.Module()),
/** /**
* No Layout. * No Layout.

Loading…
Cancel
Save