You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@karaf.apache.org by Jean-Baptiste Onofré <jb...@nanthrax.net> on 2011/02/07 11:30:35 UTC

[DISCUSS] Refactoring of maven plugins

Hi all,

I'm beginning to work on KARAF-402.

The purpose is to gather all goals available into one central maven 
plugin and, later, extend this plugin with new goals depending of 
current opened discussions (run, profiles, etc :)).

I think that the tooling groupId is not more required as we will have 
only one maven plugin.

So I propose the following naming convention:
groupId: org.apache.karaf
artifactId: karaf-maven-plugin.

So for the users, the POM definition will look like:

<plugins>
	<plugin>
		<groupId>org.apache.karaf</groupId>
		<artifactId>karaf-maven-plugin</artifactId>
		<version>3.0.0</version>
		<executions>
			<execution>
				<id>add-features-to-repo</id>
				<phase>generate-resources</phase>
				<goals>
					<goal>add-features-to-repo</goal>
				</goals>
				[...]
			</execution>
		</executions>
	</plugin>
</plugins>

I think it's clear for the users.

The question is now more on tooling/testing module.

This tooling/testing module should be moved on the trunk root too.
We have to ways to see that:
1/ I move tooling/testing logic in itests modules (but maybe it 
introduces circular dependencies, I have to check)
2/ I create a new testing project dedicated to the itests of maven plugin

WDYT ?

Regards
JB

Re: [DISCUSS] Refactoring of maven plugins

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi David,

could you spot to me which one you're thinking about ?

Thanks
Regards
JB

On 02/07/2011 08:31 PM, David Jencks wrote:
> I don't agree with some of these, since they are not intended to be used standalone but as part of a packaging that use several mojos and your proposed names make it sound like these are the entire packaging.
> On Feb 7, 2011, at 7:58 AM, Jean-Baptiste Onofré wrote:
>
>> Hi all,
>>
>> already around the Karaf maven plugin workload, it could be the good time to rename the goals.
>>
>> I propose the following goals rename:
>>
>> - add-features-to-repo =>  resolve-features
>> - archive-kar =>  create-kar
> I don't agree with this one The kar packaging requires generate-features-xml2 and this one.  create-kar sounds like this is the only step.
>> - archive-server =>  create-instance
> again, this is the final packaging step in the karaf-assembly packaging and doesn't make much sense as an independent goal
>> - generate-features-file =>  create-features
>> - generate-features-xml =>  create-features
>> - generate-features-xml2 =>  create-features
> I don't understand what the original 2 generate-features-* mojos are supposed to do.  I have strong doubts that if we want to keep the originals we can squeeze both sets of functionality into one mojo.  In any case the generate-features-xml2 is part of some packagings and the other 2 aren't yet.
>> - install-kars =>  resolve-kars
> I don't understand how "resolve" relates to the action of this mojo.  Install seems pretty clear to me.  And I think it's only appropriate as part of the karaf-assembly packaging.
>> - validate =>  validate-features
>> - cmdhelp =>  generate-comands-help
>>
>> As reminder, we plan to add the following goals:
>> - run to start a Karaf instance
>> - shell to connect remotely to a running Karaf instance
>>
>> WDYT ?
>
> I sure hope mixing non-packaging and packaging goals in one maven plugin doesn't lead to too much confusion.
>
> thanks
> david jencks
>
>>
>> Thanks
>> Regards
>> JB
>>
>> On 02/07/2011 11:30 AM, Jean-Baptiste Onofré wrote:
>>> Hi all,
>>>
>>> I'm beginning to work on KARAF-402.
>>>
>>> The purpose is to gather all goals available into one central maven
>>> plugin and, later, extend this plugin with new goals depending of
>>> current opened discussions (run, profiles, etc :)).
>>>
>>> I think that the tooling groupId is not more required as we will have
>>> only one maven plugin.
>>>
>>> So I propose the following naming convention:
>>> groupId: org.apache.karaf
>>> artifactId: karaf-maven-plugin.
>>>
>>> So for the users, the POM definition will look like:
>>>
>>> <plugins>
>>> <plugin>
>>> <groupId>org.apache.karaf</groupId>
>>> <artifactId>karaf-maven-plugin</artifactId>
>>> <version>3.0.0</version>
>>> <executions>
>>> <execution>
>>> <id>add-features-to-repo</id>
>>> <phase>generate-resources</phase>
>>> <goals>
>>> <goal>add-features-to-repo</goal>
>>> </goals>
>>> [...]
>>> </execution>
>>> </executions>
>>> </plugin>
>>> </plugins>
>>>
>>> I think it's clear for the users.
>>>
>>> The question is now more on tooling/testing module.
>>>
>>> This tooling/testing module should be moved on the trunk root too.
>>> We have to ways to see that:
>>> 1/ I move tooling/testing logic in itests modules (but maybe it
>>> introduces circular dependencies, I have to check)
>>> 2/ I create a new testing project dedicated to the itests of maven plugin
>>>
>>> WDYT ?
>>>
>>> Regards
>>> JB
>

Re: [DISCUSS] Refactoring of maven plugins

Posted by David Jencks <da...@yahoo.com>.
I don't agree with some of these, since they are not intended to be used standalone but as part of a packaging that use several mojos and your proposed names make it sound like these are the entire packaging.
On Feb 7, 2011, at 7:58 AM, Jean-Baptiste Onofré wrote:

> Hi all,
> 
> already around the Karaf maven plugin workload, it could be the good time to rename the goals.
> 
> I propose the following goals rename:
> 
> - add-features-to-repo => resolve-features
> - archive-kar => create-kar
I don't agree with this one The kar packaging requires generate-features-xml2 and this one.  create-kar sounds like this is the only step.
> - archive-server => create-instance
again, this is the final packaging step in the karaf-assembly packaging and doesn't make much sense as an independent goal
> - generate-features-file => create-features
> - generate-features-xml => create-features
> - generate-features-xml2 => create-features
I don't understand what the original 2 generate-features-* mojos are supposed to do.  I have strong doubts that if we want to keep the originals we can squeeze both sets of functionality into one mojo.  In any case the generate-features-xml2 is part of some packagings and the other 2 aren't yet.
> - install-kars => resolve-kars
I don't understand how "resolve" relates to the action of this mojo.  Install seems pretty clear to me.  And I think it's only appropriate as part of the karaf-assembly packaging.
> - validate => validate-features
> - cmdhelp => generate-comands-help
> 
> As reminder, we plan to add the following goals:
> - run to start a Karaf instance
> - shell to connect remotely to a running Karaf instance
> 
> WDYT ?

I sure hope mixing non-packaging and packaging goals in one maven plugin doesn't lead to too much confusion.

thanks
david jencks

> 
> Thanks
> Regards
> JB
> 
> On 02/07/2011 11:30 AM, Jean-Baptiste Onofré wrote:
>> Hi all,
>> 
>> I'm beginning to work on KARAF-402.
>> 
>> The purpose is to gather all goals available into one central maven
>> plugin and, later, extend this plugin with new goals depending of
>> current opened discussions (run, profiles, etc :)).
>> 
>> I think that the tooling groupId is not more required as we will have
>> only one maven plugin.
>> 
>> So I propose the following naming convention:
>> groupId: org.apache.karaf
>> artifactId: karaf-maven-plugin.
>> 
>> So for the users, the POM definition will look like:
>> 
>> <plugins>
>> <plugin>
>> <groupId>org.apache.karaf</groupId>
>> <artifactId>karaf-maven-plugin</artifactId>
>> <version>3.0.0</version>
>> <executions>
>> <execution>
>> <id>add-features-to-repo</id>
>> <phase>generate-resources</phase>
>> <goals>
>> <goal>add-features-to-repo</goal>
>> </goals>
>> [...]
>> </execution>
>> </executions>
>> </plugin>
>> </plugins>
>> 
>> I think it's clear for the users.
>> 
>> The question is now more on tooling/testing module.
>> 
>> This tooling/testing module should be moved on the trunk root too.
>> We have to ways to see that:
>> 1/ I move tooling/testing logic in itests modules (but maybe it
>> introduces circular dependencies, I have to check)
>> 2/ I create a new testing project dedicated to the itests of maven plugin
>> 
>> WDYT ?
>> 
>> Regards
>> JB


Re: [DISCUSS] Refactoring of maven plugins

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi all,

already around the Karaf maven plugin workload, it could be the good 
time to rename the goals.

I propose the following goals rename:

- add-features-to-repo => resolve-features
- archive-kar => create-kar
- archive-server => create-instance
- generate-features-file => create-features
- generate-features-xml => create-features
- generate-features-xml2 => create-features
- install-kars => resolve-kars
- validate => validate-features
- cmdhelp => generate-comands-help

As reminder, we plan to add the following goals:
- run to start a Karaf instance
- shell to connect remotely to a running Karaf instance

WDYT ?

Thanks
Regards
JB

On 02/07/2011 11:30 AM, Jean-Baptiste Onofré wrote:
> Hi all,
>
> I'm beginning to work on KARAF-402.
>
> The purpose is to gather all goals available into one central maven
> plugin and, later, extend this plugin with new goals depending of
> current opened discussions (run, profiles, etc :)).
>
> I think that the tooling groupId is not more required as we will have
> only one maven plugin.
>
> So I propose the following naming convention:
> groupId: org.apache.karaf
> artifactId: karaf-maven-plugin.
>
> So for the users, the POM definition will look like:
>
> <plugins>
> <plugin>
> <groupId>org.apache.karaf</groupId>
> <artifactId>karaf-maven-plugin</artifactId>
> <version>3.0.0</version>
> <executions>
> <execution>
> <id>add-features-to-repo</id>
> <phase>generate-resources</phase>
> <goals>
> <goal>add-features-to-repo</goal>
> </goals>
> [...]
> </execution>
> </executions>
> </plugin>
> </plugins>
>
> I think it's clear for the users.
>
> The question is now more on tooling/testing module.
>
> This tooling/testing module should be moved on the trunk root too.
> We have to ways to see that:
> 1/ I move tooling/testing logic in itests modules (but maybe it
> introduces circular dependencies, I have to check)
> 2/ I create a new testing project dedicated to the itests of maven plugin
>
> WDYT ?
>
> Regards
> JB

Re: [DISCUSS] Refactoring of maven plugins

Posted by Andreas Pieber <an...@gmail.com>.
On Mon, Feb 07, 2011 at 11:30:35AM +0100, Jean-Baptiste Onofré wrote:
> Hi all,
> 
> I'm beginning to work on KARAF-402.
> 
> The purpose is to gather all goals available into one central maven
> plugin and, later, extend this plugin with new goals depending of
> current opened discussions (run, profiles, etc :)).
> 
> I think that the tooling groupId is not more required as we will
> have only one maven plugin.
> 
> So I propose the following naming convention:
> groupId: org.apache.karaf
> artifactId: karaf-maven-plugin.
> 
> So for the users, the POM definition will look like:
> 
> <plugins>
> 	<plugin>
> 		<groupId>org.apache.karaf</groupId>
> 		<artifactId>karaf-maven-plugin</artifactId>
> 		<version>3.0.0</version>
> 		<executions>
> 			<execution>
> 				<id>add-features-to-repo</id>
> 				<phase>generate-resources</phase>
> 				<goals>
> 					<goal>add-features-to-repo</goal>
> 				</goals>
> 				[...]
> 			</execution>
> 		</executions>
> 	</plugin>
> </plugins>

+1

> 
> I think it's clear for the users.
> 
> The question is now more on tooling/testing module.
> 
> This tooling/testing module should be moved on the trunk root too.
> We have to ways to see that:
> 1/ I move tooling/testing logic in itests modules (but maybe it
> introduces circular dependencies, I have to check)

I don't think that there are any circular deps (but please check yourself).

if there are none: +1 for moving to itest; otherwise I personally would prefer a
tooling/testing, altough there's (for the moment) only this project

kind regards,
andreas

> 2/ I create a new testing project dedicated to the itests of maven plugin
> 
> WDYT ?
> 
> Regards
> JB