AlexanderAshitkin commented on code in PR #40:
URL:
https://github.com/apache/maven-build-cache-extension/pull/40#discussion_r1186945928
##########
src/site/markdown/getting-started.md.vm:
##########
@@ -18,58 +18,67 @@
Getting Started
---------------
-To on-board incremental Maven you need to complete several steps:
+To onboard the build-cache extension you need to complete several steps:
* Declare caching extension in your project (either in `pom.xml` or
`.mvn/extensions.xml`)
-* Add `maven-build-cache-config.xml` cache config in `.mvn/` (optional) to
customize default behavior
-* Validate build results and iteratively, adjust config to properly reflect
project specifics
+* Add `maven-build-cache-config.xml` cache config in `.mvn/` (optional) to
customize the default behavior
+* Validate build results and iteratively adjust config to reflect project
specifics properly
* Setup remote cache (optional)
#[[###]]# Declaring build cache extension
```xml
+
<extension>
<groupId>org.apache.maven.extensions</groupId>
<artifactId>maven-build-cache-extension</artifactId>
<version>${project.version}</version>
</extension>
```
-either in `pom.xml`'s `<project>/<build>/<extensions>` or in
`.mvn/extensions.xml`'s `<extensions>`
+either in `pom.xml`'s `<project>/<build>/<extensions>` or in
`.mvn/extensions.xml`'s `<extensions>`. Using core
+extension model (`.mvn/extensions.xml` file) is preferable as it allows better
access to maven APIs and could allow
+more sophisticated optimizations in the future.
Review Comment:
Assuming that you ask to clarify the statement above, here's the rationale -
the core extension initialization model allows binding core API classes, like
lifecycle listeners. Besides that, using the cache as a building-level
extension tempts the user to initialize the cache in different parts of the
project subtree, which was never intended and likely tested. The core extension
is the best way to use the cache, which leaves us the door to use all the
internal maven APIs future and aligns well with the caching nature. It's just
right to make it the recommended option. Honestly, I would deprecate the build
extension mode because it doesn't solve any particular problem and just adds
accidental complexity.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]