Igor,

Attempting to follow your advice, I added the following to my
lifecycle-mapping-metadata.xml:

<lifecycleMappingMetadata>
  <pluginExecutions>
    <pluginExecution>
      <pluginExecutionFilter>
        <goals>
          <goal>generate</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <execute>
          <runOnIncremental>false</runOnIncremental>
          <runOnConfiguration>true</runOnConfiguration>
        </execute>
      </action>
    </pluginExecution>
  </pluginExecutions>
</lifecycleMappingMetadata>

which seemed to result in a null pointer exception.

>From the .log file:

3450 !ENTRY org.eclipse.core.resources 4 75 2012-08-29 17:52:37.351
3451 !MESSAGE Errors occurred during the build.
3452 !SUBENTRY 1 org.eclipse.m2e.core 4 75 2012-08-29 17:52:37.351
3453 !MESSAGE Errors running builder 'Maven Project Builder' on project
'project1'.
3454 !STACK 0
3455 java.lang.NullPointerException
3456     at
org.eclipse.m2e.core.internal.lifecyclemapping.model.PluginExecutionFilter.match(PluginExecutionFilter.java:323)
3457     at
org.eclipse.m2e.core.internal.lifecyclemapping.SimpleMappingMetadata
Source.getPluginExecutionMetadata(SimpleMappingMetadataSource.java:71)
3458     at
org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory.calculateEffectiveLifecycleMappingMetadata(LifecycleMappingFactory.java:
    490)
3459     at
org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory.calculateEffectiveLifecycleMappingMetadata(LifecycleMappingFactory.java:
    224)
3460     at
org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory.calculateLifecycleMapping(LifecycleMappingFactory.java:175)
3461     at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.setupLifecycleMapping(ProjectRegistryManager.java:527)
3462     at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:446)
3463     at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:328)
3464     at
org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:279)
3465     at
org.eclipse.m2e.core.internal.project.registry.MavenProjectManager.refresh(MavenProjectManager.java:58)
3466     at
org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:87)
3467     at
org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
3468     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
3469     at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
3470     at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
3471     at
org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
3472     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
3473     at
org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
3474     at
org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
3475     at
org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
3476     at
org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
3477     at
org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
3478     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

I tried adding the groupId and artifactId to the lifecycle mapping
declaration but don't know that it helped...  I haven't been able to
reproduce the NPE or resolve the complaints about lack of lifecycle
information in the POM editor...

Am I doing something wrong?

Thanks.

Keith

On Wed, Aug 29, 2012 at 1:22 PM, Igor Fedorenko <[email protected]> wrote:

>
>
> On 12-08-29 1:01 PM, Keith Barlow wrote:
>
>> The plugin is a customized xjc plugin so if I understand you correctly,
>> I have two options:
>>
>> 1.) Configure it for execute which requires adding code which uses the
>> plexus-build-api to make workspace changes.  (e.g. I could have the
>> generated files added to the build path if desired or I could just leave
>> that as a manual task but would still need a no-op implementation to be
>> executed).
>>
>
> Assuming the goal is to have generated files visible as java sources in
> workspace, the mapping needs to
>
> runOnConfiguration=true, such that source root folders added by the
> plugin are created as Eclipse java project source folders. This does not
> require use of BuildContext
>
> runOnIncremental can be either true of false. runOnIncremental=false
> does not require use of BuildContext either, but source code will only
> be (re)generated during full/clean workspace build and will require
> manual project refresh. For automatic generation of sources,
> runOnIncremental=true and use of BuildContext is required
>
>
>
>> 2.) Add it as ignore which would suppress all error messages and prevent
>> the plugin from being executed unless I actually do a maven build.
>> (which is essentially what happens now only I do get error messages.)
>>
>>
> This will completely ignore the plugin in Eclipse. You will need to
> create java source folders in Eclipse and run the code generation manually.
>
> --
> Regards,
> Igor
>
>  Is that correct?
>>
>> (Thanks in advance.)
>>
>> Keith
>>
>> On Wed, Aug 29, 2012 at 12:43 PM, Igor Fedorenko <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>     If your maven plugin can safely participate Eclipse incremental build,
>>     which in practice means it can either be safely ignored or plugin code
>>     uses plexus BuildContext to negotiate changes, the mapping metadata
>> can
>>     be embedded in maven plugin itself. See [1] for more details.
>>
>>     If mapping requires Eclipse-specific logic not currently achievable
>>     through BuildContext, then you need to write an Eclipse plugin that
>>     provides the implementation of the logic and mapping xml file.
>>
>>     [1] 
>> http://wiki.eclipse.org/M2E___**compatible_maven_plugins<http://wiki.eclipse.org/M2E___compatible_maven_plugins>
>>
>>     
>> <http://wiki.eclipse.org/M2E_**compatible_maven_plugins<http://wiki.eclipse.org/M2E_compatible_maven_plugins>
>> >
>>
>>     --
>>     Regards,
>>     Igor
>>
>>
>>     On 12-08-29 12:31 PM, Keith Barlow wrote:
>>
>>         Hiyas,
>>
>>         We have a customized maven plugin we use in our company which
>>         doesn't
>>         have lifecycle mapping metadata for it...  How do I add a local
>>         entry to
>>         the new Lifecycle Mappings preferences feature in m2e?  I looked
>>         at the
>>         developer documentation for extension development and it defines a
>>         lifecycle mapping xml blob but it looks like that needs to point
>>         to some
>>         kind of configurator class...  is that required for local entries?
>>            where would it live?
>>
>>         Thanks.
>>
>>         Keith
>>
>>         --
>>         Keith Barlow
>>
>>         /Software Engineer/
>>         *Dell Boomi*
>>
>>
>>
>>         ______________________________**___________________
>>         m2e-users mailing list
>>         [email protected] <mailto:[email protected]>
>>         
>> https://dev.eclipse.org/__**mailman/listinfo/m2e-users<https://dev.eclipse.org/__mailman/listinfo/m2e-users>
>>         
>> <https://dev.eclipse.org/**mailman/listinfo/m2e-users<https://dev.eclipse.org/mailman/listinfo/m2e-users>
>> >
>>
>>     ______________________________**___________________
>>     m2e-users mailing list
>>     [email protected] <mailto:[email protected]>
>>     
>> https://dev.eclipse.org/__**mailman/listinfo/m2e-users<https://dev.eclipse.org/__mailman/listinfo/m2e-users>
>>
>>     
>> <https://dev.eclipse.org/**mailman/listinfo/m2e-users<https://dev.eclipse.org/mailman/listinfo/m2e-users>
>> >
>>
>>
>>
>>
>> --
>> Keith Barlow
>>
>> /Software Engineer/
>> *Dell Boomi*
>>
>>
>>
>> ______________________________**_________________
>> m2e-users mailing list
>> [email protected]
>> https://dev.eclipse.org/**mailman/listinfo/m2e-users<https://dev.eclipse.org/mailman/listinfo/m2e-users>
>>
>>  ______________________________**_________________
> m2e-users mailing list
> [email protected]
> https://dev.eclipse.org/**mailman/listinfo/m2e-users<https://dev.eclipse.org/mailman/listinfo/m2e-users>
>



-- 
Keith Barlow

*Software Engineer*
*Dell Boomi*
_______________________________________________
m2e-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to