diff options
-rw-r--r-- | build.xml | 11 | ||||
-rw-r--r-- | buildScripts/ivy.xml | 3 | ||||
-rw-r--r-- | doc/changelog.markdown | 1 | ||||
-rw-r--r-- | src/core9/module-info.java | 2 |
4 files changed, 12 insertions, 5 deletions
@@ -112,7 +112,7 @@ the common tasks and can be called on to run the main aspects of all the sub-scr </target> <target name="ensureBuildDeps" depends="config-ivy,ensureOpenJdk6Rt"> - <ivy:resolve file="buildScripts/ivy.xml" refresh="true" conf="build, javac7" /> + <ivy:resolve file="buildScripts/ivy.xml" refresh="true" conf="build, javac7, moduleBuild" /> <ivy:retrieve /> </target> @@ -246,15 +246,18 @@ the common tasks and can be called on to run the main aspects of all the sub-scr <classpath refid="build.path" /> </ivy:compile> - <ivy:compile destdir="build/lombok" source="1.9" target="1.9"> + <javac includeAntRuntime="false" source="1.9" target="1.9" destdir="build/lombok" modulepath="lib/moduleBuild"> <compilerarg value="-Xlint:none" /> <!-- The above is because javac9 warns about 'service interface provided but not exported or used', probably because lombok uses SPI internally, and uses the 'old' classpath discovery system for it. We're fine with this, hence, ignore this warning. --> <src path="src/core9" /> + </javac> + <mkdir dir="build/lombokMapstruct" /> + <javac includeAntRuntime="false" source="1.9" target="1.9" destdir="build/lombokMapstruct"> <src path="src/j9stubs" /> <!-- This includes org.mapstruct.ap.spi.AstModifyingAnnotationProcessor; putting this on the classpath doesn't work (needs to be internal or a module) so we just add it and then delete the class file for convenience. --> - </ivy:compile> + </javac> <mkdir dir="build/lombok/secondaryLoading.SCL.lombok/org/mapstruct/ap/spi" /> - <move file="build/lombok/org/mapstruct/ap/spi/AstModifyingAnnotationProcessor.class" tofile="build/lombok/secondaryLoading.SCL.lombok/org/mapstruct/ap/spi/AstModifyingAnnotationProcessor.SCL.lombok" /> + <move file="build/lombokMapstruct/org/mapstruct/ap/spi/AstModifyingAnnotationProcessor.class" tofile="build/lombok/secondaryLoading.SCL.lombok/org/mapstruct/ap/spi/AstModifyingAnnotationProcessor.SCL.lombok" /> <ivy:compile destdir="build/lombok/Class50" source="1.5" target="1.6" ecj="true" nowarn="true" includeSystemBootclasspath="true"> <bootclasspath location="build/stubs" /> diff --git a/buildScripts/ivy.xml b/buildScripts/ivy.xml index c1ddc6fd..4eed2fa6 100644 --- a/buildScripts/ivy.xml +++ b/buildScripts/ivy.xml @@ -5,6 +5,7 @@ <conf name="netbeansBuild" /> <conf name="buildBase" extends="netbeansBuild, javac6" /> <conf name="build" extends="buildBase, eclipseBuild" /> + <conf name="moduleBuild" /> <conf name="buildWithoutEclipse" extends="buildBase" /> <conf name="runtime" /> <conf name="test" extends="runtime" /> @@ -64,5 +65,7 @@ <dependency org="com.jcraft" name="jsch" rev="0.1.54" conf="supporters->default" /> <dependency org="com.rimerosolutions.ant" name="ant-git-tasks" rev="1.3.2" conf="supporters->default" /> <dependency org="org.slf4j" name="slf4j-simple" rev="1.6.1" conf="supporters->default" /> + + <dependency org="org.mapstruct" name="mapstruct-processor" rev="1.3.0.Beta1" conf="moduleBuild->default" /> </dependencies> </ivy-module> diff --git a/doc/changelog.markdown b/doc/changelog.markdown index 21e385be..6ba673ad 100644 --- a/doc/changelog.markdown +++ b/doc/changelog.markdown @@ -4,6 +4,7 @@ Lombok Changelog ### v1.18.3 "Edgy Guinea Pig" * FEATURE: The `@FieldNameConstants` feature has been completely redesigned. [Issue #1774](https://github.com/rzwitserloot/lombok/issues/1774) [FieldNameConstants documentation](https://projectlombok.org/features/experimental/FieldNameConstants) * BUGFIX: When using lombok to compile modularized (`module-info.java`-style) code, if the module name has dots in it, it wouldn't work. [Issue #1808](https://github.com/rzwitserloot/lombok/issues/1808) +* BUGFIX: Errors about lombok not reading a module providing `org.mapstruct.ap.spi` when trying to use lombok in jigsaw-mode on JDK 11. [Issue #1806](https://github.com/rzwitserloot/lombok/issues/1806) ### v1.18.2 (July 26th, 2018) * BUGFIX: mapstruct + lombok in eclipse should hopefully work again. [Issue #1359](https://github.com/rzwitserloot/lombok/issues/1359) and [mapstruct issue #1159](https://github.com/mapstruct/mapstruct/issues/1159) diff --git a/src/core9/module-info.java b/src/core9/module-info.java index f4d5815f..56e54270 100644 --- a/src/core9/module-info.java +++ b/src/core9/module-info.java @@ -23,6 +23,7 @@ module lombok { requires java.compiler; requires java.instrument; requires jdk.unsupported; + requires static org.mapstruct.processor; exports lombok; exports lombok.experimental; @@ -36,4 +37,3 @@ module lombok { provides javax.annotation.processing.Processor with lombok.launch.AnnotationProcessorHider.AnnotationProcessor; provides org.mapstruct.ap.spi.AstModifyingAnnotationProcessor with lombok.launch.AnnotationProcessorHider.AstModificationNotifier; } - |