[
http://jira.codehaus.org/browse/MGWT-131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=202729#action_202729
]
Richard Allen edited comment on MGWT-131 at 12/15/09 12:19 PM:
---------------------------------------------------------------
@nicolas: I'm surprised you consider executing a maven plugin from a pom
project a "hack". Maven was designed to make that possible.
@Daniel: The following is a very shortened version of our project structure. It
provides for very good sharing of code between projects. Both project1 and
project2 are web applications (they compose {{.war}} files). The projects under
the {{apps/}} directories are Java WebStart apps that communicate with the web
application. The projects under the {{modules/}} directories are projects with
a WAR structure (portions of the overall WAR), which we once used the
maven-war-plugin to overlay on top of another war project to form the final war
file (e.g., {{project1.war}} and {{project2.war}}). Now we use the pom project
in the {{webapp/}} directories to assemble the project. We copy the
{{src/main/webapp}} directory as you suggested. The resulting JAR
({{src/main/resources}} and {{src/main/java}}) from the {{modules}} projects
end up in {{WEB-INF/lib}}. It's much more flexible, and much faster.
{noformat}
pom/
|- pom.xml (pom parent for all projects)
|
common/
|- pom.xml (pom parent for common projects)
|
|- util/
| |- pom.xml (jar project with common utility code)
| |- src/main/resources
| \- src/main/java
|
|- app/
| |- pom.xml (jar project with common domain code)
| |- src/main/resources
| \- src/main/java
|
|- web/
| |- pom.xml (jar project with common JEE code)
| |- src/main/resources
| \- src/main/java
|
|- gwt/
| |- pom.xml (jar project with common GWT widgets)
| |- src/main/resources
| \- src/main/java
|
|- modules/
| |- pom.xml (pom parent for common web modules - WAR projects)
| |
| \- user-admin-module/
| |- pom.xml (war type project)
| |- src/main/resources
| |- src/main/java
| \- src/main/webapp
|
project1/
|- pom.xml (pom parent for project1)
|
|- common/
| |- pom.xml (pom parent for project1 common JAR projects)
| |
| |- app/
| | |- pom.xml (jar project with project1 common domain code)
| | |- src/main/resources
| | \- src/main/java
| |
| |- web/
| | |- pom.xml (jar project with project1 common JEE code)
| | |- src/main/resources
| | \- src/main/java
| |
| \- gwt/
| |- pom.xml (jar project with project1 common GWT widgets)
| |- src/main/resources
| \- src/main/java
|
|- apps/
| |- pom.xml (pom parent for project1 WebStart application projects)
| |
| |- app1/
| | |- pom.xml (jar project - Java WebStart application)
| | |- src/main/resources
| | \- src/main/java
| |
| \- app2/
| |- pom.xml (jar project - Java WebStart application)
| |- src/main/resources
| \- src/main/java
|
|- modules/
| |- pom.xml (pom parent for project1 web modules - WAR projects)
| |
| |- feature1-module/
| | |- pom.xml (war type project)
| | |- src/main/resources
| | |- src/main/java
| | \- src/main/webapp
| |
| \- feature2-module/
| |- pom.xml (war type project)
| |- src/main/resources
| |- src/main/java
| \- src/main/webapp
|
|- webapp/
| \- pom.xml (pom project with <modules> to build project1.war)
|
project2/
|- pom.xml (pom parent for project2)
|
|- common/
| |- pom.xml (pom parent for project2 common JAR projects)
| |
| |- app/
| | |- pom.xml (jar project with project2 common domain code)
| | |- src/main/resources
| | \- src/main/java
| |
| |- web/
| | |- pom.xml (jar project with project2 common JEE code)
| | |- src/main/resources
| | \- src/main/java
| |
| \- gwt/
| |- pom.xml (jar project with project2 common GWT widgets)
| |- src/main/resources
| \- src/main/java
|
|- apps/
| |- pom.xml (pom parent for project2 WebStart application projects)
| |
| |- app1/
| | |- pom.xml (jar project - Java WebStart application)
| | |- src/main/resources
| | \- src/main/java
| |
| \- app2/
| |- pom.xml (jar project - Java WebStart application)
| |- src/main/resources
| \- src/main/java
|
|- modules/
| |- pom.xml (pom parent for project2 web modules - WAR projects)
| |
| |- feature1-module/
| | |- pom.xml (war type project)
| | |- src/main/resources
| | |- src/main/java
| | \- src/main/webapp
| |
| \- feature2-module/
| |- pom.xml (war type project)
| |- src/main/resources
| |- src/main/java
| \- src/main/webapp
|
|- webapp/
| \- pom.xml (pom project with <modules> to build project2.war)
|
...
{noformat}
was (Author: richard.allen):
@nicolas: I'm surprised you consider executing a maven plugin from a pom
project a "hack". Maven was designed to make that possible.
@Daniel: The following is a very shortened version of our project structure. It
provides for very good sharing of code between projects. Both project1 and
project2 are web applications (they compose {{.war}} files). The projects under
the {{apps/}} directories are Java WebStart apps that communicate with the web
application. The projects under the {{modules/}} directories are projects with
a WAR structure (portions of the overall WAR), which we once used the
maven-war-plugin to overlay on top of another war project to form the final war
file (e.g., {{project1.war}} and {{project2.war}}. Now we use the pom project
in the {{webapp/}} directories to assemble the project. We copy the
{{src/main/webapp}} directory as you suggested. The resulting JAR
({{src/main/resources}} and {{src/main/java}}) from the {{modules}} projects
end up in {{WEB-INF/lib}}. It's much more flexible, and much faster.
{noformat}
pom/
|- pom.xml (pom parent for all projects)
|
common/
|- pom.xml (pom parent for common projects)
|
|- util/
| |- pom.xml (jar project with common utility code)
| |- src/main/resources
| \- src/main/java
|
|- app/
| |- pom.xml (jar project with common domain code)
| |- src/main/resources
| \- src/main/java
|
|- web/
| |- pom.xml (jar project with common JEE code)
| |- src/main/resources
| \- src/main/java
|
|- gwt/
| |- pom.xml (jar project with common GWT widgets)
| |- src/main/resources
| \- src/main/java
|
|- modules/
| |- pom.xml (pom parent for common web modules - WAR projects)
| |
| \- user-admin-module/
| |- pom.xml (war type project)
| |- src/main/resources
| |- src/main/java
| \- src/main/webapp
|
project1/
|- pom.xml (pom parent for project1)
|
|- common/
| |- pom.xml (pom parent for project1 common JAR projects)
| |
| |- app/
| | |- pom.xml (jar project with project1 common domain code)
| | |- src/main/resources
| | \- src/main/java
| |
| |- web/
| | |- pom.xml (jar project with project1 common JEE code)
| | |- src/main/resources
| | \- src/main/java
| |
| \- gwt/
| |- pom.xml (jar project with project1 common GWT widgets)
| |- src/main/resources
| \- src/main/java
|
|- apps/
| |- pom.xml (pom parent for project1 WebStart application projects)
| |
| |- app1/
| | |- pom.xml (jar project - Java WebStart application)
| | |- src/main/resources
| | \- src/main/java
| |
| \- app2/
| |- pom.xml (jar project - Java WebStart application)
| |- src/main/resources
| \- src/main/java
|
|- modules/
| |- pom.xml (pom parent for project1 web modules - WAR projects)
| |
| |- feature1-module/
| | |- pom.xml (war type project)
| | |- src/main/resources
| | |- src/main/java
| | \- src/main/webapp
| |
| \- feature2-module/
| |- pom.xml (war type project)
| |- src/main/resources
| |- src/main/java
| \- src/main/webapp
|
|- webapp/
| \- pom.xml (pom project with <modules> to build project1.war)
|
project2/
|- pom.xml (pom parent for project2)
|
|- common/
| |- pom.xml (pom parent for project2 common JAR projects)
| |
| |- app/
| | |- pom.xml (jar project with project2 common domain code)
| | |- src/main/resources
| | \- src/main/java
| |
| |- web/
| | |- pom.xml (jar project with project2 common JEE code)
| | |- src/main/resources
| | \- src/main/java
| |
| \- gwt/
| |- pom.xml (jar project with project2 common GWT widgets)
| |- src/main/resources
| \- src/main/java
|
|- apps/
| |- pom.xml (pom parent for project2 WebStart application projects)
| |
| |- app1/
| | |- pom.xml (jar project - Java WebStart application)
| | |- src/main/resources
| | \- src/main/java
| |
| \- app2/
| |- pom.xml (jar project - Java WebStart application)
| |- src/main/resources
| \- src/main/java
|
|- modules/
| |- pom.xml (pom parent for project2 web modules - WAR projects)
| |
| |- feature1-module/
| | |- pom.xml (war type project)
| | |- src/main/resources
| | |- src/main/java
| | \- src/main/webapp
| |
| \- feature2-module/
| |- pom.xml (war type project)
| |- src/main/resources
| |- src/main/java
| \- src/main/webapp
|
|- webapp/
| \- pom.xml (pom project with <modules> to build project2.war)
|
...
{noformat}
> Plugin attempts to compile projects with 'pom' packaging
> --------------------------------------------------------
>
> Key: MGWT-131
> URL: http://jira.codehaus.org/browse/MGWT-131
> Project: Maven 2.x GWT Plugin
> Issue Type: Bug
> Affects Versions: 2.0
> Environment: Fedora 11, Java 1.6.0_16, Maven 2.2.1, GWT 1.7.1
> Reporter: Daniel Scott
> Assignee: nicolas de loof
> Priority: Minor
> Fix For: 1.2
>
>
> When the GWT compile goal is enabled for projects which have the 'pom'
> packaging type, maven attempts to compile the project and fails because no
> source code is available. The compilation should be disabled by default for
> projects which have the 'pom' packaging type.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email