Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pde-build-dev] Update on Mavenizing Eclipse Builds

On 8/17/06, Trygve Laugstøl <trygvis@xxxxxxxxxx> wrote:
Wendell Beckwith wrote:
> I have made good progress on using maven to build eclipse plugins and
> features.  Part of the success comes from using the Apache Geronimo
> maven-geronimodevtools-plugin that they built to build the geronimo WTP
> server connector.  Their solution works on only part of the case but I
> believe it can be extended to work for more general cases.  Mainly it
> creates a target platform in the maven 2 repo to which plugins can be
> resolved against.  Eclipse plugin dependencies are dynamincally added to
> the maven 2 classpath to allow the normal maven-compiler-plugin to
> compile the code.  next it is a simply matter to use the jar plugin to
> wrap everything up in a neat little jar for deployment.
>
> Now this isn't the perfect solution I'm shooting for since the compile
> stap does not enforce the access rules that the eclipse compiler would
> use.  There is a way to configure the normal mavan-compiler-plugin to
> use the eclipse compiler but I need to see what interface it exposes
> that would allow me to pass the access rules to it.  If there isn't away
> then we will need to look at either replacing the maven-compiler-plugin
> in the default maven lifecycle or create a cloned lifecycle that
> includes the eclipse compiler in place of the maven compiler plugin.

As part-author of the Maven Compiler Plugin and the Plexus Compiler API
I wouldn't mind adding a "osgi-complicancy" flag to the API that the
compiler plugin can pass to the implementation. It is already possible
to use the Eclipse compiler as the plugin's compiler implementation (but
then as a plain javac).


The JDT compiler needs a special classpath parameter, so you'd need to
add this logic to either the maven-compiler-plugin or the plexus
eclipse-compiler.  I looked at the plexus compiler but the current
implementation seemed needlessly complicated (unless there are some
constraints I'm not aware of). I found it easier to copy the javac
compiler component, and call the JDT's main() method instead of the
ordinary javac compiler.

Also, plugin dependencies could be jars-within-jars and those need to
be extracted first before you can use them for the compiler.

As for using the jar plugin, you need to make sure that it includes
the manifest, plugin.xml, libraries, ... that are not necessary in
target/classes.

Tom

--
Trygve
_______________________________________________
pde-build-dev mailing list
pde-build-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pde-build-dev



Back to the top