Giter Site home page Giter Site logo

lombok.maven's Introduction

lombok.maven's People

Contributors

actions-user avatar awhitford avatar bitdeli-chef avatar dependabot[bot] avatar nils-christian avatar pzygielo avatar sgybas avatar sullis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

lombok.maven's Issues

Java 20: Unable to delombok: InvocationTargetException: var

Since Java 20 I am unable to run the delombok plugin.

My pom.xml: https://github.com/kangarko/Foundation/blob/master/pom.xml#L192

Just tested on lombok 1.18.28 and the latest (semi-old) lombok maven plugin.

Here is full maven compile debug log: (I could not find any "var" being used in my project. It's open source: https://github.com/kangarko/foundation/

Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8)�[m
Maven home: D:\workspace\Foundation\EMBEDDED
Java version: 20, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-20
Default locale: en_US, platform encoding: UTF-8
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"
[DEBUG] Created new class realm maven.api
[DEBUG] Importing foreign packages into class realm maven.api
[DEBUG]   Imported: javax.annotation.* < plexus.core
[DEBUG]   Imported: javax.annotation.security.* < plexus.core
[DEBUG]   Imported: javax.inject.* < plexus.core
[DEBUG]   Imported: org.apache.maven.* < plexus.core
[DEBUG]   Imported: org.apache.maven.artifact < plexus.core
[DEBUG]   Imported: org.apache.maven.classrealm < plexus.core
[DEBUG]   Imported: org.apache.maven.cli < plexus.core
[DEBUG]   Imported: org.apache.maven.configuration < plexus.core
[DEBUG]   Imported: org.apache.maven.exception < plexus.core
[DEBUG]   Imported: org.apache.maven.execution < plexus.core
[DEBUG]   Imported: org.apache.maven.execution.scope < plexus.core
[DEBUG]   Imported: org.apache.maven.graph < plexus.core
[DEBUG]   Imported: org.apache.maven.lifecycle < plexus.core
[DEBUG]   Imported: org.apache.maven.model < plexus.core
[DEBUG]   Imported: org.apache.maven.monitor < plexus.core
[DEBUG]   Imported: org.apache.maven.plugin < plexus.core
[DEBUG]   Imported: org.apache.maven.profiles < plexus.core
[DEBUG]   Imported: org.apache.maven.project < plexus.core
[DEBUG]   Imported: org.apache.maven.reporting < plexus.core
[DEBUG]   Imported: org.apache.maven.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.rtinfo < plexus.core
[DEBUG]   Imported: org.apache.maven.settings < plexus.core
[DEBUG]   Imported: org.apache.maven.toolchain < plexus.core
[DEBUG]   Imported: org.apache.maven.usability < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.* < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authentication < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.authorization < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.events < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.observers < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.proxy < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.repository < plexus.core
[DEBUG]   Imported: org.apache.maven.wagon.resource < plexus.core
[DEBUG]   Imported: org.codehaus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.* < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.classworlds < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.component < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.configuration < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.container < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.context < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.lifecycle < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.logging < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.personality < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.Xpp3Dom < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < plexus.core
[DEBUG]   Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < plexus.core
[DEBUG]   Imported: org.eclipse.aether.* < plexus.core
[DEBUG]   Imported: org.eclipse.aether.artifact < plexus.core
[DEBUG]   Imported: org.eclipse.aether.collection < plexus.core
[DEBUG]   Imported: org.eclipse.aether.deployment < plexus.core
[DEBUG]   Imported: org.eclipse.aether.graph < plexus.core
[DEBUG]   Imported: org.eclipse.aether.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.installation < plexus.core
[DEBUG]   Imported: org.eclipse.aether.internal.impl < plexus.core
[DEBUG]   Imported: org.eclipse.aether.metadata < plexus.core
[DEBUG]   Imported: org.eclipse.aether.repository < plexus.core
[DEBUG]   Imported: org.eclipse.aether.resolution < plexus.core
[DEBUG]   Imported: org.eclipse.aether.spi < plexus.core
[DEBUG]   Imported: org.eclipse.aether.transfer < plexus.core
[DEBUG]   Imported: org.eclipse.aether.util < plexus.core
[DEBUG]   Imported: org.eclipse.aether.version < plexus.core
[DEBUG]   Imported: org.fusesource.jansi.* < plexus.core
[DEBUG]   Imported: org.slf4j.* < plexus.core
[DEBUG]   Imported: org.slf4j.event.* < plexus.core
[DEBUG]   Imported: org.slf4j.helpers.* < plexus.core
[DEBUG]   Imported: org.slf4j.spi.* < plexus.core
[DEBUG] Populating class realm maven.api
[DEBUG] Created adapter factory; available factories [file-lock, rwlock-local, semaphore-local, noop]; available name mappers [discriminating, file-gav, file-hgav, file-static, gav, static]
[INFO] Error stacktraces are turned on.
[DEBUG] Message scheme: color
[DEBUG] Message styles: �[1;36mdebug�[m �[1;34minfo�[m �[1;33mwarning�[m �[1;31merror�[m �[1;32msuccess�[m �[1;31mfailure�[m �[1mstrong�[m �[32mmojo�[m �[36mproject�[m
[DEBUG] Reading global settings from settings.xml
[DEBUG] Reading user settings from C:\Users\kangarko\.m2\settings.xml
[DEBUG] Reading global toolchains from toolchains.xml
[DEBUG] Reading user toolchains from C:\Users\kangarko\.m2\toolchains.xml
[DEBUG] Using local repository at C:\Users\kangarko\.m2\repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for C:\Users\kangarko\.m2\repository
[INFO] Scanning for projects...
[DEBUG] Extension realms for project org.mineacademy:Foundation:jar:6.3.5: (none)
[DEBUG] Looking up lifecycle mappings for packaging jar from ClassRealm[plexus.core, parent: null]
[DEBUG] === REACTOR BUILD PLAN ================================================
[DEBUG] Project: org.mineacademy:Foundation:jar:6.3.5
[DEBUG] Tasks:   [clean, install]
[DEBUG] Style:   Regular
[DEBUG] =======================================================================
[INFO] 
[INFO] �[1m---------------------< �[0;36morg.mineacademy:Foundation�[0;1m >---------------------�[m
[INFO] �[1mBuilding Foundation 6.3.5�[m
[INFO]   from pom.xml
[INFO] �[1m--------------------------------[ jar ]---------------------------------�[m
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Creating adapter using nameMapper 'gav' and factory 'rwlock-local'
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] Lifecycle clean -> [pre-clean, clean, post-clean]
[DEBUG] Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
[DEBUG] Lifecycle site -> [pre-site, site, post-site, site-deploy]
[DEBUG] === PROJECT BUILD PLAN ================================================
[DEBUG] Project:       org.mineacademy:Foundation:6.3.5
[DEBUG] Dependencies (collect): []
[DEBUG] Dependencies (resolve): [compile, runtime, test]
[DEBUG] Repositories (dependencies): [mineacademy-repo (https://bitbucket.org/kangarko/libraries/raw/master, default, releases+snapshots), spigot-repo (https://hub.spigotmc.org/nexus/content/repositories/snapshots, default, releases+snapshots), central (https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] Repositories (plugins)     : [central (https://repo.maven.apache.org/maven2, default, releases)]
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-clean-plugin:3.2.0:clean (default-clean)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <directory default-value="${project.build.directory}"/>
  <excludeDefaultDirectories default-value="false">${maven.clean.excludeDefaultDirectories}</excludeDefaultDirectories>
  <failOnError default-value="true">${maven.clean.failOnError}</failOnError>
  <fast default-value="false">${maven.clean.fast}</fast>
  <fastDir>${maven.clean.fastDir}</fastDir>
  <fastMode default-value="background">${maven.clean.fastMode}</fastMode>
  <followSymLinks default-value="false">${maven.clean.followSymLinks}</followSymLinks>
  <outputDirectory default-value="${project.build.outputDirectory}"/>
  <reportDirectory default-value="${project.build.outputDirectory}"/>
  <retryOnError default-value="true">${maven.clean.retryOnError}</retryOnError>
  <session default-value="${session}"/>
  <skip default-value="false">${maven.clean.skip}</skip>
  <testOutputDirectory default-value="${project.build.testOutputDirectory}"/>
  <verbose>${maven.clean.verbose}</verbose>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.projectlombok:lombok-maven-plugin:1.18.20.0:delombok (default)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <addOutputDirectory default-value="true">false</addOutputDirectory>
  <encoding default-value="${project.build.sourceEncoding}">${lombok.encoding}</encoding>
  <outputDirectory default-value="${project.build.directory}/generated-sources/delombok">${delombok.output}</outputDirectory>
  <pluginArtifacts>${plugin.artifacts}</pluginArtifacts>
  <pluginDescriptor>${plugin}</pluginDescriptor>
  <project>${project}</project>
  <skip default-value="false">${lombok.delombok.skip}</skip>
  <sourceDirectory default-value="${project.basedir}/src/main/lombok">D:\workspace\Foundation/src/main/java</sourceDirectory>
  <verbose default-value="false">${lombok.verbose}</verbose>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-resources-plugin:3.3.0:resources (default-resources)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <addDefaultExcludes default-value="true"/>
  <buildFilters default-value="${project.build.filters}"/>
  <encoding default-value="${project.build.sourceEncoding}"/>
  <escapeWindowsPaths default-value="true"/>
  <fileNameFiltering default-value="false"/>
  <includeEmptyDirs default-value="false"/>
  <outputDirectory default-value="${project.build.outputDirectory}"/>
  <overwrite default-value="false"/>
  <project default-value="${project}"/>
  <resources default-value="${project.resources}"/>
  <session default-value="${session}"/>
  <skip default-value="false">${maven.resources.skip}</skip>
  <supportMultiLineFiltering default-value="false"/>
  <useBuildFilters default-value="true"/>
  <useDefaultDelimiters default-value="true"/>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <basedir default-value="${basedir}"/>
  <buildDirectory default-value="${project.build.directory}"/>
  <compilePath default-value="${project.compileClasspathElements}"/>
  <compileSourceRoots default-value="${project.compileSourceRoots}"/>
  <compilerId default-value="javac">${maven.compiler.compilerId}</compilerId>
  <compilerReuseStrategy default-value="${reuseCreated}">${maven.compiler.compilerReuseStrategy}</compilerReuseStrategy>
  <compilerVersion>${maven.compiler.compilerVersion}</compilerVersion>
  <createMissingPackageInfoClass default-value="true">${maven.compiler.createMissingPackageInfoClass}</createMissingPackageInfoClass>
  <debug default-value="true">${maven.compiler.debug}</debug>
  <debugFileName default-value="javac"/>
  <debuglevel>${maven.compiler.debuglevel}</debuglevel>
  <enablePreview default-value="false">${maven.compiler.enablePreview}</enablePreview>
  <encoding default-value="${project.build.sourceEncoding}">${encoding}</encoding>
  <executable>${maven.compiler.executable}</executable>
  <failOnError default-value="true">${maven.compiler.failOnError}</failOnError>
  <failOnWarning default-value="false">${maven.compiler.failOnWarning}</failOnWarning>
  <forceJavacCompilerUse default-value="false">${maven.compiler.forceJavacCompilerUse}</forceJavacCompilerUse>
  <fork default-value="false">${maven.compiler.fork}</fork>
  <generatedSourcesDirectory default-value="${project.build.directory}/generated-sources/annotations"/>
  <implicit>${maven.compiler.implicit}</implicit>
  <maxmem>${maven.compiler.maxmem}</maxmem>
  <meminitial>${maven.compiler.meminitial}</meminitial>
  <mojoExecution default-value="${mojoExecution}"/>
  <optimize default-value="false">${maven.compiler.optimize}</optimize>
  <outputDirectory default-value="${project.build.outputDirectory}"/>
  <parameters default-value="false">${maven.compiler.parameters}</parameters>
  <project default-value="${project}"/>
  <projectArtifact default-value="${project.artifact}"/>
  <release>${maven.compiler.release}</release>
  <session default-value="${session}"/>
  <showCompilationChanges default-value="false">${maven.compiler.showCompilationChanges}</showCompilationChanges>
  <showDeprecation default-value="false">${maven.compiler.showDeprecation}</showDeprecation>
  <showWarnings default-value="true">${maven.compiler.showWarnings}</showWarnings>
  <skipMain>${maven.main.skip}</skipMain>
  <skipMultiThreadWarning default-value="false">${maven.compiler.skipMultiThreadWarning}</skipMultiThreadWarning>
  <source default-value="1.8">1.8</source>
  <staleMillis default-value="0">${lastModGranularityMs}</staleMillis>
  <target default-value="1.8">1.8</target>
  <useIncrementalCompilation default-value="true">${maven.compiler.useIncrementalCompilation}</useIncrementalCompilation>
  <verbose default-value="false">${maven.compiler.verbose}</verbose>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-resources-plugin:3.3.0:testResources (default-testResources)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <addDefaultExcludes default-value="true"/>
  <buildFilters default-value="${project.build.filters}"/>
  <encoding default-value="${project.build.sourceEncoding}"/>
  <escapeWindowsPaths default-value="true"/>
  <fileNameFiltering default-value="false"/>
  <includeEmptyDirs default-value="false"/>
  <outputDirectory default-value="${project.build.testOutputDirectory}"/>
  <overwrite default-value="false"/>
  <project default-value="${project}"/>
  <resources default-value="${project.testResources}"/>
  <session default-value="${session}"/>
  <skip default-value="false">${maven.test.skip}</skip>
  <supportMultiLineFiltering default-value="false"/>
  <useBuildFilters default-value="true"/>
  <useDefaultDelimiters default-value="true"/>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-compiler-plugin:3.11.0:testCompile (default-testCompile)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <basedir default-value="${basedir}"/>
  <buildDirectory default-value="${project.build.directory}"/>
  <compileSourceRoots default-value="${project.testCompileSourceRoots}"/>
  <compilerId default-value="javac">${maven.compiler.compilerId}</compilerId>
  <compilerReuseStrategy default-value="${reuseCreated}">${maven.compiler.compilerReuseStrategy}</compilerReuseStrategy>
  <compilerVersion>${maven.compiler.compilerVersion}</compilerVersion>
  <createMissingPackageInfoClass default-value="true">${maven.compiler.createMissingPackageInfoClass}</createMissingPackageInfoClass>
  <debug default-value="true">${maven.compiler.debug}</debug>
  <debugFileName default-value="javac-test"/>
  <debuglevel>${maven.compiler.debuglevel}</debuglevel>
  <enablePreview default-value="false">${maven.compiler.enablePreview}</enablePreview>
  <encoding default-value="${project.build.sourceEncoding}">${encoding}</encoding>
  <executable>${maven.compiler.executable}</executable>
  <failOnError default-value="true">${maven.compiler.failOnError}</failOnError>
  <failOnWarning default-value="false">${maven.compiler.failOnWarning}</failOnWarning>
  <forceJavacCompilerUse default-value="false">${maven.compiler.forceJavacCompilerUse}</forceJavacCompilerUse>
  <fork default-value="false">${maven.compiler.fork}</fork>
  <generatedTestSourcesDirectory default-value="${project.build.directory}/generated-test-sources/test-annotations"/>
  <implicit>${maven.compiler.implicit}</implicit>
  <maxmem>${maven.compiler.maxmem}</maxmem>
  <meminitial>${maven.compiler.meminitial}</meminitial>
  <mojoExecution default-value="${mojoExecution}"/>
  <optimize default-value="false">${maven.compiler.optimize}</optimize>
  <outputDirectory default-value="${project.build.testOutputDirectory}"/>
  <parameters default-value="false">${maven.compiler.parameters}</parameters>
  <project default-value="${project}"/>
  <release>${maven.compiler.release}</release>
  <session default-value="${session}"/>
  <showCompilationChanges default-value="false">${maven.compiler.showCompilationChanges}</showCompilationChanges>
  <showDeprecation default-value="false">${maven.compiler.showDeprecation}</showDeprecation>
  <showWarnings default-value="true">${maven.compiler.showWarnings}</showWarnings>
  <skip>${maven.test.skip}</skip>
  <skipMultiThreadWarning default-value="false">${maven.compiler.skipMultiThreadWarning}</skipMultiThreadWarning>
  <source default-value="1.8">1.8</source>
  <staleMillis default-value="0">${lastModGranularityMs}</staleMillis>
  <target default-value="1.8">1.8</target>
  <testPath default-value="${project.testClasspathElements}"/>
  <testRelease>${maven.compiler.testRelease}</testRelease>
  <testSource>${maven.compiler.testSource}</testSource>
  <testTarget>${maven.compiler.testTarget}</testTarget>
  <useIncrementalCompilation default-value="true">${maven.compiler.useIncrementalCompilation}</useIncrementalCompilation>
  <useModulePath default-value="true"/>
  <verbose default-value="false">${maven.compiler.verbose}</verbose>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-surefire-plugin:3.0.0:test (default-test)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <additionalClasspathElements>${maven.test.additionalClasspath}</additionalClasspathElements>
  <argLine>${argLine}</argLine>
  <basedir default-value="${basedir}"/>
  <childDelegation default-value="false">${childDelegation}</childDelegation>
  <classesDirectory default-value="${project.build.outputDirectory}"/>
  <classpathDependencyExcludes>${maven.test.dependency.excludes}</classpathDependencyExcludes>
  <debugForkedProcess>${maven.surefire.debug}</debugForkedProcess>
  <dependenciesToScan>${dependenciesToScan}</dependenciesToScan>
  <disableXmlReport default-value="false">${disableXmlReport}</disableXmlReport>
  <enableAssertions default-value="true">${enableAssertions}</enableAssertions>
  <enableProcessChecker>${surefire.enableProcessChecker}</enableProcessChecker>
  <encoding default-value="${project.reporting.outputEncoding}">${surefire.encoding}</encoding>
  <excludeJUnit5Engines>${surefire.excludeJUnit5Engines}</excludeJUnit5Engines>
  <excludedEnvironmentVariables>${surefire.excludedEnvironmentVariables}</excludedEnvironmentVariables>
  <excludedGroups>${excludedGroups}</excludedGroups>
  <excludes>${surefire.excludes}</excludes>
  <excludesFile>${surefire.excludesFile}</excludesFile>
  <failIfNoSpecifiedTests default-value="true">${surefire.failIfNoSpecifiedTests}</failIfNoSpecifiedTests>
  <failIfNoTests default-value="false">${failIfNoTests}</failIfNoTests>
  <failOnFlakeCount default-value="0">${surefire.failOnFlakeCount}</failOnFlakeCount>
  <forkCount default-value="1">${forkCount}</forkCount>
  <forkNode>${surefire.forkNode}</forkNode>
  <forkedProcessExitTimeoutInSeconds default-value="30">${surefire.exitTimeout}</forkedProcessExitTimeoutInSeconds>
  <forkedProcessTimeoutInSeconds>${surefire.timeout}</forkedProcessTimeoutInSeconds>
  <groups>${groups}</groups>
  <includeJUnit5Engines>${surefire.includeJUnit5Engines}</includeJUnit5Engines>
  <includes>${surefire.includes}</includes>
  <includesFile>${surefire.includesFile}</includesFile>
  <junitArtifactName default-value="junit:junit">${junitArtifactName}</junitArtifactName>
  <jvm>${jvm}</jvm>
  <objectFactory>${objectFactory}</objectFactory>
  <parallel>${parallel}</parallel>
  <parallelMavenExecution default-value="${session.parallel}"/>
  <parallelOptimized default-value="true">${parallelOptimized}</parallelOptimized>
  <parallelTestsTimeoutForcedInSeconds>${surefire.parallel.forcedTimeout}</parallelTestsTimeoutForcedInSeconds>
  <parallelTestsTimeoutInSeconds>${surefire.parallel.timeout}</parallelTestsTimeoutInSeconds>
  <perCoreThreadCount default-value="true">${perCoreThreadCount}</perCoreThreadCount>
  <pluginArtifactMap>${plugin.artifactMap}</pluginArtifactMap>
  <pluginDescriptor default-value="${plugin}"/>
  <printSummary default-value="true">${surefire.printSummary}</printSummary>
  <project default-value="${project}"/>
  <projectArtifactMap>${project.artifactMap}</projectArtifactMap>
  <projectBuildDirectory default-value="${project.build.directory}"/>
  <redirectTestOutputToFile default-value="false">${maven.test.redirectTestOutputToFile}</redirectTestOutputToFile>
  <reportFormat default-value="brief">${surefire.reportFormat}</reportFormat>
  <reportNameSuffix default-value="">${surefire.reportNameSuffix}</reportNameSuffix>
  <reportsDirectory default-value="${project.build.directory}/surefire-reports"/>
  <rerunFailingTestsCount default-value="0">${surefire.rerunFailingTestsCount}</rerunFailingTestsCount>
  <reuseForks default-value="true">${reuseForks}</reuseForks>
  <runOrder default-value="filesystem">${surefire.runOrder}</runOrder>
  <runOrderRandomSeed>${surefire.runOrder.random.seed}</runOrderRandomSeed>
  <session default-value="${session}"/>
  <shutdown default-value="exit">${surefire.shutdown}</shutdown>
  <skip default-value="false">${maven.test.skip}</skip>
  <skipAfterFailureCount default-value="0">${surefire.skipAfterFailureCount}</skipAfterFailureCount>
  <skipExec>${maven.test.skip.exec}</skipExec>
  <skipTests default-value="false">${skipTests}</skipTests>
  <suiteXmlFiles>${surefire.suiteXmlFiles}</suiteXmlFiles>
  <systemPropertiesFile>${surefire.systemPropertiesFile}</systemPropertiesFile>
  <tempDir default-value="surefire">${tempDir}</tempDir>
  <test>${test}</test>
  <testClassesDirectory default-value="${project.build.testOutputDirectory}"/>
  <testFailureIgnore default-value="false">${maven.test.failure.ignore}</testFailureIgnore>
  <testNGArtifactName default-value="org.testng:testng">${testNGArtifactName}</testNGArtifactName>
  <testSourceDirectory default-value="${project.build.testSourceDirectory}"/>
  <threadCount>${threadCount}</threadCount>
  <threadCountClasses default-value="0">${threadCountClasses}</threadCountClasses>
  <threadCountMethods default-value="0">${threadCountMethods}</threadCountMethods>
  <threadCountSuites default-value="0">${threadCountSuites}</threadCountSuites>
  <trimStackTrace default-value="false">${trimStackTrace}</trimStackTrace>
  <useFile default-value="true">${surefire.useFile}</useFile>
  <useManifestOnlyJar default-value="true">${surefire.useManifestOnlyJar}</useManifestOnlyJar>
  <useModulePath default-value="true">${surefire.useModulePath}</useModulePath>
  <useSystemClassLoader default-value="true">${surefire.useSystemClassLoader}</useSystemClassLoader>
  <useUnlimitedThreads default-value="false">${useUnlimitedThreads}</useUnlimitedThreads>
  <workingDirectory>${basedir}</workingDirectory>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-jar-plugin:3.3.0:jar (default-jar)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <classesDirectory default-value="${project.build.outputDirectory}"/>
  <finalName default-value="${project.build.finalName}"/>
  <forceCreation default-value="false">${maven.jar.forceCreation}</forceCreation>
  <outputDirectory default-value="${project.build.directory}"/>
  <outputTimestamp default-value="${project.build.outputTimestamp}"/>
  <project default-value="${project}"/>
  <session default-value="${session}"/>
  <skipIfEmpty default-value="false"/>
  <useDefaultManifestFile default-value="false">${jar.useDefaultManifestFile}</useDefaultManifestFile>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-javadoc-plugin:3.5.0:jar (attach-javadocs)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <additionalJOption>${additionalJOption}</additionalJOption>
  <applyJavadocSecurityFix default-value="true">${maven.javadoc.applyJavadocSecurityFix}</applyJavadocSecurityFix>
  <attach default-value="true">${attach}</attach>
  <author default-value="true">${author}</author>
  <bootclasspath>${bootclasspath}</bootclasspath>
  <bootclasspathArtifacts>${bootclasspathArtifacts}</bootclasspathArtifacts>
  <bottom default-value="Copyright &amp;#169; {inceptionYear}&amp;#x2013;{currentYear} {organizationName}. All rights reserved.">${bottom}</bottom>
  <breakiterator default-value="false">${breakiterator}</breakiterator>
  <charset>${charset}</charset>
  <classifier default-value="javadoc">${maven.javadoc.classifier}</classifier>
  <debug default-value="false">${debug}</debug>
  <defaultManifestFile default-value="${project.build.outputDirectory}/META-INF/MANIFEST.MF"/>
  <destDir>${destDir}</destDir>
  <detectJavaApiLink default-value="true">${detectJavaApiLink}</detectJavaApiLink>
  <detectLinks default-value="false">${detectLinks}</detectLinks>
  <detectOfflineLinks default-value="true">${detectOfflineLinks}</detectOfflineLinks>
  <docencoding default-value="${project.reporting.outputEncoding}">${docencoding}</docencoding>
  <docfilessubdirs default-value="false">${docfilessubdirs}</docfilessubdirs>
  <doclet>${doclet}</doclet>
  <docletArtifact>${docletArtifact}</docletArtifact>
  <docletArtifacts>${docletArtifacts}</docletArtifacts>
  <docletPath>${docletPath}</docletPath>
  <doclint>none</doclint>
  <doctitle default-value="${project.name} ${project.version} API">${doctitle}</doctitle>
  <encoding default-value="${project.build.sourceEncoding}">${encoding}</encoding>
  <excludePackageNames>${excludePackageNames}</excludePackageNames>
  <excludedocfilessubdir>${excludedocfilessubdir}</excludedocfilessubdir>
  <extdirs>${extdirs}</extdirs>
  <failOnError default-value="true">${maven.javadoc.failOnError}</failOnError>
  <failOnWarnings default-value="false">${maven.javadoc.failOnWarnings}</failOnWarnings>
  <finalName>${project.build.finalName}</finalName>
  <footer>${footer}</footer>
  <header>${header}</header>
  <helpfile>${helpfile}</helpfile>
  <includeDependencySources default-value="false"/>
  <includeTransitiveDependencySources default-value="false"/>
  <isOffline default-value="${settings.offline}"/>
  <jarOutputDirectory>${project.build.directory}</jarOutputDirectory>
  <javaApiLinks>${javaApiLinks}</javaApiLinks>
  <javadocDirectory default-value="${basedir}/src/main/javadoc"/>
  <javadocExecutable>${javadocExecutable}</javadocExecutable>
  <javadocOptionsDir default-value="${project.build.directory}/javadoc-bundle-options"/>
  <javadocVersion>${javadocVersion}</javadocVersion>
  <keywords default-value="false">${keywords}</keywords>
  <links>${links}</links>
  <linksource default-value="false">${linksource}</linksource>
  <localRepository>${localRepository}</localRepository>
  <locale>${locale}</locale>
  <maxmemory>${maxmemory}</maxmemory>
  <minmemory>${minmemory}</minmemory>
  <mojo default-value="${mojoExecution}"/>
  <nocomment default-value="false">${nocomment}</nocomment>
  <nodeprecated default-value="false">${nodeprecated}</nodeprecated>
  <nodeprecatedlist default-value="false">${nodeprecatedlist}</nodeprecatedlist>
  <nohelp default-value="false">${nohelp}</nohelp>
  <noindex default-value="false">${noindex}</noindex>
  <nonavbar default-value="false">${nonavbar}</nonavbar>
  <nooverview default-value="false">${nooverview}</nooverview>
  <noqualifier>${noqualifier}</noqualifier>
  <nosince default-value="false">${nosince}</nosince>
  <notimestamp default-value="false">${notimestamp}</notimestamp>
  <notree default-value="false">${notree}</notree>
  <offlineLinks>${offlineLinks}</offlineLinks>
  <old default-value="false">${old}</old>
  <outputDirectory default-value="${project.build.directory}/apidocs">${destDir}</outputDirectory>
  <outputTimestamp default-value="${project.build.outputTimestamp}"/>
  <overview default-value="${basedir}/src/main/javadoc/overview.html">${overview}</overview>
  <packagesheader>${packagesheader}</packagesheader>
  <project default-value="${project}"/>
  <quiet default-value="false">${quiet}</quiet>
  <reactorProjects>${reactorProjects}</reactorProjects>
  <release default-value="${maven.compiler.release}"/>
  <repoSession default-value="${repositorySystemSession}"/>
  <resourcesArtifacts>${resourcesArtifacts}</resourcesArtifacts>
  <serialwarn default-value="false">${serialwarn}</serialwarn>
  <session default-value="${session}"/>
  <settings default-value="${settings}"/>
  <show default-value="protected">${show}</show>
  <skip default-value="false">${maven.javadoc.skip}</skip>
  <skippedModules>${maven.javadoc.skippedModules}</skippedModules>
  <source default-value="${maven.compiler.source}">${source}</source>
  <sourceDependencyCacheDir default-value="${project.build.directory}/distro-javadoc-sources"/>
  <sourcepath>${sourcepath}</sourcepath>
  <sourcetab>${sourcetab}</sourcetab>
  <splitindex default-value="false">${splitindex}</splitindex>
  <staleDataPath default-value="${project.build.directory}/maven-javadoc-plugin-stale-data.txt">${staleDataPath}</staleDataPath>
  <stylesheet default-value="java">${stylesheet}</stylesheet>
  <stylesheetfile>${stylesheetfile}</stylesheetfile>
  <subpackages>${subpackages}</subpackages>
  <taglet>${taglet}</taglet>
  <tagletArtifact>${tagletArtifact}</tagletArtifact>
  <tagletArtifacts>${tagletArtifacts}</tagletArtifacts>
  <tagletpath>${tagletpath}</tagletpath>
  <taglets>${taglets}</taglets>
  <tags>${tags}</tags>
  <top>${top}</top>
  <use default-value="true">${use}</use>
  <useDefaultManifestFile default-value="false"/>
  <useStandardDocletOptions default-value="true">${useStandardDocletOptions}</useStandardDocletOptions>
  <validateLinks default-value="false">${validateLinks}</validateLinks>
  <verbose default-value="false">${verbose}</verbose>
  <version default-value="true">${version}</version>
  <windowtitle default-value="${project.name} ${project.version} API">${windowtitle}</windowtitle>
</configuration>
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal:          org.apache.maven.plugins:maven-install-plugin:3.1.0:install (default-install)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <installAtEnd default-value="false">${installAtEnd}</installAtEnd>
  <pluginDescriptor default-value="${plugin}"/>
  <project default-value="${project}"/>
  <reactorProjects default-value="${reactorProjects}"/>
  <session default-value="${session}"/>
  <skip default-value="false">${maven.install.skip}</skip>
</configuration>
[DEBUG] =======================================================================
[DEBUG] org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT/maven-metadata.xml was not found in https://bitbucket.org/kangarko/libraries/raw/master during a previous attempt. This failure was cached in the local repository and resolution is not be reattempted until the update interval of mineacademy-repo has elapsed or updates are forced
[DEBUG] Skipped remote request for org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT/maven-metadata.xml, locally cached metadata up-to-date
[DEBUG] org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT/maven-metadata.xml was not found in https://bitbucket.org/kangarko/libraries/raw/master during a previous attempt. This failure was cached in the local repository and resolution is not be reattempted until the update interval of mineacademy-repo has elapsed or updates are forced
[DEBUG] Skipped remote request for org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT/maven-metadata.xml, locally cached metadata up-to-date
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=471300, ConflictMarker.markTime=104800, ConflictMarker.nodeCount=40, ConflictIdSorter.graphTime=273700, ConflictIdSorter.topsortTime=220000, ConflictIdSorter.conflictIdCount=37, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=3293300, ConflictResolver.conflictItemCount=39, DfDependencyCollector.collectTime=96627000, DfDependencyCollector.transformTime=5517200}
[DEBUG] org.mineacademy:Foundation:jar:6.3.5
[DEBUG]    org.projectlombok:lombok:jar:1.18.28:compile
[DEBUG]    org.apache.logging.log4j:log4j-core:jar:2.20.0:provided
[DEBUG]       org.apache.logging.log4j:log4j-api:jar:2.20.0:provided
[DEBUG]    org.spigotmc:spigot-api:jar:1.19.4-R0.1-SNAPSHOT:compile
[DEBUG]       com.google.guava:guava:jar:31.1-jre:compile
[DEBUG]          com.google.guava:failureaccess:jar:1.0.1:compile
[DEBUG]          com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[DEBUG]          com.google.code.findbugs:jsr305:jar:3.0.2:compile
[DEBUG]          org.checkerframework:checker-qual:jar:3.12.0:compile
[DEBUG]          com.google.errorprone:error_prone_annotations:jar:2.11.0:compile
[DEBUG]          com.google.j2objc:j2objc-annotations:jar:1.3:compile
[DEBUG]       com.google.code.gson:gson:jar:2.10:compile
[DEBUG]       org.joml:joml:jar:1.10.5:compile
[DEBUG]       net.md-5:bungeecord-chat:jar:1.16-R0.4:compile
[DEBUG]       org.yaml:snakeyaml:jar:1.33:compile
[DEBUG]    org.mineacademy.plugin:AuthMe:jar:5.6.0-SNAPSHOT-2595:compile
[DEBUG]    org.mineacademy.plugin:BentoBox:jar:1.22.0-SNAPSHOT-b2312:compile
[DEBUG]    org.mineacademy.plugin:CitizensAPI:jar:2.0.30-b2816:compile
[DEBUG]    org.mineacademy.plugin:CMIAPI:jar:9.5.0.8:compile
[DEBUG]    org.mineacademy.plugin:DiscordSRV:jar:1.26.1-SNAPSHOT-c6daaa5:compile
[DEBUG]    org.mineacademy.plugin:EssentialsX:jar:2.20.0-SNAPSHOT-1441:compile
[DEBUG]    org.mineacademy.plugin:Factions:jar:3.3.3:compile
[DEBUG]    org.mineacademy.plugin:FactionsUUID:jar:1.6.9.5-U0.6.11-b287:compile
[DEBUG]    org.mineacademy.plugin:MassiveCore:jar:3.3.3:compile
[DEBUG]    org.mineacademy.plugin:MythicMobs:jar:5.2.1:compile
[DEBUG]    org.mineacademy.plugin:mcMMO:jar:2.1.218:compile
[DEBUG]    org.mineacademy.plugin:MultiverseCore:jar:4.3.9:compile
[DEBUG]    org.mineacademy.plugin:NuVotifier:jar:2.7.3:compile
[DEBUG]    org.mineacademy.plugin:PlaceholderAPI:jar:2.11.3:compile
[DEBUG]    org.mineacademy.plugin:ProtocolLib:jar:5.0.0-SNAPSHOT-607:compile
[DEBUG]    org.mineacademy.plugin:Residence:jar:5.1.0.1:compile
[DEBUG]    org.mineacademy.plugin:SimpleClans:jar:2.18.1:compile
[DEBUG]    org.mineacademy.plugin:Towny:jar:0.98.4.8:compile
[DEBUG]    org.mineacademy.plugin:TownyChat:jar:0.99:compile
[DEBUG]    org.mineacademy.plugin:Vault:jar:1.7.3:compile
[DEBUG]    org.mineacademy.plugin:WorldEdit:jar:7.2.13:compile
[DEBUG]    org.mineacademy.plugin:WorldGuard:jar:7.0.8:compile
[INFO] 
[INFO] �[1m--- �[0;32mclean:3.2.0:clean�[m �[1m(default-clean)�[m @ �[36mFoundation�[0;1m ---�[m
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=13900, ConflictMarker.markTime=41400, ConflictMarker.nodeCount=3, ConflictIdSorter.graphTime=5700, ConflictIdSorter.topsortTime=9200, ConflictIdSorter.conflictIdCount=3, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=174800, ConflictResolver.conflictItemCount=3, DfDependencyCollector.collectTime=12189400, DfDependencyCollector.transformTime=256700}
[DEBUG] org.apache.maven.plugins:maven-clean-plugin:jar:3.2.0
[DEBUG]    org.apache.maven.shared:maven-shared-utils:jar:3.3.4:compile
[DEBUG]       commons-io:commons-io:jar:2.6:compile
[DEBUG] Created new class realm plugin>org.apache.maven.plugins:maven-clean-plugin:3.2.0
[DEBUG] Importing foreign packages into class realm plugin>org.apache.maven.plugins:maven-clean-plugin:3.2.0
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-clean-plugin:3.2.0
[DEBUG]   Included: org.apache.maven.plugins:maven-clean-plugin:jar:3.2.0
[DEBUG]   Included: org.apache.maven.shared:maven-shared-utils:jar:3.3.4
[DEBUG]   Included: commons-io:commons-io:jar:2.6
[DEBUG] Loading mojo org.apache.maven.plugins:maven-clean-plugin:3.2.0:clean from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-clean-plugin:3.2.0, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@70dea4e]
[DEBUG] Configuring mojo execution 'org.apache.maven.plugins:maven-clean-plugin:3.2.0:clean:default-clean' with basic configurator -->
[DEBUG]   (f) directory = D:\workspace\Foundation\target
[DEBUG]   (f) excludeDefaultDirectories = false
[DEBUG]   (f) failOnError = true
[DEBUG]   (f) fast = false
[DEBUG]   (f) fastMode = background
[DEBUG]   (f) followSymLinks = false
[DEBUG]   (f) outputDirectory = D:\workspace\Foundation\target\classes
[DEBUG]   (f) reportDirectory = D:\workspace\Foundation\target\classes
[DEBUG]   (f) retryOnError = true
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@7569ea63
[DEBUG]   (f) skip = false
[DEBUG]   (f) testOutputDirectory = D:\workspace\Foundation\target\test-classes
[DEBUG] -- end configuration --
[INFO] Deleting D:\workspace\Foundation\target
[INFO] Deleting file D:\workspace\Foundation\target\generated-sources\delombok\org\mineacademy\fo\AnimationUtil.java
[INFO] Deleting directory D:\workspace\Foundation\target\generated-sources\delombok\org\mineacademy\fo
[INFO] Deleting directory D:\workspace\Foundation\target\generated-sources\delombok\org\mineacademy
[INFO] Deleting directory D:\workspace\Foundation\target\generated-sources\delombok\org
[INFO] Deleting directory D:\workspace\Foundation\target\generated-sources\delombok
[INFO] Deleting directory D:\workspace\Foundation\target\generated-sources
[INFO] Deleting directory D:\workspace\Foundation\target
[DEBUG] Skipping non-existing directory D:\workspace\Foundation\target\classes
[DEBUG] Skipping non-existing directory D:\workspace\Foundation\target\test-classes
[DEBUG] Skipping non-existing directory D:\workspace\Foundation\target\classes
[INFO] 
[INFO] �[1m--- �[0;32mlombok:1.18.20.0:delombok�[m �[1m(default)�[m @ �[36mFoundation�[0;1m ---�[m
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=16700, ConflictMarker.markTime=33700, ConflictMarker.nodeCount=5, ConflictIdSorter.graphTime=6700, ConflictIdSorter.topsortTime=10600, ConflictIdSorter.conflictIdCount=5, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=81700, ConflictResolver.conflictItemCount=5, DfDependencyCollector.collectTime=12317600, DfDependencyCollector.transformTime=161800}
[DEBUG] org.projectlombok:lombok-maven-plugin:jar:1.18.20.0
[DEBUG]    org.apache.commons:commons-lang3:jar:3.8.1:compile
[DEBUG]    org.projectlombok:lombok:jar:1.18.20:compile
[DEBUG]    org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile
[DEBUG]       org.codehaus.plexus:plexus-utils:jar:1.5.8:compile
[DEBUG] Created new class realm plugin>org.projectlombok:lombok-maven-plugin:1.18.20.0
[DEBUG] Importing foreign packages into class realm plugin>org.projectlombok:lombok-maven-plugin:1.18.20.0
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>org.projectlombok:lombok-maven-plugin:1.18.20.0
[DEBUG]   Included: org.projectlombok:lombok-maven-plugin:jar:1.18.20.0
[DEBUG]   Included: org.apache.commons:commons-lang3:jar:3.8.1
[DEBUG]   Included: org.projectlombok:lombok:jar:1.18.20
[DEBUG]   Included: org.sonatype.plexus:plexus-build-api:jar:0.0.7
[DEBUG]   Included: org.codehaus.plexus:plexus-utils:jar:1.5.8
[DEBUG] Loading mojo org.projectlombok:lombok-maven-plugin:1.18.20.0:delombok from plugin realm ClassRealm[plugin>org.projectlombok:lombok-maven-plugin:1.18.20.0, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@70dea4e]
[DEBUG] Configuring mojo execution 'org.projectlombok:lombok-maven-plugin:1.18.20.0:delombok:default' with basic configurator -->
[DEBUG]   (f) addOutputDirectory = false
[DEBUG]   (f) encoding = UTF-8
[DEBUG]   (f) outputDirectory = D:\workspace\Foundation\target\generated-sources\delombok
[DEBUG]   (f) pluginArtifacts = [org.projectlombok:lombok-maven-plugin:maven-plugin:1.18.20.0:, org.apache.commons:commons-lang3:jar:3.8.1:compile, org.projectlombok:lombok:jar:1.18.20:compile, org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile, org.codehaus.plexus:plexus-utils:jar:1.5.8:compile]
[DEBUG]   (f) pluginDescriptor = Component Descriptor: role: 'org.apache.maven.plugin.Mojo', implementation: 'lombok.maven.DelombokMojo', role hint: 'org.projectlombok:lombok-maven-plugin:1.18.20.0:delombok'
role: 'org.apache.maven.plugin.Mojo', implementation: 'lombok.maven.HelpMojo', role hint: 'org.projectlombok:lombok-maven-plugin:1.18.20.0:help'
role: 'org.apache.maven.plugin.Mojo', implementation: 'lombok.maven.TestDelombokMojo', role hint: 'org.projectlombok:lombok-maven-plugin:1.18.20.0:testDelombok'
---
[DEBUG]   (f) project = MavenProject: org.mineacademy:Foundation:6.3.5 @ D:\workspace\Foundation\pom.xml
[DEBUG]   (f) skip = false
[DEBUG]   (f) sourceDirectory = D:\workspace\Foundation\src\main\java
[DEBUG]   (f) verbose = false
[DEBUG] -- end configuration --
[DEBUG] Starting Delombok
[DEBUG] outputDirectory: D:\workspace\Foundation\target\generated-sources\delombok
[DEBUG] sourceDirectory: D:\workspace\Foundation\src\main\java
[DEBUG] sourcePath: D:\workspace\Foundation\src\main\java
[DEBUG] classpath: C:\Users\kangarko\.m2\repository\org\projectlombok\lombok\1.18.28\lombok-1.18.28.jar;C:\Users\kangarko\.m2\repository\org\apache\logging\log4j\log4j-core\2.20.0\log4j-core-2.20.0.jar;C:\Users\kangarko\.m2\repository\org\apache\logging\log4j\log4j-api\2.20.0\log4j-api-2.20.0.jar;C:\Users\kangarko\.m2\repository\org\spigotmc\spigot-api\1.19.4-R0.1-SNAPSHOT\spigot-api-1.19.4-R0.1-SNAPSHOT.jar;C:\Users\kangarko\.m2\repository\com\google\guava\guava\31.1-jre\guava-31.1-jre.jar;C:\Users\kangarko\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\kangarko\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\kangarko\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\kangarko\.m2\repository\org\checkerframework\checker-qual\3.12.0\checker-qual-3.12.0.jar;C:\Users\kangarko\.m2\repository\com\google\errorprone\error_prone_annotations\2.11.0\error_prone_annotations-2.11.0.jar;C:\Users\kangarko\.m2\repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;C:\Users\kangarko\.m2\repository\com\google\code\gson\gson\2.10\gson-2.10.jar;C:\Users\kangarko\.m2\repository\org\joml\joml\1.10.5\joml-1.10.5.jar;C:\Users\kangarko\.m2\repository\net\md-5\bungeecord-chat\1.16-R0.4\bungeecord-chat-1.16-R0.4.jar;C:\Users\kangarko\.m2\repository\org\yaml\snakeyaml\1.33\snakeyaml-1.33.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\AuthMe\5.6.0-SNAPSHOT-2595\AuthMe-5.6.0-SNAPSHOT-2595.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\BentoBox\1.22.0-SNAPSHOT-b2312\BentoBox-1.22.0-SNAPSHOT-b2312.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\CitizensAPI\2.0.30-b2816\CitizensAPI-2.0.30-b2816.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\CMIAPI\9.5.0.8\CMIAPI-9.5.0.8.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\DiscordSRV\1.26.1-SNAPSHOT-c6daaa5\DiscordSRV-1.26.1-SNAPSHOT-c6daaa5.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\EssentialsX\2.20.0-SNAPSHOT-1441\EssentialsX-2.20.0-SNAPSHOT-1441.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\Factions\3.3.3\Factions-3.3.3.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\FactionsUUID\1.6.9.5-U0.6.11-b287\FactionsUUID-1.6.9.5-U0.6.11-b287.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\MassiveCore\3.3.3\MassiveCore-3.3.3.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\MythicMobs\5.2.1\MythicMobs-5.2.1.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\mcMMO\2.1.218\mcMMO-2.1.218.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\MultiverseCore\4.3.9\MultiverseCore-4.3.9.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\NuVotifier\2.7.3\NuVotifier-2.7.3.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\PlaceholderAPI\2.11.3\PlaceholderAPI-2.11.3.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\ProtocolLib\5.0.0-SNAPSHOT-607\ProtocolLib-5.0.0-SNAPSHOT-607.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\Residence\5.1.0.1\Residence-5.1.0.1.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\SimpleClans\2.18.1\SimpleClans-2.18.1.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\Towny\0.98.4.8\Towny-0.98.4.8.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\TownyChat\0.99\TownyChat-0.99.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\Vault\1.7.3\Vault-1.7.3.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\WorldEdit\7.2.13\WorldEdit-7.2.13.jar;C:\Users\kangarko\.m2\repository\org\mineacademy\plugin\WorldGuard\7.0.8\WorldGuard-7.0.8.jar;C:\Users\kangarko\.m2\repository\org\projectlombok\lombok-maven-plugin\1.18.20.0\lombok-maven-plugin-1.18.20.0.jar;C:\Users\kangarko\.m2\repository\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar;C:\Users\kangarko\.m2\repository\org\projectlombok\lombok\1.18.20\lombok-1.18.20.jar;C:\Users\kangarko\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.7\plexus-build-api-0.0.7.jar;C:\Users\kangarko\.m2\repository\org\codehaus\plexus\plexus-utils\1.5.8\plexus-utils-1.5.8.jar;
[INFO] �[1m------------------------------------------------------------------------�[m
[INFO] �[1;31mBUILD FAILURE�[m
[INFO] �[1m------------------------------------------------------------------------�[m
[INFO] Total time:  5.785 s
[INFO] Finished at: 2023-06-06T11:06:57+02:00
[INFO] �[1m------------------------------------------------------------------------�[m
[ERROR] Failed to execute goal �[32morg.projectlombok:lombok-maven-plugin:1.18.20.0:delombok�[m �[1m(default)�[m on project �[36mFoundation�[m: �[1;31mUnable to delombok�[m: InvocationTargetException: var -> �[1m[Help 1]�[m
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal �[32morg.projectlombok:lombok-maven-plugin:1.18.20.0:delombok�[m �[1m(default)�[m on project �[36mFoundation�[m: �[1;31mUnable to delombok�[m
	at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:347)
	at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:330)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:175)
	at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:76)
	at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:163)
	at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:160)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:827)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:272)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:195)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to delombok
	at lombok.maven.AbstractDelombokMojo.execute(AbstractDelombokMojo.java:196)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
	at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:342)
	... 23 more
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at lombok.launch.Delombok.delombok(Delombok.java:50)
	at lombok.maven.AbstractDelombokMojo.execute(AbstractDelombokMojo.java:175)
	... 25 more
Caused by: java.lang.NoSuchFieldError: var
	at lombok.delombok.PrettyPrinter.visitForeachLoop(PrettyPrinter.java:1248)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCEnhancedForLoop.accept(JCTree.java:1232)
	at lombok.delombok.PrettyPrinter.print(PrettyPrinter.java:226)
	at lombok.delombok.PrettyPrinter.print(PrettyPrinter.java:240)
	at lombok.delombok.PrettyPrinter.visitBlock(PrettyPrinter.java:1125)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1088)
	at lombok.delombok.PrettyPrinter.print(PrettyPrinter.java:226)
	at lombok.delombok.PrettyPrinter.visitMethodDef(PrettyPrinter.java:851)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:912)
	at lombok.delombok.PrettyPrinter.print(PrettyPrinter.java:226)
	at lombok.delombok.PrettyPrinter.printClassMembers(PrettyPrinter.java:611)
	at lombok.delombok.PrettyPrinter.visitClassDef(PrettyPrinter.java:550)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:810)
	at lombok.delombok.PrettyPrinter.print(PrettyPrinter.java:226)
	at lombok.delombok.PrettyPrinter.visitTopLevel(PrettyPrinter.java:482)
	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:549)
	at lombok.delombok.DelombokResult.print(DelombokResult.java:74)
	at lombok.delombok.Delombok.delombok(Delombok.java:819)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	... 28 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] �[1m[Help 1]�[m http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[DEBUG] Shutting down adapter factory; available factories [file-lock, rwlock-local, semaphore-local, noop]; available name mappers [discriminating, file-gav, file-hgav, file-static, gav, static]
[DEBUG] Shutting down 'file-lock' factory
[DEBUG] Shutting down 'rwlock-local' factory
[DEBUG] Shutting down 'semaphore-local' factory
[DEBUG] Shutting down 'noop' factory

Aggregator goal for generating sources

Related to SO 29563593.

I am trying to compile aggregated javadocs for a multimodule Maven project.
The parent project has a packaging of pom and it seems like Maven will not run any of the standard goals.

I am proposing to add a goal to lombok-maven-plugin annotated with @aggregator, which would

  • delombok aggregated sources
  • add those to the sourcepath

If everything works out as planned, this could then be processed by the maven-javadoc-plugin.

Unable to detect tools.jar (JDK 10)

In lombok-maven-plugin:1.18.0.0:delombok the plugin throws a soft warning stating that the tools.jar cannot be found. This has been removed since JDK 9.

The warning is followed by a more serious warning which may not be a result of this plugin but the lombok project. I don't know what the problem is so i'll post it in this issue.

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by lombok.javac.JavacTreeMaker$TypeTag to method com.sun.tools.javac.code.Type.getTag()
WARNING: Please consider reporting this to the maintainers of lombok.javac.JavacTreeMaker$TypeTag
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Add testDelombok goal

Similar to many other Maven Plugins, consider adding testDelombok goal that acts similarly to the delombok goal, except that it can be run against the test tree.

tag 0.11.4.0: Incompatible argument to function

Hey,

there is an error in 0.11.4.0. After checkout and running "mvn generate-sources" the following error occures:

[INFO] Building Sample Lombok Maven Project 0.11.4.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ test-maven-lombok ---
[INFO]
[INFO] --- lombok-maven-plugin:0.11.4.0:delombok (delombok) @ test-maven-lombok ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Maven Plugin for Project Lombok ................... SUCCESS [0.711s]
[INFO] Lombok Maven Plugin ............................... SUCCESS [1.701s]
[INFO] Sample Lombok Maven Project ....................... FAILURE [0.195s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.838s
[INFO] Finished at: Thu Aug 16 13:58:14 CEST 2012
[INFO] Final Memory: 11M/212M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.projectlombok:lombok-maven-plugin:0.11.4.0:delombok (delombok) on project test-maven-lombok: Execution delombok of goal org.projectlombok:lombok-maven-plugin:0.11.4.0:delombok failed: An API incompatibility was encountered while executing org.projectlombok:lombok-maven-plugin:0.11.4.0:delombok: java.lang.VerifyError: (class: lombok/delombok/Delombok, method: delombok signature: ()Z) Incompatible argument to function

If I use tag 0.11.2.0 all works fine.

Regards,
Liv

Cannot find symbol during delombok

I am getting cannot find symbol during the delombok of the plugin which although seem to benign are confusing. The file gets delombok'd anyways, and the compile phase continues properly however its just unsettling seeing errors in the logs.

The symbols that it is trying to find which are not present exist in transitive dependencies of the maven project being delomboked.

Here is my current setting for the plugin:

<plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>1.16.8.0</version>
    <executions>
        <execution>
            <id>default-delombok</id>
            <phase>generate-sources</phase>
            <goals><goal>delombok</goal></goals>
            <configuration>
                <sourceDirectory>src/main-lombok</sourceDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

Minimum Java Requirements (Poll)

Considering that many build plugins and dependencies now require a minimum of Java 8, I would like to reconsider the Java requirements for this project.

Minimum Java Requirements have two dimensions:

  1. Build requirement - This Java version is the minimum that is required when building the lombok.maven project. This does not impact users of the lombok-maven-plugin. Currently, this is Java 7.
  2. Runtime requirement - This Java version is the minimum that is required for using the lombok-maven-plugin in your own project. Currently, this is Java 7. (Note that Project Lombok attempts to still maintain compatibility with Java 6.)

Given that it is 2019 and Java 12 is now available, specifying a minimum Java requirement for Java 8 seems prudent to me. Note that folks needing Java 7 (or Java 6) compatibility can simply continue to use an older version of the lombok-maven-plugin.

Before making this change, I'd like to open a poll:



Missing class JCTree$JCCompilationUnit inside Eclipse

Hi there,
I'm having a strange issue with latest releases. Everything seems to work fine outside Eclipse, but the maven container inside Eclipse now complains about

org.apache.maven.plugin.PluginContainerException: A required class was missing while executing org.projectlombok:lombok-maven-plugin:1.16.20.0:delombok: com/sun/tools/javac/tree/JCTree$JCCompilationUnit

I tried upgrading to the latest release and that does not solve it.

It's not critical, as I can still run maven, even inside Eclipse, and it works fine. It just looks weird having the project tagged as "broken" when there is nothing wrong with it.

build fails as compiler version from properties is ignored, depends on maven-compiler-plugin

I have tried to build a lombokized project with OpenJDK 11 and it failed, because I have specified the javac version to be used over the shorter properties, which I prefer to including the maven-compiler-plugin just to set it (this way I have it all in one place):

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>11</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
    </properties>

However, the plugin failed with the well-known error that happens when using an older Lombok or javac version:

Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.code.TypeTags
   at java.lang.ClassLoader.findClass (ClassLoader.java:718)
   at java.lang.ClassLoader.loadClass (ClassLoader.java:588)
   at lombok.launch.ShadowClassLoader.loadClass (ShadowClassLoader.java:418)

When configuring over the maven-compiler-plugin, it worked.
So the lombok-maven-plugin should evaluate the standard Maven properties for setting the compiler version, too, and not rely on the maven-compiler-plugin.

Plugin should not log "Skipping Delombok" with WARN level

Hi,

In our Maven configuration we usually have some kind of quick build profile, which is executed with Maven's quiet flag. This allows our developers to build the whole project as quickly as possible. As we use the Lombok Maven plugin only as a JavaDoc "preprocessor", we skip it as well.

Howver, we noticed that the Plugin logs a WARN message during these builds.

[WARN] Skipping Delombok

As far as I can tell, this is unusual and I don't know of any other plugins doing that. Take a look at the Maven JavaDoc plugin for instance (https://github.com/apache/maven-javadoc-plugin/blob/master/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java). The skipping is logged, but only on INFO level:

if ( skip )
{
  getLog().info( "Skipping javadoc generation" );
  return;
}

I think it would be sufficient if the Lombok plugin would only log on INFO as well.

Thank you and best regards

Nils

Lombok maven plugin error: module not found for every dependency specified in module-info.java

Hello, I'm using this plugin on Java 15 as I need to generate javadocs for my project. This is my module info:

module NativeWhatsapp4j {
    requires com.fasterxml.jackson.databind;
    requires org.jetbrains.annotations;
    requires jakarta.websocket;
    requires static lombok;
    requires io.soabase.record.builder.core;
    requires grizzly.framework;
    requires jakarta.xml.bind;
    requires curve25519.java;
    requires xmlgraphics.commons;
    requires hkdf;
    requires java.desktop;
    requires javase;
    requires com.google.protobuf;
    requires java.prefs;
    requires tyrus.core;
    requires reflections;
    requires java.compiler;
}

This is how I configured my pom:

<build>
        <plugins>
            <!-- Delombok -->
            <plugin>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok-maven-plugin</artifactId>
                <version>1.18.18.0</version>
                <configuration>
                    <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                    <outputDirectory>${delombok.output}</outputDirectory>
                    <addOutputDirectory>false</addOutputDirectory>
                    <encoding>UTF-8</encoding>
                </configuration>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>delombok</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Compiler -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin-version}</version>
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                    <release>${java-version}</release>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok-version}</version>
                        </path>
                        <path>
                            <groupId>io.soabase.record-builder</groupId>
                            <artifactId>record-builder-processor</artifactId>
                            <version>${record-builder-version}</version>
                        </path>
                    </annotationProcessorPaths>
                    <compilerArguments>
                        <AaddGeneratedAnnotation>false</AaddGeneratedAnnotation>
                        <Adebug>true</Adebug>
                    </compilerArguments>
                    <compilerArgs>
                        <arg>--enable-preview</arg>
                        <arg>--add-exports=lombok/lombok.extern.jackson=NativeWhatsapp4j</arg>
                    </compilerArgs>
                    <failOnError>true</failOnError>
                </configuration>
            </plugin>

            <!-- Attach sources and javadocs -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <release>${java-version}</release>
                            <sourcepath>${delombok.output}:${project.build.directory}\generated-sources\annotations</sourcepath>
                            <additionalOptions>--enable-preview --add-exports=lombok/lombok.extern.jackson=NativeWhatsapp4j</additionalOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- Deploy -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <executions>
                    <execution>
                        <id>default-deploy</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>deploy</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6.7</version>
                <extensions>true</extensions>
                <configuration>
                    <serverId>ossrh</serverId>
                    <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose>
                </configuration>
            </plugin>
        </plugins>
    </build>

When I compile, the plugin fails to generate the delomboked classes with these errors:

[INFO] --- lombok-maven-plugin:1.18.18.0:delombok (default) @ whatsappweb4j ---
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:2: error: module not found: com.fasterxml.jackson.databind
    requires com.fasterxml.jackson.databind;
                                  ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:3: error: module not found: org.jetbrains.annotations
    requires org.jetbrains.annotations;
                          ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:4: error: module not found: jakarta.websocket
    requires jakarta.websocket;
                    ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:5: error: module not found: lombok
    requires static lombok;
                    ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:6: error: module not found: io.soabase.record.builder.core
    requires io.soabase.record.builder.core;
                                      ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:7: error: module not found: grizzly.framework
    requires grizzly.framework;
                    ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:8: error: module not found: jakarta.xml.bind
    requires jakarta.xml.bind;
                        ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:9: error: module not found: curve25519.java
    requires curve25519.java;
                       ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:10: error: module not found: xmlgraphics.commons
    requires xmlgraphics.commons;
                        ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:11: error: module not found: hkdf
    requires hkdf;
             ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:13: error: module not found: javase
    requires javase;
             ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:14: error: module not found: com.google.protobuf
    requires com.google.protobuf;
                       ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:16: error: module not found: tyrus.core
    requires tyrus.core;
                  ^
C:\Users\alaut\NativeWhatsapp4j\src\main\java\module-info.java:17: error: module not found: reflections
    requires reflections;

As you can see it's as if the plugin cannot see the dependencies. The project obviously compiles perfectly without using this plugin. This error also occurs using the CLI version of this tool

Plugin fails on Ubuntu/OpenJDK 10/Jigsaw

Hi,
thanks a lot for the great plugin! I believe I found an issue with OpenJDK 10 on Ubuntu/Debian, where the plugin will fail to work correctly claiming that lombok is not on the module path

it does not find the module lombok, neither does it find any of it's annotations. even if they are there. The problem exists in regardless if lombok is a dependency with compile/runtime/provided scope.

I've created a sample project here to expose the issue.
Sorry, if this is not an actual bug but just a misuse of the plugin. I've tried to get it working for over four hours without success, so I believe it is a bug.

(BTW: compiling the project directly in java with --processor-module-path works just fine, so I suspect it's not a problem of lombok itself)

Delomboking Fails with Multiple Source Folders

Heya!

I'm working on a Spring Boot application and, as part of it, generate some code based on an API schema (with openapi-generator). The templates I have for this work great and take advantage of @Data and some other Lombok annotations, as does my main source code.

With openapi-generator, it dumps all of its created source code into /target/generated-sources/api (and adds it to the build path). My normal sources are in /src/main/java, however, so I cannot delombok all of this at once.

Here is my attempted Maven configuration:

<plugin>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok-maven-plugin</artifactId>
  <version>${lombok-maven-plugin.version}</version>
  <configuration>
    <addOutputDirectory>false</addOutputDirectory>
  </configuration>
  <executions>
    <execution>
      <id>delombok-openapi</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>delombok</goal>
      </goals>
      <configuration>
        <sourceDirectory>${project.build.directory}/generated-sources/api</sourceDirectory>
        <outputDirectory>${project.build.directory}/generated-sources/delombok</outputDirectory>
      </configuration>
    </execution>
    <execution>
      <id>delombok-main</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>delombok</goal>
      </goals>
      <configuration>
        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
        <outputDirectory>${project.build.directory}/generated-sources/delombok/src/main/java</outputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>

This will successfully delombok the generated API sources (delombok-openapi), however, as soon as it attempts to delombok the src/main/java sources (delombok-main), it cannot find any of the lombok-generated methods (getters, setters, etc) that should have been generated in the delombok-openapi step (or at least generated at that point, since either delombok execution should be able to generate all the setters/etc?).

Without this plugin's executions my build works fine, so the code itself is (somehow) working. Both folders of code rely on each other and both use Lombok, so I'm not sure why it's so picky. Swapping the execution order changes nothing (it's still main with the issues).

Plugin moves annotations

Take this simple test class:

import lombok.Getter;

public class test {
    @Getter
    public static @Deprecated long value = 0;
}

After invocation of delombok it becomes:

public class test {
    @Deprecated
    public static long value = 0;

    @java.lang.Deprecated
    @java.lang.SuppressWarnings("all")
    public static long getValue() {
        return test.value;
    }
}

I would have expected:

public class test {
    public static @Deprecated long value = 0;

    @java.lang.Deprecated
    @java.lang.SuppressWarnings("all")
    public static long getValue() {
        return test.value;
    }
}

For some things it makes a difference, such as the https://checkerframework.org, which will complain [type.anno.before.modifier] write type annotation @s() immediately before type, after modifiers [public] if the annotations are moved.

and this basic maven pom:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>test</artifactId>
    <version>0.0.1</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok-maven-plugin</artifactId>
                <version>1.18.20.0</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>delombok</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Delombok fails on Java 21

While there's a work-around for Java 17, delombok-ing does not work for Java 21. I used sdkman to download and install Graal CE v21. Then I tried to compile a project of mine, see output.

❯ sdk install java 21-graalce

Downloading: java 21-graalce

In progress...

############################################################################################################################################################################################ 100.0%

Repackaging Java 21-graalce...

Done repackaging...

Installing: java 21-graalce
lchmod (file attributes) error: Operation not supported
lchmod (file attributes) error: Operation not supported
lchmod (file attributes) error: Operation not supported
Done installing!

Do you want java 21-graalce to be set as default? (Y/n): Y

Setting java 21-graalce as default.
❯ mvn clean package
Running `/home/cphillipson/Documents/development/pivotal/cf/cf-butler/mvnw`...
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------< io.pivotal:cf-butler >------------------------
[INFO] Building cf-butler 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- clean:3.2.0:clean (default-clean) @ cf-butler ---
[INFO] Deleting /home/cphillipson/Documents/development/pivotal/cf/cf-butler/target
[INFO] 
[INFO] --- git-commit-id:4.9.10:revision (get-the-git-infos) @ cf-butler ---
[INFO] 
[INFO] --- jacoco:0.8.10:prepare-agent (before-unit-test-execution) @ cf-butler ---
[INFO] surefire.jacoco.args set to -javaagent:/home/cphillipson/.m2/repository/org/jacoco/org.jacoco.agent/0.8.10/org.jacoco.agent-0.8.10-runtime.jar=destfile=/home/cphillipson/Documents/development/pivotal/cf/cf-butler/target/jacoco-output/jacoco-unit-tests.exec
[INFO] 
[INFO] --- lombok:1.18.20.0:delombok (delombok) @ cf-butler ---
Creating empty directory: /home/cphillipson/Documents/development/pivotal/cf/cf-butler/target/generated-sources/delombok/io/pivotal/cfapp/hints
Note: Annotation processing is enabled because one or more processors were found
  on the class path. A future release of javac may disable annotation processing
  unless at least one processor is specified by name (-processor), or a search
  path is specified (--processor-path, --processor-module-path), or annotation
  processing is enabled explicitly (-proc:only, -proc:full).
  Use -Xlint:-options to suppress this message.
  Use -proc:none to disable annotation processing.
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/domain/ServiceInstanceDetail.java:53: error: cannot find symbol
    public static ServiceInstanceDetailBuilder from(ServiceInstanceDetail detail) {
                  ^
  symbol:   class ServiceInstanceDetailBuilder
  location: class io.pivotal.cfapp.domain.ServiceInstanceDetail
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/domain/AppDetail.java:56: error: cannot find symbol
    public static AppDetailBuilder from(AppDetail detail) {
                  ^
  symbol:   class AppDetailBuilder
  location: class io.pivotal.cfapp.domain.AppDetail
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/controller/DormantWorkloadsController.java:11: error: cannot find symbol
import io.pivotal.cfapp.domain.Workloads.WorkloadsBuilder;
                                        ^
  symbol:   class WorkloadsBuilder
  location: class io.pivotal.cfapp.domain.Workloads
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/controller/LegacyWorkloadsController.java:11: error: cannot find symbol
import io.pivotal.cfapp.domain.Workloads.WorkloadsBuilder;
                                        ^
  symbol:   class WorkloadsBuilder
  location: class io.pivotal.cfapp.domain.Workloads
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/service/ApplicationReporter.java:26: error: cannot find symbol
import io.pivotal.cfapp.domain.accounting.application.AppUsageMonthly.AppUsageMonthlyBuilder;
                                                                     ^
  symbol:   class AppUsageMonthlyBuilder
  location: class io.pivotal.cfapp.domain.accounting.application.AppUsageMonthly
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/service/ApplicationReporter.java:28: error: cannot find symbol
import io.pivotal.cfapp.domain.accounting.application.AppUsageReport.AppUsageReportBuilder;
                                                                    ^
  symbol:   class AppUsageReportBuilder
  location: class io.pivotal.cfapp.domain.accounting.application.AppUsageReport
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/service/ServiceInstanceReporter.java:27: error: cannot find symbol
import io.pivotal.cfapp.domain.accounting.service.NormalizedServicePlanMonthlyUsage.NormalizedServicePlanMonthlyUsageBuilder;
                                                                                   ^
  symbol:   class NormalizedServicePlanMonthlyUsageBuilder
  location: class io.pivotal.cfapp.domain.accounting.service.NormalizedServicePlanMonthlyUsage
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/task/HygienePolicyExecutorTask.java:24: error: cannot find symbol
import io.pivotal.cfapp.domain.Workloads.WorkloadsBuilder;
                                        ^
  symbol:   class WorkloadsBuilder
  location: class io.pivotal.cfapp.domain.Workloads
/home/cphillipson/Documents/development/pivotal/cf/cf-butler/src/main/lombok/io/pivotal/cfapp/task/LegacyWorkloadReportingTask.java:24: error: cannot find symbol
import io.pivotal.cfapp.domain.Workloads.WorkloadsBuilder;
                                        ^
  symbol:   class WorkloadsBuilder
  location: class io.pivotal.cfapp.domain.Workloads
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.568 s
[INFO] Finished at: 2023-09-20T10:24:55-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.projectlombok:lombok-maven-plugin:1.18.20.0:delombok (delombok) on project cf-butler: Unable to delombok: InvocationTargetException: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid' -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Key error seems to be

Unable to delombok: InvocationTargetException: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'

Delombok plugin fails with Java 20+

When trying to use delombok plugin with Java 20, I get the following error:
[ERROR] Failed to execute goal org.projectlombok:lombok-maven-plugin:1.18.20.0:delombok (default) on project flowlogix-jee: Unable to delombok: InvocationTargetException: var -> [Help 1]

Thank you!

Synchronize releases with lombok releases

I am really interested in using this plugin in my project. as I realized the past few days that my maven-exec-plugin solution was a little more fragile than I thought. However this plugin is getting out of sync with the lombok releases, which do to a bug in the Lombok 0.9.3 release prevents me from generating javadoc correctly.

I know that two days ago the project was updated to use 0.10.0-RC3, but can the project be released on maven central with this change? This would really help those who need features available only in recent versions but also need Javadoc

Incorrect checksum in 1.16.2.0

Checksum of the dowloaded artifact does not match the checksum in Maven metadata. If you set Maven preference to fail on bad checksums, it'll fail.

This seems like high priority since systems verifying the dependencies with --strict-checksums will fail.

Delombok fails on JDK 17

When running on Adoptium JDK 17.0.1.12 delombok task fails with such an error:

[ERROR] Failed to execute goal org.projectlombok:lombok-maven-plugin:1.18.20.0:delombok (default) on project xxx-yyy-war: Unable to delombok: InvocationTargetException: Cannot read field "bindingsWhenTrue" because "currentBindings" is null -> [Help 1]

Lombok 1.18.20 has similar issue, but it is solved in Lombok 1.18.22+.

Command used:

mvn clean install javadoc:javadoc

Plugin setup:

<plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>1.18.20.0</version>
    <configuration>
        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
        <outputDirectory>${project.build.directory}/generated-sources/delombok</outputDirectory>
        <addOutputDirectory>false</addOutputDirectory>
    </configuration>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>delombok</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <configuration>
        <sourcepath>${project.build.directory}/generated-sources/delombok</sourcepath>
    </configuration>
</plugin>

delombok sources in src/main/java rather than src/main/lombok

I have all the java sources in src/main/java directory. I want to be able to delombok them without changing the directory to src/main/lombok. I tried to use sourceDirectory parameter by setting it to "src/main/java", but I get a lot of "duplicate class" errors. I think the errors appear, because maven is trying to build from src/main/java and target/generated-sources/delombok at the same time.

Would it be possible to add a configuration parameter that would delombok the source code in src/main/java directory and continue the compilation only with the generated sources (ie. omitting original src/main/java)?

support multiple sourceDirectory

support multiple sourceDirectory, somethig like build-helper-maven-plugin do

<sourceDirectory>src1,src2</sourceDirectory>

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>${build-helper-maven-plugin.version}</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>${source.srcMainJava}</source>
                    <source>${source.srcMainJavaGen}</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>${lombok-maven-plugin.version}</version>
    <configuration>
        <addOutputDirectory>false</addOutputDirectory>
        <sourceDirectory>${source.srcMainJava},${source.srcMainJavaGen}</sourceDirectory>
        <outputDirectory>${source.srcMainDelombok}</outputDirectory>
    </configuration>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>delombok</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>
    </dependencies>
</plugin>

Request to support lombok-pg

I was wondering if it would be possible to get lombok-pg support? Would be nice if the generated source supported builder annotation from that project.

Recommend binding to process-sources instead of generate-sources

In the documentation it is recommended to bind the delombok goal to generate-sources. I've noticed though that when doing this delombok runs all the time, especially in multi-module projects.

When binded though to the processes-sources phase it seems to run much less frequently but still give the desired output (my use is for Javadocs and site generation). This seems like it would be a much better option

Is there any disadvantages of binding to process-sources vs generate-sources that I'm missing? If not, could the recommended phase be changed in the documentation?

Does not support Java 16 even when running lombok that does

Lombok added support for Java 16 here: projectlombok/lombok@9806e5c

Even manually adding this version as a depend to the Maven plugin however suffers from the same issue prior to that lombok commit.

[ERROR] Failed to execute goal org.projectlombok:lombok-maven-plugin:1.18.18.0:delombok (default) on project bungeecord-chat: Execution default of goal org.projectlombok:lombok-maven-plugin:1.18.18.0:delombok failed: An API incompatibility was encountered while executing org.projectlombok:lombok-maven-plugin:1.18.18.0:delombok: java.lang.IllegalAccessError: class lombok.delombok.Delombok (in unnamed module @0x1aed255e) cannot access class com.sun.tools.javac.tree.JCTree$JCCompilationUnit (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.tree to unnamed module @0x1aed255e
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.projectlombok:lombok-maven-plugin:1.18.18.0
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/user/.m2/repository/org/projectlombok/lombok-maven-plugin/1.18.18.0/lombok-maven-plugin-1.18.18.0.jar
[ERROR] urls[1] = file:/home/user/.m2/repository/org/projectlombok/lombok/edge-SNAPSHOT/lombok-edge-SNAPSHOT.jar
[ERROR] urls[2] = file:/home/user/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar
[ERROR] urls[3] = file:/home/user/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
[ERROR] urls[4] = file:/home/user/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

FATAL ERROR Null charset name

What steps will reproduce the problem?

  1. call mvn clean compile on maven project with maven-lombok-plugin configured

What is the expected output? What do you see instead?
I don't know expected output, but I receive error:
[INFO] [lombok:delombok {execution: default}]
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Null charset name
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalArgumentException: Null charset name
at java.nio.charset.Charset.lookup(Charset.java:429)
at java.nio.charset.Charset.forName(Charset.java:502)
at lombok.delombok.Delombok.setCharset(Delombok.java:171)
at lombok.maven.DelombokMojo.execute(DelombokMojo.java:80)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

What version of the product are you using? On what operating system?

org.projectlombok maven-lombok-plugin 0.9.3.1 ... org.projectlombok maven-lombok-plugin generate-sources delombok sun.jdk tools 1.6 system ${java.home}/../lib/tools.jar

Configue tests sources root

In some way related to #7.

Please add an option for configuring test sources.

<testSourceDirectory>src/test/java</testSourceDirectory>

add option to not attach outputDirectory to compiler inputs

In order to delombok sources from the main sources or test sources for informational purposes, I can provide an execution

                <execution>
                    <id>delombok</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>delombok</goal>
                    </goals>
                    <configuration>
                        <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                        <outputDirectory>${project.build.directory}/delomboked</outputDirectory>
                    </configuration>
                </execution>

Though "out of the way", that is, not in ${project.build.directory}/generated-classes, this new path is still (obviously mandatorily) provided to the compiler. There should be an option to except these generated sources from compiling.

As a work-around, I attached the execution to the pre-clean phase in order to provide a valid project configuration in every lifecycle step.

Combine src/main/java with src/main/lombok

With 0.10.0.0, if the lombok code (residing in src/main/lombok) references java code residing in src/main/java, delombok generates warnings that classes can not be resolved.

Upon further investigation, I think I finally understand what sourcePath is supposed to be...

Plugin fails to delombok anonymous instance of inner class

Code example is as follows:

public class A {
     @AllArgsConstructor public class B {
             String s;
     }
}
public class C {
     @Value public class D {
            A a;

            public B test(String s) {
                   return a.new B(s) {} // This is the part that won't compile
            }
     }
}

The generated code fails to compile. This case works in the Lombok compiler. I am on the newest version of the plugin .

StandardException not supported

Lombok v1.18.21 adds StandardException. When I delombok my project, I get the following error on a class annotated with StandardException:

E:\IntelliJWorkspace\VehiclesPlus-v3\API\src\main\java\nl\sbdeveloper\vehiclesplus\api\vehicles\impl\StorageVehicle.java:135: error: constructor UnsupportedTrunkSizeException in class nl.sbdeveloper.vehiclesplus.api.exceptions.UnsupportedTrunkSizeException cannot be applied to given types;
                throw new UnsupportedTrunkSizeException("BaseVehicle " + getVehicleModel().getId() + " has an invalid trunk size.");
                      ^
  required: no arguments
  found: java.lang.String
  reason: actual and formal argument lists differ in length

This will probably be fixed by #162.

The documentation is lacking

It took me hours to make this plugin work, spending lot of time moving back and forth between different pages, only to find out the best information lies in Issues and a google group. Please make the learning process straightforward and documentation helpful by wring a getting started guide and FAQs, and put in in the standard place: Readme.md. (I would write it and make a pull request but some one else would do it better)

Support multiple sourcePath elements

Certain plugins that perform code generation (like Antlr, Castor, JAXB, etc.) will generate source code in target/generated-sources/ and that source code needs to be included in the sourcePath for delombok to avoid unresolved reference warnings during delombok.

the travis CI is borked for Java 7-9

The command "~/bin/install-jdk.sh --target "/home/travis/openjdk7" --workspace "/home/travis/.cache/install-jdk" --feature "7" --license "GPL" --cacerts" failed and exited with 3 during .

java 11 var

Delombok is treating java 11 var as lombok var and generating code that looks like /*missing*/ grouped = blabla.get(id);

I suppose that just checking for a lombok var import would fix the prob.

Delombok does not work in Java 9

Running Maven 3.5.0 with OpenJDK 9 (build 9-Ubuntu+0-9b181-4 on Ubuntu 17.10).
All normal JDK functions work thanks to the use of lombok 1.16.19/edge. I assume this maven plugin does not use that lombok version yet?

Please see the following issue why lombok-edge is included as a file dependency:
projectlombok/lombok#985

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for net.cubekrowd:eventstorageapi:jar:0.5.0
[WARNING] 'dependencies.dependency.systemPath' for org.projectlombok:lombok:jar should not point at files within the project directory, ${project.basedir}/src/main/resources/lombok-edge.jar will be unresolvable by dependent projects @ line 63, column 25
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building eventstorageapi 0.5.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- lombok-maven-plugin:1.16.18.1:delombok (default-cli) @ eventstorageapi ---
[WARNING] Unable to detect tools.jar; java.home is /usr/lib/jvm/java-9-openjdk-amd64
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.980 s
[INFO] Finished at: 2017-12-20T13:35:09+01:00
[INFO] Final Memory: 9M/30M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.projectlombok:lombok-maven-plugin:1.16.18.1:delombok (default-cli) on project eventstorageapi: Unable to delombok: InvocationTargetException: text -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.projectlombok:lombok-maven-plugin:1.16.18.1:delombok (default-cli) on project eventstorageapi: Unable to delombok
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:993)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:345)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to delombok
    at lombok.maven.AbstractDelombokMojo.execute (AbstractDelombokMojo.java:192)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:993)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:345)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: java.lang.reflect.InvocationTargetException
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at lombok.launch.Delombok.delombok (Delombok.java:50)
    at lombok.maven.AbstractDelombokMojo.execute (AbstractDelombokMojo.java:171)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:993)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:345)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: java.lang.NoSuchFieldError: text
    at lombok.javac.Javac8BasedLombokOptions.putJavacOption (Javac8BasedLombokOptions.java:42)
    at lombok.delombok.Delombok.delombok (Delombok.java:472)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at lombok.launch.Delombok.delombok (Delombok.java:50)
    at lombok.maven.AbstractDelombokMojo.execute (AbstractDelombokMojo.java:171)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:993)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:345)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException```

Plugin on central repositories

Version 1.18.8.0 has been published 10 days ago. However, it is not yet available on main repositories such as Maven Central or JCenter. How long does it take to have it available in such repositories ?

Maybe it is available on other repositories ? I don't find one on the plugin site...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.