As part of the development of the android-maven-plugin we have need to add
in an AbstractMavenLifecycleParticipant so that we can modify the compile
classpath to add artefacts that are contained within a project's
dependencies. Igor provided a lot of the coaching on this.

The build works fine. Does what is intended.

But now, when you open a project in intelliJ13 that uses the
android-maven-plugin, IntelliJ declares a problem with the POM that
references our MavenLifecycleParticipant.

What I'd like help with is:
1) Is this a problem with the plugin itself. Ie have we defined something
incorrectly.
2) Is it just a problem with how IntelliJ is parsing a POM that declares
the plugin.

If it is (1), what do we need to do to fix it?

However, I suspect it is (2) because similar error messages seem to occur
when plugins designed for Maven 3.1 (and the switch to Eclipse Aether from
Sonatype Aether) are used in a Maven-3.0 environment. I'm thinking that
maybe IntelliJ is using a Maven-3.0 core. But I'm really not sure and would
love some clarity from those who understand what is going on a bit better.
And if it is (2) is there anything we or IntelliJ can do to fix it?

The plugin itself can be found at:
https://github.com/jayway/maven-android-plugin

A project showing the failure can be found at:
https://github.com/jayway/maven-android-plugin-samples/tree/master/morseflash/morseflash-app

And the error message is (visible via flyover in the POM editor window or
in idea.log):

java.lang.RuntimeException: com.google.inject.ProvisionException:
Guice provision errors:

1) No implementation for org.eclipse.aether.impl.VersionResolver was bound.
  while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
  at 
ClassRealm[extension>com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.9.0-rc.1,
parent: sun.misc.Launcher$AppClassLoader@39172e08]
  at 
ClassRealm[extension>com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.9.0-rc.1,
parent: sun.misc.Launcher$AppClassLoader@39172e08]
  while locating org.eclipse.aether.RepositorySystem
  while locating
com.jayway.maven.plugins.android.phase_prebuild.AarMavenLifecycleParticipant
  at 
ClassRealm[extension>com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.9.0-rc.1,
parent: sun.misc.Launcher$AppClassLoader@39172e08]
  at 
ClassRealm[extension>com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.9.0-rc.1,
parent: sun.misc.Launcher$AppClassLoader@39172e08]
  while locating org.apache.maven.AbstractMavenLifecycleParticipant
annotated with @com.google.inject.name.Named(value=AarMavenLifecycleListener)


We are tracking this at:
https://code.google.com/p/maven-android-plugin/issues/detail?id=449


Any help appreciated.


William

Reply via email to