[jbosstools-dev] Maven WTP Integration
Fred Bricon
fbricon at redhat.com
Mon Jan 9 08:37:57 EST 2012
Hey Rob,
adding the utility facet always creates a MANIFEST.MF, this is a WTP
thing. I opened this request upstream :
https://bugs.eclipse.org/bugs/show_bug.cgi?id=349575
In m2e-wtp, we have this ugly hack where MANIFESTS added by project
facets are "manually" deleted :
https://github.com/sonatype/m2eclipse-wtp/blob/master/org.maven.ide.eclipse.wtp/src/org/maven/ide/eclipse/wtp/AbstractProjectConfiguratorDelegate.java#L185
The Utility project configurator only works on maven projects that
already have the utility facet set, so their configuration can be
updated. Initial configuration is triggered by depending projects (war
or ear).
If you install the Utility facet in your SYconfigurator and it runs
after the Utility configurator(assuming you can't change the maven phase
in which it's called), I suggest you copy what's done in
https://github.com/sonatype/m2eclipse-wtp/blob/master/org.maven.ide.eclipse.wtp/src/org/maven/ide/eclipse/wtp/AbstractProjectConfiguratorDelegate.java#L107
and
https://github.com/sonatype/m2eclipse-wtp/blob/master/org.maven.ide.eclipse.wtp/src/org/maven/ide/eclipse/wtp/UtilityProjectConfigurator.java#L56
, i.e. call WTPProjectsUtil.removeWTPClasspathContainer(),
WTPProjectsUtil.removeTestFolderLinks(),
WTPProjectsUtil.setNonDependencyAttributeToContainer(). There is
obviously some duplication between
UtilityProjectConfigurator.configure() and
AbstractProjectConfiguratorDelegate.configureWtpUtil () and hopefully
I'll be able to refactor that at a later date (quality patches accepted).
About setting the proper maven configuration when setting the Maven
facet, it seemed to work last time I checked, please open a ticket in
JIRA with some steps to reproduce, so I can take a look.
Also, please note that I'm trying to add a conversion API directly in
m2e-core : https://bugs.eclipse.org/bugs/show_bug.cgi?id=359340
HIH. Regards,
Fred Bricon
Le 07/01/2012 23:17, Rob Cernich a écrit :
> Hey all,
>
> I just finished adding some basic WTP support for SwitchYard and had a couple of questions regarding WTP and Maven integration. The SwitchYard facet can be added to any JEE type (although it is not currently constrained in this fashion). If the project is not already a JEE type project, the Utility Module facet is added. This effectively allows SY applications to be deployed to any JEE server.
>
> Some of the issues:
> Adding the Utility Module facet causes the module nature to be added, which always creates a META-INF/MANIFEST.MF file within the project. Is there a way to disable this behavior for Maven projects (e.g. where Maven may be generating the manifest)?
>
> Maven project configurators run in the order they appear in the lifecycle processing. There is a Utility Module configurator that configures projects containing the Utility Module facet. However, this is executed during the compile phase and the SY configurator, which adds the Utility Module facet, runs during the process-classes phase. Because of this, the "deployables" are not configured correctly on the project (i.e. the test sources and resources are included). The current workaround is to run Maven->Update Project Configuration after the project is created or imported. Is there a way to fix this? (FYI, this is not a problem if the project is based on another JEE technology, e.g. WAR, EJB, etc.)
>
> When running the new faceted project wizard and including the Maven facet, it would be nice if the other facets' configurations were defaulted appropriately (e.g. Java source and output folders, web resources, etc.). Is there a way to provide more useful defaults?
>
> Sorry for the barrage of questions.
>
> Thanks in advance,
> Rob
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
More information about the jbosstools-dev
mailing list