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. Thenorg/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, RobertOp 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")?RobertRegards JörgOp 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 + <ahref="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
smime.p7s
Description: S/MIME Cryptographic Signature