Hi,

seems like I missed a mail.
What I don't understand is why you want to overcomplicate things by using KeepOrAdd (and what would the value of add be?), KeepIfExist and remove. I'd prefer to just naming those elements you'd like to copy, warn if the element is not there.

I'll give it a the next couple of days.

thanks,

Robert

Op Sat, 24 May 2014 00:58:33 +0200 schreef Jörg Hohwiller <jo...@j-hohwiller.de>:

Hi there,

I did not get any feedback yet.
Meanwhile I refactored the Mojo and invented FlattenDescriptor that can
be configured like this:
<configuration>
   <flattenDescriptor>
     <name>KeepOrAdd</name>
     <description>KeepIfExists</description>
     <url>Remove</url>
     ...
   </flattenDescriptor>
</configuration>

I added all optional elements of the POM that make sense in this context.
So far I added a first IT to verify this (and found and fixed a bug).

As a next step we could add a parameter "flattening" that allows to
select a predefined FlattenDescriptor such as "KeepIfExists",
"KeepOrAdd", "OSSHR".

I hope you are happy with this approach as I would like to go for a
release soon since I fixed an important bug...

Regards
   Jörg

Am 12.05.2014 22:23, schrieb Jörg Hohwiller:
Hi Robert,

I would try to refactor as suggested. However to get everything clear:

The Mojo would be shipped with predefined descriptor configs that
would be read from the classpath. E.g. user only configures
<descriptor>oss</descriptor> in the <configuration> of
flatten-maven-plugin. Then
 org/codehaus/mojo/flatten-maven-plugin/descriptors/oss.xml is read.
However, the user could also specify a path such as
<descriptor>${basedir}/flatten-custom.xml</descriptor> that would be
loaded as file.

Did I get it right? Or do you only want me to put the current config
options into a container element (pomDescriptor) so future Maven
features could help with some magic I can not see yet?

Best regards
  Jörg

Am 06.05.2014 20:49, schrieb Robert Scholte:
Ideally what we want is some sort of xslt, however that's probably
too heavy and too complex.
Instead you could think of something like (when written as config, or
equivalent xml file)

<configuration>
  <pomDescriptor>
    <scm/>
    <name/>
    <description>
    ...
  </pomDescriptor>
</configuration>

IIRC the behavior has changed in our favor with Maven 3, so it should
be easy to recognize if a value is set (is should become an empty
String/Object instead of null)

Depending on your definition of 'flatten' an descriptorId should be
enough if it is the bare minimum required by the OSS Nexus. If you
want more freedom to choose your fields, don't use ids, just a
descriptor.

thanks,
Robert

Op Mon, 05 May 2014 23:45:18 +0200 schreef Jörg Hohwiller
<jo...@j-hohwiller.de>:

Am 05.05.2014 22:27, schrieb Robert Scholte:
Hi Jörg,
Hi Robert,

I think we should consider another approach.
Once users can define their own descriptors, you really want to get
rid of these parameters.

For now I would go for:
@Parameter
private String descriptorId;

For now it's null by default, or "oss" as predefined value.

in the code just check
if ( "oss".equals( descriptorId ) )
{
  // add stuff
}

this way it will be easier/cleaner to move to real descriptors.

WDYT?
Thanks for your input and suggestions.
To ensure that I fully understand what you are talking about, could you
give me a link to the "descriptor" concept, you are talking about. Do
you mean something similar to what assembly-plugin does?
So you would suggest to go for an indirection such that the individual
configuration per element is extracted to a "descriptor file" that is
itself configured as a single parameter?
I am not yet completely convinced. Some other "OSS user" might want to
set all parameters to "KeepIfExists" instead for some reason.
The next parameters I would see are inceptionYear or issueManagement.
What would "OSS" mean in the end?
Would not an indirection make it even more complex in the end (assuming
you get something like "oss+extras" and later
"oss+extras-without-something-else")?

Robert
Regards
   Jörg


Op Mon, 05 May 2014 21:27:02 +0200 schreef
<joerg.hohwil...@codehaus.org>:

Revision:

19715
Author:

joerg.hohwiller
Date:

2014-05-05 14:27:02 -0500 (Mon, 05 May 2014)

Log Message

MOJO-2027: added documentation

Modified Paths

trunk/mojo/flatten-maven-plugin/src/site/xdoc/usage.xml

Diff

Modified: trunk/mojo/flatten-maven-plugin/src/site/xdoc/usage.xml
(19714 =>
19715)



--- trunk/mojo/flatten-maven-plugin/src/site/xdoc/usage.xml
2014-05-05 19:20:06 UTC (rev 19714)
+++ trunk/mojo/flatten-maven-plugin/src/site/xdoc/usage.xml
2014-05-05 19:27:02 UTC (rev 19715)

@@ -31,6 +31,20 @@

     </plugins>

   </build>

       ]]></source>

+      <subsection name="Keep developer information">
+        If you want to keep additional development information in
your POM, e.g. for
+        <a
href="https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide";>OSSHR</a>

+        you can configure flatten-maven-plugin as following:
+      <source><![CDATA[
+        <configuration>
+ <handleName>KeepOrAdd</handleName>
+ <handleDescription>KeepIfExists</handleDescription>
+            <handleUrl>KeepOrAdd</handleUrl>
+            <handleScm>KeepOrAdd</handleScm>
+ <handleDevelopers>KeepOrAdd</handleDevelopers>
+        </configuration>
+      ]]></source>
+      </subsection>

     </section>

   </body>

 </document>

To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to