]
Max Rydahl Andersen updated JBIDE-4727:
---------------------------------------
Fix Version/s: 3.1.0.M3
3.1.0.M4
Assignee: Snjezana Peco
Support distribution defining "New Project" dependencies
--------------------------------------------------------
Key: JBIDE-4727
URL:
https://jira.jboss.org/jira/browse/JBIDE-4727
Project: JBoss Tools
Issue Type: Feature Request
Components: Seam
Reporter: Pete Muir
Assignee: Snjezana Peco
Fix For: 3.1.0.M3, 3.1.0.M4
Summary:
Move the responsibility for defining a "New Seam Project"'s dependencies
(libraries) from JBoss Tools to the Seam distribution. Use the Maven 2 POM format to
define the dependencies. Use Maven POM profiles to support different use cases for Seam
projects.
Reason:
Currently JBoss Tools defines the project dependencies which causes issues very time Seam
changes either the dependency set of a new seam project, or the layout of libraries in the
distribution. Use Maven 2 POM format as it is already a well defined and understood model.
Use of Maven POM profiles can further increase the flexibility and support various use
cases for Seam (for example, Seam with jBPM or Seam with ICEFaces).
Details:
JBoss Tools should be able to read these files from the seam-gen/ directory: war.pom.xml,
ear.pom.xml, ejb-jar.ear.pom.xml, war.ear.pom.xml. The war.pom.xml defines the
dependencies for a WAR project; the *ear.pom.xml define dependencies for the composite
modules of an EAR project. The standard Maven scopes are used: compile to indicate
compile/runtime dependencies of the project, test to indicate extra dependencies required
in the test project.
Maven profiles are used to define additional dependency sets for new seam projects,
allowing the user to optionally add extra dependencies to his project. To make this
extensible, and not require JBossTools to use a well-known list of profile ids, an xml
namespace will be used to add additional metadata to the profile. This allows JBossTools
to identify the possible profiles:
<profile>
<id>drools5</id>
<jbt:profile>
<jbt:description>Drools 5 support (Tech Preview)</jbt:description>
</jbt:profile>
<!--Standard Maven elements -->
</profile>
<profile>
<id>ICEFaces</id>
<jbt:profile>
<jbt:description>ICEFaces</jbt:description>
</jbt:profile>
<!--Standard Maven elements -->
</profile>
JBossTools can recognize the jbt:profile element, and use the jbt:description element to
as a descriptive element to present to the user:
[x] ICEFaces
[x] Drools 5 support (Tech Preview)
displayed in the New Seam Project Wizard.
We should allow for additional information to be placed in the POM and in the future
beyond dependency information. For example, additional configuration files to include in
the generated project, however this is not a critical feature.
We should also consider allowing JBoss Tools to retrieve the POMs from a Maven
repository. This would require a user to simply specify the version of Seam they require,
and have JBoss Tools download the seam-gen artifact containing all templates and
resources.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: