You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2020/06/14 16:10:13 UTC

[maven-studies] branch maven-extension-demo updated (c66223e -> a8df81d)

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a change to branch maven-extension-demo
in repository https://gitbox.apache.org/repos/asf/maven-studies.git.


    from c66223e  add default plugin Jenkins file, hoping it matches extension needs
     new cf77286  more explanations
     new a8df81d  add readme

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md              | 32 ++++++++++++++++++++++++++++++++
 src/site/apt/index.apt | 38 +++++++++++++++++++++++++++++++++++---
 2 files changed, 67 insertions(+), 3 deletions(-)
 create mode 100644 README.md


[maven-studies] 01/02: more explanations

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch maven-extension-demo
in repository https://gitbox.apache.org/repos/asf/maven-studies.git

commit cf7728656bb8cd9e659d9df5f886060ac0e639df
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Jun 14 18:01:58 2020 +0200

    more explanations
---
 src/site/apt/index.apt | 38 +++++++++++++++++++++++++++++++++++---
 1 file changed, 35 insertions(+), 3 deletions(-)

diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt
index aace08c..20b53b2 100644
--- a/src/site/apt/index.apt
+++ b/src/site/apt/index.apt
@@ -35,10 +35,41 @@ Maven Extension Demo Study
 
   []
 
-* Configuring Maven Extensions
+* Demo Content
+
+  {{{./xref/}Code provided here}} demoes one specific type of extension: {{{/examples/maven-3-lifecycle-extensions.html}Maven 3 lifecycle extension}}, and
+  the different results obtained when injecting this extension in the different ways available.
+
+  Maven lifecycle participation can be provided though 3 APIs:
+
+  [[1]] {{{/ref/current/maven-core/apidocs/index.html?org/apache/maven/execution/AbstractExecutionListener.html}<<<org.apache.maven.execution.AbstractExecutionListener>>>}},
+
+  [[2]] {{{/ref/current/maven-core/apidocs/index.html?org/apache/maven/AbstractMavenLifecycleParticipant.html}<<<org.apache.maven.AbstractMavenLifecycleParticipant>>>}},
+ 
+  [[3]] {{{/ref/current/maven-core/apidocs/index.html?org/apache/maven/eventspy/AbstractEventSpy.html}<<<org.apache.maven.eventspy.AbstractEventSpy>>>}}.
+
+  []
+
+  This study implements each API (see {{{./apidocs/}javadoc}}) then tests implementations in ITs that configure the extension in different ways:
+  verification done after IT execution check expected differences.
+
+* Classical Types of Extensions
 
   A Maven extension is a library that goes into
-  {{{/guides/mini/guide-maven-classloading.html#Core_Classloader}Maven Core classloader}}.
+  {{{/guides/mini/guide-maven-classloading.html#Core_Classloader}Maven Core classloader}}, then is really in the core execution of Maven, unlike
+  a plugin that runs in a child classloader separated from other plugins.
+
+  There are multiple reasons one wants to put his code in Maven Core classloader:
+
+  * {{{/guides/mini/guide-using-extensions.html}add a Wagon protocol}},
+
+  * override a component of Maven core, to change its behaviour (expertise required...),
+
+  * inject a {{{/examples/maven-3-lifecycle-extensions.html}lifecycle participant}}.
+
+  []
+
+* Configuring Maven Extensions
 
   There are multiple methods available to declare a library as an  extension:
 
@@ -55,7 +86,8 @@ Maven Extension Demo Study
   []
 
   Declaring an extension in POM is the most classical and flexible way to do: the only drawback is that the extension
-  is activated after POM reading, which can be too late for some very specific use cases like EventSpy.
+  is activated after POM reading, which can be too late for some very specific use cases like
+  {{{https://maven.apache.org/ref/current/maven-core/apidocs/org/apache/maven/eventspy/package-summary.html}EventSpy}}.
 
   Installing an extension directly inside Maven installation avoids the previous limitation, but is not flexible. 
 


[maven-studies] 02/02: add readme

Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch maven-extension-demo
in repository https://gitbox.apache.org/repos/asf/maven-studies.git

commit a8df81d864df26b9553b71f238383691766a64a4
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Jun 14 18:09:53 2020 +0200

    add readme
---
 README.md | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c4b17e0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,32 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+[Maven Extension Demo Study][site]
+======================
+
+[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)][license]
+[![Jenkins Status](https://img.shields.io/jenkins/s/https/builds.apache.org/job/maven-box/job/maven-studies/job/maven-extension-demo.svg?)][build]
+
+Demo of Maven Extensions:
+* classical types of extensions,
+* how to write them,
+* how to configure them into your builds.
+
+See the [site][site] for more details.
+
+[site]: https://maven.apache.org/studies/extension-demo/
+[license]: https://www.apache.org/licenses/LICENSE-2.0
+[build]: https://builds.apache.org/job/maven-box/job/maven-studies/job/maven-extension-demo/