-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Readme with detailed example for tile merge covered by PR #101 ? #123
Comments
In addition: In my concrete case I would like to merge Annotation Processing for Ebean and MapStruct. All of them are using Lombok. So <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration tiles-keep-id="true">
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct-binding.version}</version>
</path>
<path>
<groupId>io.ebean</groupId>
<artifactId>querybean-generator</artifactId>
<version>${ebean.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
</annotationProcessorPaths>
<annotationProcessors>
<annotationProcessor>
lombok.launch.AnnotationProcessorHider$AnnotationProcessor
</annotationProcessor>
<annotationProcessor>
io.ebean.querybean.generator.Processor
</annotationProcessor>
<annotationProcessor>
org.mapstruct.ap.MappingProcessor
</annotationProcessor>
</annotationProcessors>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Amapstruct.suppressGeneratorTimestamp=true</arg>
<arg>-Amapstruct.suppressGeneratorVersionInfoComment=true</arg>
<arg>-Amapstruct.verbose=true</arg>
</compilerArgs>
</configuration>
</plugin> |
I use it to enable Kotlin in FeatureHub: https://github.com/featurehub-io/featurehub/blob/master/backend/tile-java/tile.xml |
Richard, Regarding the main issue here, I do not see any configuration in the mentioned tile on how to merge compiler annotation processing even on the kotline plugin which I am not aware of. Rob (vendor of ebean) added some new functionality defining a target tile and some source tiles that got merged during tile evaluation. Background: Since I have to provide a more common approach for several different (customer and product) projects at our company that have to follow the same lifecycle, I am looking for a smart way to manage all the different flavours we have to handle. This great tiles plugin will make my day. I just need to know how to configure it correctly. The readme is to small for all the options. Youtube and SO also do not help much, here. I know, writing readmes and docs is boring but for newbies the only option... |
@fishermans The tiles I did are at: https://github.com/avaje/kotlin-kapt - there is some description of "how this works" in the readme there. Is that what you are looking for? |
Regarding the missing README documentation, that is really on me. My only defense is that this "feature" was relatively experimental at the time and Mark and Richard were kind enough to let it go in without being perhaps 100% on board with it. |
In the "tile-merge-target" tile: In the "tile-merge-source" tile: I believe that is all that is needed @fishermans |
Thanks @rbygrave! That is really helpful. I will give it a try next week. 👍 |
Please excuse to ask for documentation here. From the beginner's point-of-view it is hard to understand to options for merging tile aspects.
I cannot find any good example for Rob's merge option. It would be nice to get some more information for merge capabilities in readme.
Which option of the discussed ones in the PR #101 is available for now?
How to manage annotationProcessorPaths, annotationProcessors and compilerArgs on the maven-compiler-plugin in detail?
Is it possible merge two or more tiles here and have the capability to also deliver the merge sources separately which also can contain additional plugin configuration, e.g. preprocessing by resource plugin configs?
Limitations?
A good example is welcome!
The text was updated successfully, but these errors were encountered: