From 94d9755be4843620e1191dc62ae3fc539856aa45 Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Tue, 7 Feb 2017 14:51:58 +0100 Subject: trivial --- src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java b/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java index 77f615b5..135b5c77 100644 --- a/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java +++ b/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java @@ -30,8 +30,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import org.eclipse.jdt.internal.corext.refactoring.SearchResultGroup; - import lombok.core.AgentLauncher; import lombok.patcher.Filter; import lombok.patcher.Hook; -- cgit From ca2966f735416b62b1906edb22e68bad3963dc5e Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Tue, 7 Feb 2017 14:56:47 +0100 Subject: Display changelog in installer --- build.xml | 10 +- .../src/lombok/website/CompileChangelog.java | 36 +++-- buildScripts/website.ant.xml | 13 ++ doc/changelog.markdown | 4 +- src/installer/lombok/installer/InstallerGUI.java | 164 +++++++++++++++++---- 5 files changed, 182 insertions(+), 45 deletions(-) diff --git a/build.xml b/build.xml index f20973cf..654c23ea 100644 --- a/build.xml +++ b/build.xml @@ -232,7 +232,13 @@ lombok.launch.AnnotationProcessorHider$ClaimingProcessor lombok.launch.AnnotationProcessorHider$AstModificationNotifier - + + + + + + + @@ -240,7 +246,7 @@ lombok.launch.AnnotationProcessorHider$ClaimingProcessor ${releaseTimestamp} - + diff --git a/buildScripts/src/lombok/website/CompileChangelog.java b/buildScripts/src/lombok/website/CompileChangelog.java index 60b70aa3..276842be 100644 --- a/buildScripts/src/lombok/website/CompileChangelog.java +++ b/buildScripts/src/lombok/website/CompileChangelog.java @@ -1,18 +1,20 @@ package lombok.website; -import com.petebevin.markdown.MarkdownProcessor; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.regex.Matcher; import java.util.regex.Pattern; +import com.petebevin.markdown.MarkdownProcessor; + public class CompileChangelog { public static void main(String[] args) { String fileIn = args[0]; String fileOut = args[1]; boolean edge = args.length > 3 && "-edge".equals(args[2]); - String version = edge ? args[3] : null; + boolean latest = args.length > 3 && "-latest".equals(args[2]); + String version = args.length > 3 ? args[3] : null; try { FileInputStream in = new FileInputStream(fileIn); @@ -27,7 +29,14 @@ public class CompileChangelog { in.close(); String markdown = new String(out.toByteArray(), "UTF-8"); - String result = edge ? buildEdge(markdown, version) : build(markdown); + String result; + if (edge) { + result = buildEdge(sectionByVersion(markdown, version)); + } else if (latest) { + result = buildLatest(sectionByVersion(markdown, version)); + } else { + result = build(markdown); + } FileOutputStream file = new FileOutputStream(fileOut); file.write(result.getBytes("UTF-8")); @@ -43,9 +52,19 @@ public class CompileChangelog { return new MarkdownProcessor().markdown(markdown); } - private static final Pattern LAST_CHANGELOG = Pattern.compile( - "^.*### v$", Pattern.CASE_INSENSITIVE | Pattern.DOTALL); - private static String buildEdge(String markdown, String version) { + private static String buildEdge(String section) { + String latest = section != null ? section : "* No changelog records for this edge release."; + return new MarkdownProcessor().markdown(latest); + } + + private static String buildLatest(String section) { + String latest = section != null ? section : "* No changelog records for this release."; + String noIssueLinks = latest.replaceAll("\\[[^]]*[Ii]ssue[^]]*\\]\\([^)]*\\)", ""); + String noLinks = noIssueLinks.replaceAll("\\[([^]]*)\\]\\([^)]*\\)", "$1"); + return new MarkdownProcessor().markdown(noLinks); + } + + private static String sectionByVersion(String markdown, String version) { if (version.toUpperCase().endsWith("-HEAD") || version.toUpperCase().endsWith("-EDGE")) { version = version.substring(0, version.length() - 5); } @@ -53,7 +72,6 @@ public class CompileChangelog { Pattern p = Pattern.compile( "(?is-m)^.*###\\s*v" + version + ".*?\n(.*?)(?:###\\s*v.*)?$"); Matcher m = p.matcher(markdown); - String subMarkdown = m.matches() ? m.group(1) : "* No changelog records for this edge release."; - return new MarkdownProcessor().markdown(subMarkdown); + return m.matches() ? m.group(1) : null; } -} +} \ No newline at end of file diff --git a/buildScripts/website.ant.xml b/buildScripts/website.ant.xml index 19b995d3..c1c780ae 100644 --- a/buildScripts/website.ant.xml +++ b/buildScripts/website.ant.xml @@ -243,6 +243,19 @@ such as converting the changelog into HTML, and creating javadoc. + + + + + + + + + + + + + diff --git a/doc/changelog.markdown b/doc/changelog.markdown index f29da540..cc038fa9 100644 --- a/doc/changelog.markdown +++ b/doc/changelog.markdown @@ -4,8 +4,8 @@ Lombok Changelog ### v1.16.13 "Edgy Guinea Pig" * v1.16.12 is the latest stable release of Project Lombok. * FEATURE: Generated classes, methods and fields are now also annotated with `@lombok.Generated` [Issue #1014](https://github.com/rzwitserloot/lombok/issues/1014) -* PLATFORM: Lombok can now be used together with other annotation processors that are looking for lombok-generated methods, but only if lombok is the first annotation processor executed. The most commonly used annotation processor affected by this change is [MapStruct](http://mapstruct.org/); we've worked with the mapstruct team specifically to allow any order. Other annotation processors might follow the framework we've built to make this possible; point the authors of any such processor to us and we'll get it sorted. [MapStruct issue #510](https://github.com/mapstruct/mapstruct/issues/510) [Lombok issue #973](https://github.com/rzwitserloot/lombok/issues/973). -* PLATFORM: Eclipse: Refactor script 'rename field' when lombok has also generated getters and/or setters for this field is nicer now [Issue #210](https://github.com/rzwitserloot/lombok/issues/210). +* PLATFORM: Lombok can now be used together with other annotation processors that are looking for lombok-generated methods, but only if lombok is the first annotation processor executed. The most commonly used annotation processor affected by this change is [MapStruct](http://mapstruct.org/); we've worked with the mapstruct team specifically to allow any order. Other annotation processors might follow the framework we've built to make this possible; point the authors of any such processor to us and we'll get it sorted [MapStruct issue #510](https://github.com/mapstruct/mapstruct/issues/510) [Lombok issue #973](https://github.com/rzwitserloot/lombok/issues/973) +* PLATFORM: Eclipse: Refactor script 'rename field' when lombok has also generated getters and/or setters for this field is nicer now [Issue #210](https://github.com/rzwitserloot/lombok/issues/210) ### v1.16.12 (December 5th, 2016) * FEATURE: `var` is the mutable sister of `val`. For now experimental, and opt-in using `ALLOW` in the flagUsage configuration key. Thanks for the contribution, Bulgakov Alexander. diff --git a/src/installer/lombok/installer/InstallerGUI.java b/src/installer/lombok/installer/InstallerGUI.java index ebdf2035..7a94d595 100644 --- a/src/installer/lombok/installer/InstallerGUI.java +++ b/src/installer/lombok/installer/InstallerGUI.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2016 The Project Lombok Authors. + * Copyright (C) 2009-2017 The Project Lombok Authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -39,6 +39,8 @@ import java.awt.event.ActionListener; import java.awt.font.TextAttribute; import java.io.File; import java.io.FilenameFilter; +import java.io.InputStream; +import java.io.InputStreamReader; import java.net.URI; import java.util.ArrayList; import java.util.Collections; @@ -65,6 +67,8 @@ import javax.swing.JScrollPane; import javax.swing.Scrollable; import javax.swing.SwingUtilities; import javax.swing.filechooser.FileFilter; +import javax.swing.plaf.basic.BasicHTML; +import javax.swing.text.View; import lombok.core.Version; import lombok.installer.OsUtils.OS; @@ -85,6 +89,7 @@ public class InstallerGUI { private Component ideArea; private Component uninstallArea; private Component howIWorkArea; + private Component successArea; private Box uninstallBox; private JHyperLink uninstallButton; @@ -113,6 +118,8 @@ public class InstallerGUI { uninstallArea.setVisible(false); howIWorkArea = buildHowIWorkArea(); howIWorkArea.setVisible(false); + successArea = buildSuccessArea(); + successArea.setVisible(false); buildChrome(appWindow.getContentPane()); appWindow.pack(); } catch (Throwable t) { @@ -153,6 +160,7 @@ public class InstallerGUI { howIWorkArea.setVisible(false); javacArea.setVisible(true); ideArea.setVisible(true); + successArea.setVisible(false); appWindow.pack(); } }); @@ -160,9 +168,76 @@ public class InstallerGUI { constraints.gridy = 2; container.add(buttonBar, constraints); + container.setPreferredSize(new Dimension(462, 415)); return container; } + private void showSuccess(String installSpecific) { + successExplanation.setText(SUCCESS_EXPLANATION.replace("%%%", installSpecific)); + howIWorkArea.setVisible(false); + javacArea.setVisible(false); + ideArea.setVisible(false); + successArea.setVisible(true); + appWindow.pack(); + } + + private JLabel successExplanation; + + private Component buildSuccessArea() { + JPanel container = new JPanel(); + + container.setLayout(new GridBagLayout()); + GridBagConstraints constraints = new GridBagConstraints(); + constraints.anchor = GridBagConstraints.WEST; + + container.add(new JLabel(SUCCESS_TITLE), constraints); + + constraints.gridy = 1; + constraints.insets = new Insets(8, 0, 0, 16); + container.add(successExplanation = new JLabel(SUCCESS_EXPLANATION), constraints); + + constraints.gridy++; + constraints.fill = GridBagConstraints.BOTH; + + JLabel notes = new JLabel(); + notes.setText(readChangeLog()); + + JScrollPane scroller = new JScrollPane(notes); + container.add(scroller, constraints); + scroller.setPreferredSize(new Dimension(380, 240)); + + View view = (View) notes.getClientProperty(BasicHTML.propertyKey); + view.setSize(380, 0.0f); + float w = view.getPreferredSpan(View.X_AXIS); + float h = view.getPreferredSpan(View.Y_AXIS); + notes.setSize((int) w, (int) h); + + container.setPreferredSize(new Dimension(462, 415)); + return container; + } + + private String readChangeLog() { + InputStream in = Installer.class.getResourceAsStream("/latestchanges.html"); + try { + char[] buff = new char[8192]; + StringBuilder contents = new StringBuilder(); + InputStreamReader reader = new InputStreamReader(in, "UTF-8"); + while (true) { + int read = reader.read(buff); + if (read == -1) break; + contents.append(buff, 0, read); + } + return "" + contents + ""; + } catch (Exception e) { + return "No Changelog available"; + } + finally { + try { + in.close(); + } catch (Exception ignore){ /**/} + } + } + private Component buildUninstallArea() { JPanel container = new JPanel(); @@ -210,6 +285,7 @@ public class InstallerGUI { constraints.gridy = 4; container.add(buttonBar, constraints); + container.setPreferredSize(new Dimension(462, 415)); return container; } @@ -232,6 +308,7 @@ public class InstallerGUI { constraints.gridy = 2; container.add(example, constraints); + container.setPreferredSize(new Dimension(462, 105)); return container; } @@ -419,7 +496,7 @@ public class InstallerGUI { uninstallPlaceholder.setVisible(false); container.add(uninstallPlaceholder, constraints); - + container.setPreferredSize(new Dimension(462, 296)); return container; } @@ -427,6 +504,7 @@ public class InstallerGUI { javacArea.setVisible(false); ideArea.setVisible(false); howIWorkArea.setVisible(true); + successArea.setVisible(false); appWindow.pack(); } @@ -453,6 +531,7 @@ public class InstallerGUI { spinner.setOpaque(true); spinner.setLayout(new FlowLayout()); spinner.add(new JLabel(new ImageIcon(Installer.class.getResource("loading.gif")))); + final Container appWindowContent = appWindow.getContentPane(); appWindow.setContentPane(spinner); final AtomicInteger successes = new AtomicInteger(); @@ -500,20 +579,13 @@ public class InstallerGUI { try { SwingUtilities.invokeAndWait(new Runnable() { @Override public void run() { + appWindow.setContentPane(appWindowContent); + appWindow.pack(); StringBuilder installSpecific = new StringBuilder(); for (String installSpecificMessage : installSpecificMessages) { installSpecific.append("
").append(installSpecificMessage); } - JOptionPane.showMessageDialog(appWindow, - "Lombok has been installed on the selected IDE installations.
" + - "Don't forget to add lombok.jar to your projects, and restart your IDE!" + installSpecific.toString() + "", - "Install successful", - JOptionPane.INFORMATION_MESSAGE); - appWindow.setVisible(false); - synchronized (exitMarker) { - exitMarker.set(0); - exitMarker.notifyAll(); - } + showSuccess(installSpecific.toString()); } }); } catch (Exception e) { @@ -711,6 +783,8 @@ public class InstallerGUI { appWindowContainer.add(howIWorkArea, constraints); + appWindowContainer.add(successArea, constraints); + constraints.gridy++; constraints.gridwidth = 2; constraints.gridx = 0; @@ -719,9 +793,33 @@ public class InstallerGUI { constraints.ipadx = 0; constraints.ipady = 0; constraints.fill = GridBagConstraints.HORIZONTAL; - constraints.anchor = GridBagConstraints.SOUTHEAST; + constraints.anchor = GridBagConstraints.SOUTHWEST; constraints.insets = new Insets(0, 16, 8, 8); + + appWindow.add(buildButtonBar(), constraints); + } + + private Box buildButtonBar() { Box buttonBar = Box.createHorizontalBox(); + + JHyperLink aboutLink = new JHyperLink(Installer.ABOUT_LOMBOK_URL.toString()); + aboutLink.addActionListener(openBrowser(aboutLink, Installer.ABOUT_LOMBOK_URL)); + buttonBar.add(aboutLink); + + buttonBar.add(Box.createRigidArea(new Dimension(16, 1))); + + JLabel versionLabel = new JLabel(); + versionLabel.setText("v" + Version.getVersion()); + + buttonBar.add(versionLabel); + buttonBar.add(Box.createRigidArea(new Dimension(16, 1))); + + JHyperLink changelogLink = new JHyperLink("View full changelog"); + changelogLink.addActionListener(openBrowser(changelogLink, Installer.ABOUT_LOMBOK_URL.resolve("/changelog.html"))); + buttonBar.add(changelogLink); + + buttonBar.add(Box.createHorizontalGlue()); + JButton quitButton = new JButton("Quit Installer"); quitButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -729,14 +827,18 @@ public class InstallerGUI { System.exit(0); } }); - final JHyperLink hyperlink = new JHyperLink(Installer.ABOUT_LOMBOK_URL.toString()); - hyperlink.addActionListener(new ActionListener() { + buttonBar.add(quitButton); + return buttonBar; + } + + private ActionListener openBrowser(final JHyperLink hyperlink, final URI location) { + return new ActionListener() { @Override public void actionPerformed(ActionEvent event) { hyperlink.setForeground(new Color(85, 145, 90)); try { //java.awt.Desktop doesn't exist in 1.5. Object desktop = Class.forName("java.awt.Desktop").getMethod("getDesktop").invoke(null); - Class.forName("java.awt.Desktop").getMethod("browse", URI.class).invoke(desktop, Installer.ABOUT_LOMBOK_URL); + Class.forName("java.awt.Desktop").getMethod("browse", URI.class).invoke(desktop, location); } catch (Exception e) { Runtime rt = Runtime.getRuntime(); try { @@ -746,34 +848,27 @@ public class InstallerGUI { cmd[0] = "cmd.exe"; cmd[1] = "/C"; cmd[2] = "start"; - cmd[3] = Installer.ABOUT_LOMBOK_URL.toString(); + cmd[3] = location.toString(); rt.exec(cmd); break; case MAC_OS_X: - rt.exec("open " + Installer.ABOUT_LOMBOK_URL.toString()); + rt.exec("open " + location.toString()); break; default: case UNIX: - rt.exec("firefox " + Installer.ABOUT_LOMBOK_URL.toString()); + rt.exec("firefox " + location.toString()); break; } } catch (Exception e2) { JOptionPane.showMessageDialog(appWindow, "Well, this is embarrassing. I don't know how to open a webbrowser.\n" + - "I guess you'll have to open it. Browse to:\n" + Installer.ABOUT_LOMBOK_URL + + "I guess you'll have to open it. Browse to:\n" + location + " for more information about Lombok.", "I'm embarrassed", JOptionPane.INFORMATION_MESSAGE); } } } - }); - buttonBar.add(hyperlink); - buttonBar.add(Box.createRigidArea(new Dimension(16, 1))); - buttonBar.add(new JLabel("v" + Version.getVersion() + "")); - - buttonBar.add(Box.createHorizontalGlue()); - buttonBar.add(quitButton); - appWindow.add(buttonBar, constraints); + }; } /** @@ -791,7 +886,7 @@ public class InstallerGUI { } private static final String IDE_TITLE = - "IDEs"; + "IDEs "; private static final String IDE_EXPLANATION = "Lombok can update your Eclipse or eclipse-based IDE to fully support all Lombok features.
" + @@ -801,7 +896,7 @@ public class InstallerGUI { "Scanning your drives for IDE installations..."; private static final String JAVAC_TITLE = - "Javac       (and tools that invoke javac such as ant and maven)"; + "Javac       (and tools that invoke javac such as ant and maven)"; private static final String JAVAC_EXPLANATION = "Lombok works 'out of the box' with javac.
Just make sure the lombok.jar is in your classpath when you compile."; @@ -810,13 +905,13 @@ public class InstallerGUI { "Example: javac -cp lombok.jar MyCode.java"; private static final String UNINSTALL_TITLE = - "Uninstall"; + "Uninstall "; private static final String UNINSTALL_EXPLANATION = "Uninstall Lombok from the following IDE Installations?"; private static final String HOW_I_WORK_TITLE = - "What this installer does"; + "What this installer does "; private static final String HOW_I_WORK_EXPLANATION = "

Eclipse

    " + @@ -826,6 +921,11 @@ public class InstallerGUI { "On Mac OS X, eclipse.ini is hidden in
    " + "Eclipse.app/Contents/MacOS so that's where I place the jar files."; + private static final String SUCCESS_TITLE = "Install successful "; + private static final String SUCCESS_EXPLANATION = "Lombok has been installed on the selected IDE installations.
    " + + "Don't forget to add lombok.jar to your projects, and exit and start your IDE!%%%"; + + private static class JHyperLink extends JButton { private static final long serialVersionUID = 1L; -- cgit From b42fef8edc8b3d5458c74c8b049c0cbb842b1ca1 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Thu, 9 Feb 2017 22:46:21 +0100 Subject: A shot-in-the-dark fix for issue #1293 which is not reproducible: Occasional duplicate class def errors in eclipse. --- src/launch/lombok/launch/ShadowClassLoader.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/launch/lombok/launch/ShadowClassLoader.java b/src/launch/lombok/launch/ShadowClassLoader.java index 37c479ee..2bcf46b5 100644 --- a/src/launch/lombok/launch/ShadowClassLoader.java +++ b/src/launch/lombok/launch/ShadowClassLoader.java @@ -451,7 +451,12 @@ class ShadowClassLoader extends ClassLoader { Class alreadyDefined = highlanderMap.get(name); if (alreadyDefined != null) return alreadyDefined; } - throw e; + try { + c = this.findLoadedClass(name); + } catch (LinkageError e2) { + throw e; + } + if (c == null) throw e; } if (highlanders.contains(name)) { -- cgit From 70f77f928ac7a6edf3ef91a41399c9a79561c871 Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Thu, 9 Feb 2017 22:45:45 +0100 Subject: [i1014] Only add lombok.Generated if it is explicitly turned on --- doc/changelog.markdown | 2 +- src/core/lombok/ConfigurationKeys.java | 14 ++-- src/core/lombok/core/handlers/HandlerUtil.java | 4 +- .../eclipse/handlers/EclipseHandlerUtil.java | 4 +- .../lombok/javac/handlers/JavacHandlerUtil.java | 4 +- .../resource/after-delombok/Accessors.java | 18 +---- .../after-delombok/AccessorsConfiguration.java | 6 +- .../after-delombok/BuilderChainAndFluent.java | 10 +-- .../resource/after-delombok/BuilderComplex.java | 15 +---- .../after-delombok/BuilderInstanceMethod.java | 13 ---- .../resource/after-delombok/BuilderSimple.java | 10 --- .../BuilderSingularGuavaListsSets.java | 28 +------- .../after-delombok/BuilderSingularGuavaMaps.java | 20 +----- .../after-delombok/BuilderSingularLists.java | 18 ----- .../after-delombok/BuilderSingularNoAuto.java | 20 +----- .../BuilderSingularRedirectToGuava.java | 20 +----- .../after-delombok/BuilderSingularSets.java | 24 +------ .../BuilderSingularWithPrefixes.java | 12 +--- .../resource/after-delombok/BuilderValueData.java | 21 ------ .../after-delombok/BuilderWithAccessors.java | 16 +---- .../BuilderWithExistingBuilderClass.java | 10 +-- .../after-delombok/BuilderWithToBuilder.java | 37 ----------- .../after-delombok/BuilderWithTolerate.java | 9 +-- .../after-delombok/ClassNamedAfterGetter.java | 1 - .../after-delombok/CommentsInterspersed.java | 1 - .../ConflictingStaticConstructorNames.java | 7 +- .../resource/after-delombok/Constructors.java | 13 ---- .../after-delombok/ConstructorsConfiguration.java | 2 - .../after-delombok/ConstructorsWithAccessors.java | 1 - .../resource/after-delombok/DataConfiguration.java | 6 -- .../resource/after-delombok/DataExtended.java | 9 +-- .../resource/after-delombok/DataIgnore.java | 8 +-- .../resource/after-delombok/DataOnEnum.java | 5 +- .../resource/after-delombok/DataOnLocalClass.java | 23 +------ .../resource/after-delombok/DataPlain.java | 40 +----------- .../resource/after-delombok/DataWithGetter.java | 12 +--- .../after-delombok/DataWithGetterNone.java | 9 +-- .../resource/after-delombok/DelegateOnGetter.java | 5 +- .../after-delombok/DelegateOnGetterNone.java | 4 +- .../resource/after-delombok/DelegateOnMethods.java | 3 +- .../after-delombok/DelegateTypesAndExcludes.java | 4 +- .../after-delombok/DelegateWithDeprecated.java | 5 +- .../after-delombok/DelegateWithVarargs.java | 4 -- .../resource/after-delombok/EncodingUsAscii.java | 3 +- .../resource/after-delombok/EncodingUtf8.java | 3 +- .../resource/after-delombok/EqualsAndHashCode.java | 13 +--- .../EqualsAndHashCodeConfigKeys1.java | 6 -- .../EqualsAndHashCodeConfigKeys2.java | 6 -- .../EqualsAndHashCodeWithExistingMethods.java | 4 +- .../EqualsAndHashCodeWithOnParam.java | 5 +- .../after-delombok/EqualsAndHashcodeOfExclude.java | 6 +- .../after-delombok/ExtensionMethodPlain.java | 2 +- .../resource/after-delombok/FieldDefaults.java | 2 +- .../resource/after-delombok/FieldDefaultsNoop.java | 2 +- .../after-delombok/FieldDefaultsViaConfig.java | 2 +- ...efaultsViaConfigAndRequiredArgsConstructor.java | 3 +- .../after-delombok/GenerateSuppressFBWarnings.java | 3 +- .../after-delombok/GeneratedGlobalOff.java | 7 -- .../after-delombok/GeneratedGlobalOffJavaxOn.java | 8 --- .../after-delombok/GeneratedGlobalOffLombokOn.java | 8 --- .../resource/after-delombok/GeneratedJavaxOff.java | 3 +- .../after-delombok/GeneratedJavaxOnLombokOn.java | 9 +++ .../after-delombok/GeneratedLombokOff.java | 8 --- .../resource/after-delombok/GeneratedOff.java | 7 ++ .../after-delombok/GeneratedOffJavaxOn.java | 8 +++ .../after-delombok/GeneratedOffLombokOn.java | 8 +++ .../resource/after-delombok/GetterAccessLevel.java | 11 +--- .../after-delombok/GetterAlreadyExists.java | 12 +--- .../resource/after-delombok/GetterBoolean.java | 6 +- .../resource/after-delombok/GetterDeprecated.java | 4 +- .../resource/after-delombok/GetterEnum.java | 5 +- .../resource/after-delombok/GetterLazy.java | 1 - .../resource/after-delombok/GetterLazyBoolean.java | 6 -- .../after-delombok/GetterLazyEahcToString.java | 8 +-- .../resource/after-delombok/GetterLazyInvalid.java | 3 +- .../resource/after-delombok/GetterLazyNative.java | 9 --- .../after-delombok/GetterLazyTransient.java | 2 - .../resource/after-delombok/GetterNone.java | 3 +- .../resource/after-delombok/GetterOnClass.java | 10 +-- .../resource/after-delombok/GetterOnMethod.java | 3 - .../after-delombok/GetterOnMethodErrors.java | 3 +- .../after-delombok/GetterOnMethodErrors2.java | 8 --- .../resource/after-delombok/GetterOnStatic.java | 2 - .../resource/after-delombok/GetterPlain.java | 4 +- .../after-delombok/GetterSetterJavadoc.java | 15 ----- .../resource/after-delombok/GetterWithDollar.java | 5 +- .../resource/after-delombok/InjectField.java | 8 +-- .../resource/after-delombok/LoggerCommons.java | 5 +- .../resource/after-delombok/LoggerConfig.java | 3 +- .../resource/after-delombok/LoggerJBossLog.java | 6 +- .../resource/after-delombok/LoggerJul.java | 5 +- .../resource/after-delombok/LoggerLog4j.java | 5 +- .../resource/after-delombok/LoggerLog4j2.java | 5 +- .../resource/after-delombok/LoggerSlf4j.java | 6 +- .../after-delombok/LoggerSlf4jAlreadyExists.java | 2 +- .../resource/after-delombok/LoggerSlf4jTypes.java | 5 +- .../after-delombok/LoggerSlf4jWithPackage.java | 2 - .../resource/after-delombok/LoggerXSlf4j.java | 5 +- .../resource/after-delombok/MixGetterVal.java | 3 +- .../resource/after-delombok/MultiFieldGetter.java | 6 +- .../after-delombok/NoArgsConstructorForce.java | 3 +- .../after-delombok/NonNullOnParameterAbstract.java | 2 +- .../resource/after-delombok/NonNullPlain.java | 7 -- .../NonNullWithAlternateException.java | 3 +- .../after-delombok/NonNullWithSneakyThrows.java | 2 +- .../resource/after-delombok/SetterAccessLevel.java | 7 +- .../after-delombok/SetterAlreadyExists.java | 4 +- .../resource/after-delombok/SetterDeprecated.java | 4 +- .../resource/after-delombok/SetterOnClass.java | 10 +-- .../after-delombok/SetterOnMethodOnParam.java | 3 - .../resource/after-delombok/SetterOnStatic.java | 2 - .../resource/after-delombok/SetterPlain.java | 4 +- .../resource/after-delombok/SetterWithDollar.java | 5 +- .../after-delombok/SimpleTypeResolution.java | 1 - .../after-delombok/SneakyThrowsMultiple.java | 2 +- .../resource/after-delombok/SneakyThrowsPlain.java | 2 +- .../after-delombok/SneakyThrowsSingle.java | 2 +- .../resource/after-delombok/SynchronizedName.java | 2 +- .../SynchronizedNameNoSuchField.java | 2 +- .../SynchronizedNameStaticToInstanceRef.java | 2 +- .../resource/after-delombok/SynchronizedPlain.java | 4 +- .../after-delombok/ToStringConfiguration.java | 7 +- .../resource/after-delombok/ToStringInner.java | 6 +- .../resource/after-delombok/ToStringPlain.java | 4 +- .../resource/after-delombok/Tolerate.java | 5 -- .../after-delombok/TrickyTypeResolution.java | 1 - .../resource/after-delombok/UtilityClass.java | 6 +- .../after-delombok/UtilityClassErrors.java | 2 +- .../resource/after-delombok/ValComplex.java | 2 +- .../resource/after-delombok/ValDefault.java | 2 +- .../resource/after-delombok/ValErrors.java | 2 +- .../resource/after-delombok/ValFinal.java | 2 +- .../resource/after-delombok/ValInBasicFor.java | 2 +- .../resource/after-delombok/ValInFor.java | 2 +- .../after-delombok/ValInMultiDeclaration.java | 2 +- .../resource/after-delombok/ValLambda.java | 2 +- .../resource/after-delombok/ValLessSimple.java | 2 +- test/transform/resource/after-delombok/ValLub.java | 2 +- .../resource/after-delombok/ValNullInit.java | 2 +- .../resource/after-delombok/ValRawType.java | 2 +- .../resource/after-delombok/ValWeirdTypes.java | 2 +- .../resource/after-delombok/ValWithLabel.java | 2 +- .../resource/after-delombok/ValueCallSuper.java | 5 -- .../resource/after-delombok/ValueExperimental.java | 10 +-- .../ValueExperimentalStarImport.java | 6 +- .../resource/after-delombok/ValuePlain.java | 19 ------ .../resource/after-delombok/ValueStaticField.java | 6 +- .../resource/after-delombok/VarComplex.java | 2 +- .../resource/after-delombok/VarInFor.java | 2 +- .../resource/after-delombok/VarInForOld.java | 2 +- .../resource/after-delombok/VarModifier.java | 2 +- .../resource/after-delombok/VarNullInit.java | 2 +- .../after-delombok/WithInnerAnnotation.java | 2 +- .../resource/after-delombok/WitherAccessLevel.java | 7 +- .../after-delombok/WitherAlreadyExists.java | 4 +- .../WitherAndAllArgsConstructor.java | 5 +- .../resource/after-delombok/WitherDeprecated.java | 4 +- .../resource/after-delombok/WitherOnClass.java | 6 -- .../resource/after-delombok/WitherPlain.java | 2 - .../after-delombok/WitherWithAbstract.java | 3 +- .../after-delombok/WitherWithGenerics.java | 3 - test/transform/resource/after-ecj/Accessors.java | 32 ++++----- .../resource/after-ecj/AccessorsConfiguration.java | 8 +-- .../resource/after-ecj/BuilderChainAndFluent.java | 16 ++--- .../resource/after-ecj/BuilderComplex.java | 26 ++++---- .../resource/after-ecj/BuilderInstanceMethod.java | 26 ++++---- .../resource/after-ecj/BuilderSimple.java | 20 +++--- .../after-ecj/BuilderSingularGuavaListsSets.java | 52 +++++++-------- .../after-ecj/BuilderSingularGuavaMaps.java | 36 +++++----- .../resource/after-ecj/BuilderSingularLists.java | 36 +++++----- .../resource/after-ecj/BuilderSingularMaps.java | 52 +++++++-------- .../resource/after-ecj/BuilderSingularNoAuto.java | 36 +++++----- .../after-ecj/BuilderSingularRedirectToGuava.java | 36 +++++----- .../resource/after-ecj/BuilderSingularSets.java | 44 ++++++------- .../after-ecj/BuilderSingularWithPrefixes.java | 20 +++--- .../resource/after-ecj/BuilderValueData.java | 42 ++++++------ .../resource/after-ecj/BuilderWithAccessors.java | 28 ++++---- .../after-ecj/BuilderWithExistingBuilderClass.java | 16 ++--- .../resource/after-ecj/BuilderWithToBuilder.java | 74 ++++++++++----------- .../resource/after-ecj/BuilderWithTolerate.java | 14 ++-- .../resource/after-ecj/ClassNamedAfterGetter.java | 2 +- .../resource/after-ecj/CommentsInterspersed.java | 2 +- .../ConflictingStaticConstructorNames.java | 10 +-- .../transform/resource/after-ecj/Constructors.java | 26 ++++---- .../after-ecj/ConstructorsConfiguration.java | 4 +- .../after-ecj/ConstructorsWithAccessors.java | 2 +- .../resource/after-ecj/DataConfiguration.java | 12 ++-- .../transform/resource/after-ecj/DataExtended.java | 14 ++-- test/transform/resource/after-ecj/DataIgnore.java | 12 ++-- test/transform/resource/after-ecj/DataOnEnum.java | 6 +- .../resource/after-ecj/DataOnLocalClass.java | 42 ++++++------ test/transform/resource/after-ecj/DataPlain.java | 76 +++++++++++----------- .../resource/after-ecj/DataWithGetter.java | 20 +++--- .../resource/after-ecj/DataWithGetterNone.java | 14 ++-- .../resource/after-ecj/DelegateOnGetter.java | 6 +- .../resource/after-ecj/DelegateOnGetterNone.java | 4 +- .../resource/after-ecj/DelegateOnMethods.java | 2 +- .../after-ecj/DelegateTypesAndExcludes.java | 4 +- .../resource/after-ecj/DelegateWithDeprecated.java | 6 +- .../resource/after-ecj/DelegateWithVarargs.java | 8 +-- .../resource/after-ecj/EqualsAndHashCode.java | 22 +++---- .../after-ecj/EqualsAndHashCodeConfigKeys1.java | 12 ++-- .../after-ecj/EqualsAndHashCodeConfigKeys2.java | 12 ++-- .../EqualsAndHashCodeWithExistingMethods.java | 4 +- .../after-ecj/EqualsAndHashCodeWithOnParam.java | 6 +- .../after-ecj/EqualsAndHashcodeOfExclude.java | 8 +-- ...efaultsViaConfigAndRequiredArgsConstructor.java | 2 +- .../after-ecj/GenerateSuppressFBWarnings.java | 2 +- .../resource/after-ecj/GeneratedGlobalOff.java | 9 --- .../after-ecj/GeneratedGlobalOffJavaxOn.java | 9 --- .../after-ecj/GeneratedGlobalOffLombokOn.java | 9 --- .../resource/after-ecj/GeneratedJavaxOff.java | 2 +- .../after-ecj/GeneratedJavaxOnLombokOn.java | 9 +++ .../resource/after-ecj/GeneratedLombokOff.java | 9 --- .../transform/resource/after-ecj/GeneratedOff.java | 9 +++ .../resource/after-ecj/GeneratedOffJavaxOn.java | 9 +++ .../resource/after-ecj/GeneratedOffLombokOn.java | 9 +++ .../resource/after-ecj/GetterAccessLevel.java | 18 ++--- .../resource/after-ecj/GetterAlreadyExists.java | 20 +++--- .../resource/after-ecj/GetterBoolean.java | 8 +-- .../resource/after-ecj/GetterDeprecated.java | 4 +- test/transform/resource/after-ecj/GetterEnum.java | 6 +- test/transform/resource/after-ecj/GetterLazy.java | 2 +- .../resource/after-ecj/GetterLazyBoolean.java | 12 ++-- .../resource/after-ecj/GetterLazyEahcToString.java | 12 ++-- .../resource/after-ecj/GetterLazyInvalid.java | 2 +- .../resource/after-ecj/GetterLazyNative.java | 18 ++--- .../resource/after-ecj/GetterLazyTransient.java | 4 +- test/transform/resource/after-ecj/GetterNone.java | 2 +- .../resource/after-ecj/GetterOnClass.java | 16 ++--- .../resource/after-ecj/GetterOnMethod.java | 6 +- .../resource/after-ecj/GetterOnMethodErrors.java | 2 +- .../resource/after-ecj/GetterOnMethodErrors2.java | 16 ++--- .../resource/after-ecj/GetterOnStatic.java | 4 +- test/transform/resource/after-ecj/GetterPlain.java | 4 +- .../resource/after-ecj/GetterSetterJavadoc.java | 30 ++++----- .../resource/after-ecj/GetterWithDollar.java | 6 +- .../transform/resource/after-ecj/MixGetterVal.java | 2 +- .../resource/after-ecj/MultiFieldGetter.java | 8 +-- .../resource/after-ecj/NoArgsConstructorForce.java | 2 +- .../transform/resource/after-ecj/NonNullPlain.java | 14 ++-- .../after-ecj/NonNullWithAlternateException.java | 2 +- .../resource/after-ecj/SetterAccessLevel.java | 10 +-- .../resource/after-ecj/SetterAlreadyExists.java | 4 +- .../resource/after-ecj/SetterDeprecated.java | 4 +- .../resource/after-ecj/SetterOnClass.java | 16 ++--- .../resource/after-ecj/SetterOnMethod.java | 12 ++-- .../resource/after-ecj/SetterOnMethodOnParam.java | 6 +- .../resource/after-ecj/SetterOnParam.java | 12 ++-- .../after-ecj/SetterOnParamAndOnMethod.java | 2 +- .../resource/after-ecj/SetterOnStatic.java | 4 +- test/transform/resource/after-ecj/SetterPlain.java | 4 +- .../resource/after-ecj/SetterWithDollar.java | 6 +- .../resource/after-ecj/SimpleTypeResolution.java | 2 +- .../resource/after-ecj/ToStringConfiguration.java | 10 +-- .../resource/after-ecj/ToStringInner.java | 8 +-- .../resource/after-ecj/ToStringPlain.java | 4 +- test/transform/resource/after-ecj/Tolerate.java | 10 +-- .../resource/after-ecj/TrickyTypeResolution.java | 2 +- .../transform/resource/after-ecj/UtilityClass.java | 8 +-- .../resource/after-ecj/ValueCallSuper.java | 10 +-- .../resource/after-ecj/ValueExperimental.java | 16 ++--- .../after-ecj/ValueExperimentalStarImport.java | 8 +-- test/transform/resource/after-ecj/ValuePlain.java | 38 +++++------ .../resource/after-ecj/ValueStaticField.java | 8 +-- .../resource/after-ecj/WitherAccessLevel.java | 10 +-- .../resource/after-ecj/WitherAlreadyExists.java | 4 +- .../after-ecj/WitherAndAllArgsConstructor.java | 6 +- .../resource/after-ecj/WitherDeprecated.java | 4 +- .../resource/after-ecj/WitherOnClass.java | 12 ++-- test/transform/resource/after-ecj/WitherPlain.java | 4 +- .../resource/after-ecj/WitherWithAbstract.java | 2 +- .../resource/after-ecj/WitherWithGenerics.java | 6 +- .../resource/before/GeneratedGlobalOff.java | 5 -- .../resource/before/GeneratedGlobalOffJavaxOn.java | 6 -- .../before/GeneratedGlobalOffLombokOn.java | 6 -- .../resource/before/GeneratedJavaxOnLombokOn.java | 6 ++ .../resource/before/GeneratedLombokOff.java | 5 -- test/transform/resource/before/GeneratedOff.java | 5 ++ .../resource/before/GeneratedOffJavaxOn.java | 6 ++ .../resource/before/GeneratedOffLombokOn.java | 6 ++ .../messages-idempotent/NonNullPlain.java.messages | 4 +- 282 files changed, 934 insertions(+), 1648 deletions(-) delete mode 100644 test/transform/resource/after-delombok/GeneratedGlobalOff.java delete mode 100644 test/transform/resource/after-delombok/GeneratedGlobalOffJavaxOn.java delete mode 100644 test/transform/resource/after-delombok/GeneratedGlobalOffLombokOn.java create mode 100644 test/transform/resource/after-delombok/GeneratedJavaxOnLombokOn.java delete mode 100644 test/transform/resource/after-delombok/GeneratedLombokOff.java create mode 100644 test/transform/resource/after-delombok/GeneratedOff.java create mode 100644 test/transform/resource/after-delombok/GeneratedOffJavaxOn.java create mode 100644 test/transform/resource/after-delombok/GeneratedOffLombokOn.java delete mode 100644 test/transform/resource/after-ecj/GeneratedGlobalOff.java delete mode 100644 test/transform/resource/after-ecj/GeneratedGlobalOffJavaxOn.java delete mode 100644 test/transform/resource/after-ecj/GeneratedGlobalOffLombokOn.java create mode 100644 test/transform/resource/after-ecj/GeneratedJavaxOnLombokOn.java delete mode 100644 test/transform/resource/after-ecj/GeneratedLombokOff.java create mode 100644 test/transform/resource/after-ecj/GeneratedOff.java create mode 100644 test/transform/resource/after-ecj/GeneratedOffJavaxOn.java create mode 100644 test/transform/resource/after-ecj/GeneratedOffLombokOn.java delete mode 100644 test/transform/resource/before/GeneratedGlobalOff.java delete mode 100644 test/transform/resource/before/GeneratedGlobalOffJavaxOn.java delete mode 100644 test/transform/resource/before/GeneratedGlobalOffLombokOn.java create mode 100644 test/transform/resource/before/GeneratedJavaxOnLombokOn.java delete mode 100644 test/transform/resource/before/GeneratedLombokOff.java create mode 100644 test/transform/resource/before/GeneratedOff.java create mode 100644 test/transform/resource/before/GeneratedOffJavaxOn.java create mode 100644 test/transform/resource/before/GeneratedOffLombokOn.java diff --git a/doc/changelog.markdown b/doc/changelog.markdown index cc038fa9..bad185fa 100644 --- a/doc/changelog.markdown +++ b/doc/changelog.markdown @@ -3,7 +3,7 @@ Lombok Changelog ### v1.16.13 "Edgy Guinea Pig" * v1.16.12 is the latest stable release of Project Lombok. -* FEATURE: Generated classes, methods and fields are now also annotated with `@lombok.Generated` [Issue #1014](https://github.com/rzwitserloot/lombok/issues/1014) +* FEATURE: Generated classes, methods and fields can now also annotated with `@lombok.Generated` [Issue #1014](https://github.com/rzwitserloot/lombok/issues/1014)
    * PLATFORM: Lombok can now be used together with other annotation processors that are looking for lombok-generated methods, but only if lombok is the first annotation processor executed. The most commonly used annotation processor affected by this change is [MapStruct](http://mapstruct.org/); we've worked with the mapstruct team specifically to allow any order. Other annotation processors might follow the framework we've built to make this possible; point the authors of any such processor to us and we'll get it sorted [MapStruct issue #510](https://github.com/mapstruct/mapstruct/issues/510) [Lombok issue #973](https://github.com/rzwitserloot/lombok/issues/973) * PLATFORM: Eclipse: Refactor script 'rename field' when lombok has also generated getters and/or setters for this field is nicer now [Issue #210](https://github.com/rzwitserloot/lombok/issues/210) diff --git a/src/core/lombok/ConfigurationKeys.java b/src/core/lombok/ConfigurationKeys.java index ff17ca09..f0e070e2 100644 --- a/src/core/lombok/ConfigurationKeys.java +++ b/src/core/lombok/ConfigurationKeys.java @@ -41,30 +41,28 @@ public class ConfigurationKeys { /** * lombok configuration: {@code lombok.addGeneratedAnnotation} = {@code true} | {@code false}. * - * If unset or {@code true}, lombok generates various annotations to mark generated code like {@code @javax.annotation.Generated("lombok")} and {@code @lombok.Generated}. + * If unset or {@code true}, lombok generates {@code @javax.annotation.Generated("lombok")} on all fields, methods, and types that are generated, unless {@code lombok.addJavaxGeneratedAnnotation} is set. * * @see ConfigurationKeys#ADD_JAVAX_GENERATED_ANNOTATIONS * @see ConfigurationKeys#ADD_LOMBOK_GENERATED_ANNOTATIONS + * @deprecated Since version 1.16.14, use {@link #ADD_JAVAX_GENERATED_ANNOTATIONS} instead. */ - public static final ConfigurationKey ADD_GENERATED_ANNOTATIONS = new ConfigurationKey("lombok.addGeneratedAnnotation", "Generate @javax.annotation.Generated on all generated code (default: true).") {}; + @Deprecated + public static final ConfigurationKey ADD_GENERATED_ANNOTATIONS = new ConfigurationKey("lombok.addGeneratedAnnotation", "Generate @javax.annotation.Generated on all generated code (default: true). Deprecated, use 'lombok.addJavaxGeneratedAnnotation' instead.") {}; /** * lombok configuration: {@code lombok.addJavaxGeneratedAnnotation} = {@code true} | {@code false}. * * If unset or {@code true}, lombok generates {@code @javax.annotation.Generated("lombok")} on all fields, methods, and types that are generated, unless {@code lombok.addGeneratedAnnotation} is set to {@code false}. - * - * @see ConfigurationKeys#ADD_GENERATED_ANNOTATIONS */ public static final ConfigurationKey ADD_JAVAX_GENERATED_ANNOTATIONS = new ConfigurationKey("lombok.addJavaxGeneratedAnnotation", "Generate @javax.annotation.Generated on all generated code (default: follow lombok.addGeneratedAnnotation).") {}; /** * lombok configuration: {@code lombok.addLombokGeneratedAnnotation} = {@code true} | {@code false}. * - * If unset or {@code true}, lombok generates {@code @lombok.Generated} on all fields, methods, and types that are generated, unless {@code lombok.addGeneratedAnnotation} is set to {@code false}. - * - * @see ConfigurationKeys#ADD_GENERATED_ANNOTATIONS + * If {@code true}, lombok generates {@code @lombok.Generated} on all fields, methods, and types that are generated. */ - public static final ConfigurationKey ADD_LOMBOK_GENERATED_ANNOTATIONS = new ConfigurationKey("lombok.addLombokGeneratedAnnotation", "Generate @lombok.Generated on all generated code (default: follow lombok.addGeneratedAnnotation).") {}; + public static final ConfigurationKey ADD_LOMBOK_GENERATED_ANNOTATIONS = new ConfigurationKey("lombok.addLombokGeneratedAnnotation", "Generate @lombok.Generated on all generated code (default: false).") {}; /** * lombok configuration: {@code lombok.extern.findbugs.addSuppressFBWarnings} = {@code true} | {@code false}. diff --git a/src/core/lombok/core/handlers/HandlerUtil.java b/src/core/lombok/core/handlers/HandlerUtil.java index a05578d4..7e6d6d66 100644 --- a/src/core/lombok/core/handlers/HandlerUtil.java +++ b/src/core/lombok/core/handlers/HandlerUtil.java @@ -109,8 +109,8 @@ public class HandlerUtil { } } - public static boolean shouldAddGenerated(LombokNode node, ConfigurationKey key) { - Boolean add = node.getAst().readConfiguration(key); + public static boolean shouldAddGenerated(LombokNode node) { + Boolean add = node.getAst().readConfiguration(ConfigurationKeys.ADD_JAVAX_GENERATED_ANNOTATIONS); if (add != null) return add; return !Boolean.FALSE.equals(node.getAst().readConfiguration(ConfigurationKeys.ADD_GENERATED_ANNOTATIONS)); } diff --git a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java index f822e095..ab4ca27b 100644 --- a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java +++ b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java @@ -1345,10 +1345,10 @@ public class EclipseHandlerUtil { public static Annotation[] addGenerated(EclipseNode node, ASTNode source, Annotation[] originalAnnotationArray) { Annotation[] result = originalAnnotationArray; - if (HandlerUtil.shouldAddGenerated(node, ConfigurationKeys.ADD_JAVAX_GENERATED_ANNOTATIONS)) { + if (HandlerUtil.shouldAddGenerated(node)) { result = addAnnotation(source, result, JAVAX_ANNOTATION_GENERATED, new StringLiteral(LOMBOK, 0, 0, 0)); } - if (HandlerUtil.shouldAddGenerated(node, ConfigurationKeys.ADD_LOMBOK_GENERATED_ANNOTATIONS)) { + if (Boolean.TRUE.equals(node.getAst().readConfiguration(ConfigurationKeys.ADD_LOMBOK_GENERATED_ANNOTATIONS))) { result = addAnnotation(source, result, LOMBOK_GENERATED, null); } return result; diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java index 0b4e839d..af8289a3 100644 --- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java +++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java @@ -1025,10 +1025,10 @@ public class JavacHandlerUtil { public static void addGenerated(JCModifiers mods, JavacNode node, int pos, JCTree source, Context context) { if (!LombokOptionsFactory.getDelombokOptions(context).getFormatPreferences().generateGenerated()) return; - if (HandlerUtil.shouldAddGenerated(node, ConfigurationKeys.ADD_JAVAX_GENERATED_ANNOTATIONS)) { + if (HandlerUtil.shouldAddGenerated(node)) { addAnnotation(mods, node, pos, source, context, "javax.annotation.Generated", node.getTreeMaker().Literal("lombok")); } - if (HandlerUtil.shouldAddGenerated(node, ConfigurationKeys.ADD_LOMBOK_GENERATED_ANNOTATIONS)) { + if (Boolean.TRUE.equals(node.getAst().readConfiguration(ConfigurationKeys.ADD_LOMBOK_GENERATED_ANNOTATIONS))) { addAnnotation(mods, node, pos, source, context, "lombok.Generated", null); } } diff --git a/test/transform/resource/after-delombok/Accessors.java b/test/transform/resource/after-delombok/Accessors.java index 8dee33ad..426b3863 100644 --- a/test/transform/resource/after-delombok/Accessors.java +++ b/test/transform/resource/after-delombok/Accessors.java @@ -2,13 +2,11 @@ class AccessorsFluent { private String fieldName = ""; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public String fieldName() { return this.fieldName; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public AccessorsFluent fieldName(final String fieldName) { this.fieldName = fieldName; return this; @@ -19,19 +17,16 @@ class AccessorsFluentOnClass { private String otherFieldWithOverride = ""; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public String fieldName() { return this.fieldName; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public String getOtherFieldWithOverride() { return this.otherFieldWithOverride; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public AccessorsFluentOnClass fieldName(final String fieldName) { this.fieldName = fieldName; return this; @@ -41,7 +36,6 @@ class AccessorsChain { private boolean isRunning; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public AccessorsChain setRunning(final boolean isRunning) { this.isRunning = isRunning; return this; @@ -52,7 +46,6 @@ class AccessorsPrefix { private String fActualField; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void setActualField(final String fActualField) { this.fActualField = fActualField; } @@ -62,13 +55,11 @@ class AccessorsPrefix2 { private String fActualField; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void setFieldName(final String fieldName) { this.fieldName = fieldName; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void setActualField(final String fActualField) { this.fActualField = fActualField; } @@ -81,14 +72,12 @@ class AccessorsPrefix3 { @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public java.lang.String toString() { return "AccessorsPrefix3(fName=" + this.getName() + ")"; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public boolean equals(final java.lang.Object o) { if (o == this) return true; if (!(o instanceof AccessorsPrefix3)) return false; @@ -101,14 +90,12 @@ class AccessorsPrefix3 { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated protected boolean canEqual(final java.lang.Object other) { return other instanceof AccessorsPrefix3; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public int hashCode() { final int PRIME = 59; int result = 1; @@ -121,7 +108,6 @@ class AccessorsFluentGenerics { private String name; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public AccessorsFluentGenerics name(final String name) { this.name = name; return this; @@ -131,7 +117,6 @@ class AccessorsFluentNoChaining { private String name; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void name(final String name) { this.name = name; } @@ -140,8 +125,7 @@ class AccessorsFluentStatic { private static String name; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public static void name(final String name) { AccessorsFluentStatic.name = name; } -} \ No newline at end of file +} diff --git a/test/transform/resource/after-delombok/AccessorsConfiguration.java b/test/transform/resource/after-delombok/AccessorsConfiguration.java index f98b7939..0094c55c 100644 --- a/test/transform/resource/after-delombok/AccessorsConfiguration.java +++ b/test/transform/resource/after-delombok/AccessorsConfiguration.java @@ -2,13 +2,11 @@ class AccessorsConfiguration { private String m_FieldName = ""; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public String fieldName() { return this.m_FieldName; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void fieldName(final String m_FieldName) { this.m_FieldName = m_FieldName; } @@ -17,7 +15,6 @@ class AccessorsConfiguration2 { private String m_FieldName = ""; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void setM_FieldName(final String m_FieldName) { this.m_FieldName = m_FieldName; } @@ -26,9 +23,8 @@ class AccessorsConfiguration3 { private String fFieldName = ""; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public AccessorsConfiguration3 setFieldName(final String fFieldName) { this.fFieldName = fFieldName; return this; } -} \ No newline at end of file +} diff --git a/test/transform/resource/after-delombok/BuilderChainAndFluent.java b/test/transform/resource/after-delombok/BuilderChainAndFluent.java index 7a1f487e..2475a998 100644 --- a/test/transform/resource/after-delombok/BuilderChainAndFluent.java +++ b/test/transform/resource/after-delombok/BuilderChainAndFluent.java @@ -2,47 +2,39 @@ class BuilderChainAndFluent { private final int yes; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated BuilderChainAndFluent(final int yes) { this.yes = yes; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public static class BuilderChainAndFluentBuilder { @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private int yes; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated BuilderChainAndFluentBuilder() { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void setYes(final int yes) { this.yes = yes; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public BuilderChainAndFluent build() { return new BuilderChainAndFluent(yes); } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public java.lang.String toString() { return "BuilderChainAndFluent.BuilderChainAndFluentBuilder(yes=" + this.yes + ")"; } } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public static BuilderChainAndFluentBuilder builder() { return new BuilderChainAndFluentBuilder(); } -} \ No newline at end of file +} diff --git a/test/transform/resource/after-delombok/BuilderComplex.java b/test/transform/resource/after-delombok/BuilderComplex.java index 15d4e25c..937628f9 100644 --- a/test/transform/resource/after-delombok/BuilderComplex.java +++ b/test/transform/resource/after-delombok/BuilderComplex.java @@ -4,75 +4,62 @@ class BuilderComplex { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public static class VoidBuilder { @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private T number; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private int arg2; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private String arg3; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private BuilderComplex selfRef; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated VoidBuilder() { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public VoidBuilder number(final T number) { this.number = number; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public VoidBuilder arg2(final int arg2) { this.arg2 = arg2; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public VoidBuilder arg3(final String arg3) { this.arg3 = arg3; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public VoidBuilder selfRef(final BuilderComplex selfRef) { this.selfRef = selfRef; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public void execute() { BuilderComplex.testVoidWithGenerics(number, arg2, arg3, selfRef); } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public java.lang.String toString() { return "BuilderComplex.VoidBuilder(number=" + this.number + ", arg2=" + this.arg2 + ", arg3=" + this.arg3 + ", selfRef=" + this.selfRef + ")"; } } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public static VoidBuilder builder() { return new VoidBuilder(); } -} \ No newline at end of file +} diff --git a/test/transform/resource/after-delombok/BuilderInstanceMethod.java b/test/transform/resource/after-delombok/BuilderInstanceMethod.java index 668977ab..61e237d0 100644 --- a/test/transform/resource/after-delombok/BuilderInstanceMethod.java +++ b/test/transform/resource/after-delombok/BuilderInstanceMethod.java @@ -5,74 +5,61 @@ class BuilderInstanceMethod { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public class StringBuilder { @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private int show; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private int yes; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private List also; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private int $andMe; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated StringBuilder() { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public StringBuilder show(final int show) { this.show = show; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public StringBuilder yes(final int yes) { this.yes = yes; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public StringBuilder also(final List also) { this.also = also; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public StringBuilder $andMe(final int $andMe) { this.$andMe = $andMe; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public String build() { return BuilderInstanceMethod.this.create(show, yes, also, $andMe); } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public java.lang.String toString() { return "BuilderInstanceMethod.StringBuilder(show=" + this.show + ", yes=" + this.yes + ", also=" + this.also + ", $andMe=" + this.$andMe + ")"; } } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public StringBuilder builder() { return new StringBuilder(); } diff --git a/test/transform/resource/after-delombok/BuilderSimple.java b/test/transform/resource/after-delombok/BuilderSimple.java index ecf74aa3..a12ad047 100644 --- a/test/transform/resource/after-delombok/BuilderSimple.java +++ b/test/transform/resource/after-delombok/BuilderSimple.java @@ -6,59 +6,49 @@ class BuilderSimple { private int $butNotMe; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated BuilderSimple(final int yes, final List also) { this.yes = yes; this.also = also; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public static class BuilderSimpleBuilder { @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private int yes; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated private List also; @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated BuilderSimpleBuilder() { } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public BuilderSimpleBuilder yes(final int yes) { this.yes = yes; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public BuilderSimpleBuilder also(final List also) { this.also = also; return this; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public BuilderSimple build() { return new BuilderSimple(yes, also); } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public java.lang.String toString() { return "BuilderSimple.BuilderSimpleBuilder(yes=" + this.yes + ", also=" + this.also + ")"; } } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") - @lombok.Generated public static BuilderSimpleBuilder