[jbosstools-issues] [JBoss JIRA] Commented: (JBIDE-3874) Maven integration

Snjezana Peco (JIRA) jira-events at lists.jboss.org
Thu Jun 18 07:07:09 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBIDE-3874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12472707#action_12472707 ] 

Snjezana Peco commented on JBIDE-3874:
--------------------------------------

> * What are that M2 Capabilities on the maven install page ? That is just id's for the current project ?

The M2 facet page enables a user to add the following maven properties:
groupId, artifactId, version, packaging, name and description 
If the project contains the Seam facet, the user can choose a maven version of Seam -  2.1.1.GA is the default for the Seam facet 2.1 and 2.0.2.SP1 for the 

Seam facet 2.0.
The user can also decide whether to remove WTP classpath containers (where the path starts with org.eclipse.jst)

> * Is packaging choices the right thing to have on the maven page ? If yes, we should have it in sync with the packaging chosen on the seam (and other 

possible names)

In case of a Seam project, packaging is related to a web project and needs to be war - we can disable this field.

> * Why is Seam listed on the M2 capabilities page ? Should it care at this point ?

The M2 facet recognizes that the project contains the Seam facet and enables the user to choose a Seam version.

> * Couldn't we somehow let Seam use the library provider mechanism JSF does and then delegate that to the M2ClasspathProvider and simply just have ui 

> show up that ask you for JSF and Seam artifact id's ?

As to JSF, I am planning to add an extension point that would use WTP 3.1 Library Framework and provide contributions that would  add dependencies to 
the M2 classpath container. Some facet would be able to use that extension point.
The Seam project wizard is specific and is not easy to contribute in the Seam facet. The Seam facet doesn't use the WTP Library framework, but copies 
libraries from a Seam distribution. I have changed the wizard so that libraries aren't copied, but added to the M2 classpath container within the post install 
delegate. Post install delegate because we need to know properties of the Seam facet and JBoss Maven facet when adding these libraries to the M2 
classpath container.
The current Seam wizard is minimally changed this way. 

Seam requires more than JSF and Seam artifacts: hibernate, drools, richfaces, facelets ... we need versions of all of these artifacts.

> * And yes, as Eugene asks....does this run from the command line too ? 

The project can be run from the command line using maven 2.0.9 (probably 2.0.10), but can't using Run As>Maven clean/Run As>Maven install.
The problem is that m2eclipse uses maven 2.1 that is not compatible with maven 2.0

As to Maven > Update project configuration action, it changes the project. For example, if there is the following configuration within the WAR project :
<plugin>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webappDirectory>${basedir}/WebContent</webappDirectory>
          <warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
        </configuration>
      </plugin>

Update project configuration will unecessary create a directory that will depend on the workspace (something similar as <workspace>/WebContent). This is 
a bug in m2eclipse because the Update project configuration action doesn't check if the URL is in the workspace, but treats it relative to the workspace.
See https://jira.jboss.org/jira/browse/JBIDE-4413
There is also a problem to ensure the Import Maven Project action to work correctly. Namely, the root directory of the EAR project is EarContent. maven-ear-plugin (>=2.3) doesn't allow changing the resource directory. In order to fix the project to run from the command line, I have configured EarContent as the source directory and src/main/application (the default resource directory of maven-ear-plugin) as the output directory of the Eclipse project . Eclipse deploying, m2eclipse EAR configurator as well as mvn commands from the command line work correctly this way. However, Import Maven projects probably won't  import the EarContent directory, WTP settings, Seam settings...

> Maven integration
> -----------------
>
>                 Key: JBIDE-3874
>                 URL: https://jira.jboss.org/jira/browse/JBIDE-3874
>             Project: Tools (JBoss Tools)
>          Issue Type: Feature Request
>          Components: common
>    Affects Versions: 3.0.0.GA
>            Reporter: Max Rydahl Andersen
>            Assignee: Snjezana Peco
>            Priority: Critical
>             Fix For: 3.1.0.M2
>
>
> It is time to make sure our stuff works well with Maven, at least to the extent that the underline runtimes support it.
> First shot would be to add an adapter that allows m2eclipse controlled projects to activate the seam features.
> That would allow us still to bundle JBoss Tools without any dependencies to m2eclipse which still seem to drag in non-compatible plugins which we need to look into before tying us to m2eclipse.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbosstools-issues mailing list