You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Richard van Nieuwenhoven <ni...@cfc.at> on 2009/01/20 08:22:33 UTC

rcp builds with maven (trying to write a Eclipse-ArtifactRepositoryLayout )

Hi,

i am having troubles activating a plexus ArtifactRepositoryLayout 
component from a pom. I tried the notation:
<extensions>
  <extension>
     <groupId>xxx</groupId>
     <artifactId>xxx</artifactId>
     <version>xxx</version>
   </extension>
</extensions>
but it didn't pick up the component.

The reason of doning this is that after bending maven builds to create 
eclipse rcp applications for a long time, i want to try a different 
approach. By creating a plexus "ArtifactRepositoryLayout" that 
understands a eclipse installation, that works out pretty well!

We have a complete eclipse-rcp tgz/zip in the repository and extract it 
on demand during the build. the Eclipse-ArtifactRepositoryLayout takes 
up this directory structure and points the dependency:

	<repositories>
		<repository>
			<id>eclipse-local</id>
			<layout>eclipse</layout>
<url>file:/.../org.eclipse.rcp.target-eclipse.3.4.1.0/eclipse</url>
		</repository>
	</repositories>
....
	<dependency>
		<groupId>org.eclipse.rcp</groupId>
		<artifactId>org.eclipse.swt</artifactId>
		<version>3.4.1.0</version>
	</dependency>

to "plugins/org.eclipse.swt_3.4.1.v3449c.jar" and generates a 
(temporary) pom for this dependency from the manifest of the eclipse-plugin.

So far so good.. my problem is that i have to copy the plexus component 
with the Eclipse-ArtifactRepositoryLayout in to the maven2/lib directory 
to activate it, is there any way to activate it from inside the pom?

Thanks for any help,
Richard van Nieuwenhoven

My prerequisites (and the solution satisfies them so far):
- use only eclipse plugins that are contained in the same stable version.
- We do not want to "pollute" the repository with all the versions from 
eclipse plugins and features.
- We so not want to know the correct version of plugin 
org.eclipse.xxxx.xxx. we just want the version bundled with eclipse 
version "3.4.1" for example.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: rcp builds with maven (trying to write a Eclipse-ArtifactRepositoryLayout )

Posted by Barrie Treloar <ba...@gmail.com>.
> Tycho sound good, but misses the target for our specific project (the story
> is to full of details to explain it here).

You might want to try to explain it :)

I've used the pde-maven plugin to build our Eclipse 3.2.2 RCP project
but I had to use the maven-eclipse-plugin to seed our internal
repository with the eclipse plugins.

I've yet to have time to look at Tycho.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: rcp builds with maven (trying to write a Eclipse-ArtifactRepositoryLayout )

Posted by Richard van Nieuwenhoven <ni...@cfc.at>.
Hi,

Tycho sound good, but misses the target for our specific project (the 
story is to full of details to explain it here).

The only working solution i found (including maven 3-alpha-1) is to
extend m2.conf to:
--------------------------
[plexus.core]
load ${maven.home}/extentions/*.jar
load ${maven.home}/lib/*.jar
--------------------------
Then put the component-jars in the newly created directory "extentions".
now maven picks them up and i can use my eclipse plugins as 
dependencies, transparently in maven. Also no need to add the extensions 
tag to the pom.

I tested this solution with maven 2.0.9 and 3-alpha-1 and both worked 
correctly.

I would prefer a solution just involving the project pom, but this is ok 
too because it only triggers when i use the repository layout "eclipse".

When there are others needing such a possibility, e-mail me! Maybe i can 
convince my customer to give it free.

regards,
Ritchie


Igor Fedorenko wrote:
> Richard,
> 
> I wonder if you have seen Tycho [1]? This is one of the projects I work 
> on, so I am biased ;-) but I believe it should address your problem, 
> i.e. building eclipse rcp application with maven.
> 
> 
> [1] http://docs.codehaus.org/display/M2ECLIPSE/Tycho+project+overview
> 
> -- 
> Regards,
> Igor
> 
> Richard van Nieuwenhoven wrote:
>> Hi,
>>
>> i am having troubles activating a plexus ArtifactRepositoryLayout 
>> component from a pom. I tried the notation:
>> <extensions>
>>  <extension>
>>     <groupId>xxx</groupId>
>>     <artifactId>xxx</artifactId>
>>     <version>xxx</version>
>>   </extension>
>> </extensions>
>> but it didn't pick up the component.
>>
>> The reason of doning this is that after bending maven builds to create 
>> eclipse rcp applications for a long time, i want to try a different 
>> approach. By creating a plexus "ArtifactRepositoryLayout" that 
>> understands a eclipse installation, that works out pretty well!
>>
>> We have a complete eclipse-rcp tgz/zip in the repository and extract 
>> it on demand during the build. the Eclipse-ArtifactRepositoryLayout 
>> takes up this directory structure and points the dependency:
>>
>>     <repositories>
>>         <repository>
>>             <id>eclipse-local</id>
>>             <layout>eclipse</layout>
>> <url>file:/.../org.eclipse.rcp.target-eclipse.3.4.1.0/eclipse</url>
>>         </repository>
>>     </repositories>
>> ....
>>     <dependency>
>>         <groupId>org.eclipse.rcp</groupId>
>>         <artifactId>org.eclipse.swt</artifactId>
>>         <version>3.4.1.0</version>
>>     </dependency>
>>
>> to "plugins/org.eclipse.swt_3.4.1.v3449c.jar" and generates a 
>> (temporary) pom for this dependency from the manifest of the 
>> eclipse-plugin.
>>
>> So far so good.. my problem is that i have to copy the plexus 
>> component with the Eclipse-ArtifactRepositoryLayout in to the 
>> maven2/lib directory to activate it, is there any way to activate it 
>> from inside the pom?
>>
>> Thanks for any help,
>> Richard van Nieuwenhoven
>>
>> My prerequisites (and the solution satisfies them so far):
>> - use only eclipse plugins that are contained in the same stable version.
>> - We do not want to "pollute" the repository with all the versions 
>> from eclipse plugins and features.
>> - We so not want to know the correct version of plugin 
>> org.eclipse.xxxx.xxx. we just want the version bundled with eclipse 
>> version "3.4.1" for example.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: rcp builds with maven (trying to write a Eclipse-ArtifactRepositoryLayout )

Posted by Igor Fedorenko <ig...@ifedorenko.com>.
Richard,

I wonder if you have seen Tycho [1]? This is one of the projects I work 
on, so I am biased ;-) but I believe it should address your problem, 
i.e. building eclipse rcp application with maven.


[1] http://docs.codehaus.org/display/M2ECLIPSE/Tycho+project+overview

--
Regards,
Igor

Richard van Nieuwenhoven wrote:
> Hi,
> 
> i am having troubles activating a plexus ArtifactRepositoryLayout 
> component from a pom. I tried the notation:
> <extensions>
>  <extension>
>     <groupId>xxx</groupId>
>     <artifactId>xxx</artifactId>
>     <version>xxx</version>
>   </extension>
> </extensions>
> but it didn't pick up the component.
> 
> The reason of doning this is that after bending maven builds to create 
> eclipse rcp applications for a long time, i want to try a different 
> approach. By creating a plexus "ArtifactRepositoryLayout" that 
> understands a eclipse installation, that works out pretty well!
> 
> We have a complete eclipse-rcp tgz/zip in the repository and extract it 
> on demand during the build. the Eclipse-ArtifactRepositoryLayout takes 
> up this directory structure and points the dependency:
> 
>     <repositories>
>         <repository>
>             <id>eclipse-local</id>
>             <layout>eclipse</layout>
> <url>file:/.../org.eclipse.rcp.target-eclipse.3.4.1.0/eclipse</url>
>         </repository>
>     </repositories>
> ....
>     <dependency>
>         <groupId>org.eclipse.rcp</groupId>
>         <artifactId>org.eclipse.swt</artifactId>
>         <version>3.4.1.0</version>
>     </dependency>
> 
> to "plugins/org.eclipse.swt_3.4.1.v3449c.jar" and generates a 
> (temporary) pom for this dependency from the manifest of the 
> eclipse-plugin.
> 
> So far so good.. my problem is that i have to copy the plexus component 
> with the Eclipse-ArtifactRepositoryLayout in to the maven2/lib directory 
> to activate it, is there any way to activate it from inside the pom?
> 
> Thanks for any help,
> Richard van Nieuwenhoven
> 
> My prerequisites (and the solution satisfies them so far):
> - use only eclipse plugins that are contained in the same stable version.
> - We do not want to "pollute" the repository with all the versions from 
> eclipse plugins and features.
> - We so not want to know the correct version of plugin 
> org.eclipse.xxxx.xxx. we just want the version bundled with eclipse 
> version "3.4.1" for example.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org