0 Replies Latest reply on Jun 13, 2009 8:34 AM by Arbi Sookazian

    Seam 3 and Maven

    Arbi Sookazian Master

      so there is a Maven archetype for Seam here: http://www.lunarlogic.com/newsarticle/4. not sure how popular it is.


      what is the status of build tool for Seam 3?  will it be officially Ant or Maven?  I know that Maven enforces a project structure that is not compliant/compatible with seam-gen's project strucute (seam create-project).


      Also, anybody know when an ALPHA version of Seam 3 will be available?



      The Super POM is Maven's default POM. All POMs extend the Super POM unless explicitly set, meaning the configuration specified in the Super POM is inherited by the POMs you created for your projects. The snippet below is the Super POM for Maven 2.0.x.

      Is it possible to override the Super POM to make our custom POMs more Seam-friendly (specifically the <build> XML paragraph and configs below)?


      <project>
        <modelVersion>4.0.0</modelVersion>
        <name>Maven Default Project</name>
      
        <repositories>
          <repository>
            <id>central</id>
            <name>Maven Repository Switchboard</name>
            <layout>default</layout>
            <url>http://repo1.maven.org/maven2</url>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
          </repository>
        </repositories>
      
        <pluginRepositories>
          <pluginRepository>
            <id>central</id>
            <name>Maven Plugin Repository</name>
            <url>http://repo1.maven.org/maven2</url>
            <layout>default</layout>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
            <releases>
              <updatePolicy>never</updatePolicy>
            </releases>
          </pluginRepository>
        </pluginRepositories>
      
        <build>
          <directory>target</directory>
          <outputDirectory>target/classes</outputDirectory>
          <finalName>${artifactId}-${version}</finalName>
          <testOutputDirectory>target/test-classes</testOutputDirectory>
          <sourceDirectory>src/main/java</sourceDirectory>
          <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
          <testSourceDirectory>src/test/java</testSourceDirectory>
          <resources>
            <resource>
              <directory>src/main/resources</directory>
            </resource>
          </resources>
          <testResources>
            <testResource>
              <directory>src/test/resources</directory>
            </testResource>
          </testResources>
        </build>
      
        <reporting>
          <outputDirectory>target/site</outputDirectory>
        </reporting>
      
        <profiles>
          <profile>
            <id>release-profile</id>
      
            <activation>
              <property>
                <name>performRelease</name>
              </property>
            </activation>
      
            <build>
              <plugins>
                <plugin>
                  <inherited>true</inherited>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-source-plugin</artifactId>
      
                  <executions>
                    <execution>
                      <id>attach-sources</id>
                      <goals>
                        <goal>jar</goal>
                      </goals>
                    </execution>
                  </executions>
                </plugin>
                <plugin>
                  <inherited>true</inherited>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
      
                  <executions>
                    <execution>
                      <id>attach-javadocs</id>
                      <goals>
                        <goal>jar</goal>
                      </goals>
                    </execution>
                  </executions>
                </plugin>
                <plugin>
                  <inherited>true</inherited>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-deploy-plugin</artifactId>
      
                  <configuration>
                    <updateReleaseInfo>true</updateReleaseInfo>
                  </configuration>
                </plugin>
              </plugins>
            </build>
          </profile>
        </profiles>
      
      </project>
      



      Seems to me that builds with Ant are usually faster than with Maven b/c you typically already have all your dependencies in a lib directory and don't have to download dynamically like you do with Maven...