1 2 3 4 Previous Next 89 Replies Latest reply on Dec 16, 2007 10:54 AM by nugyentv Go to original post
      • 15. Re: Seam & Maven2
        mzeijen

        Thanks, that will really help :D.

        But an official list would be great. Is there any time to make on Gavin? Or do I need to create a Task in Jira?

        • 16. Re: Seam & Maven2
          maxandersen

          The above is the answer from Gavin ;)

          To get a more complete list we simply just need to go through the thirdparty-all.jar and figure out what is in there precisly; I could do that, but you could do it too (hint hint ;)

          If you generate the list then I can verify it for you. I think that will be the most efficient way of doing it.

          Simply look at the packages in the .jar and find the corresponding one in hibernate3/lib.

          • 17. Re: Seam & Maven2
            mzeijen

             

            If you generate the list then I can verify it for you. I think that will be the most efficient way of doing it.

            That sounds fine to me. I will create a wiki page for it.

            What about jboss-ejb3-all.jar? Is there also some neat way to find out which libraries and versions are in there?

            The hibernate-all.jar is probably the latest Hibernate version with the latest javax.persistence library, or not?

            • 18. Re: Seam & Maven2
              mzeijen

              I created a wiki page for it: http://wiki.jboss.org/wiki/Wiki.jsp?page=SeamDependencies . I only put a warning on it that the data is incomplete and could be incorrect.

              • 19. Re: Seam & Maven2
                pmuir

                I put up my best guesses on hibernate-all and jboss-ejb3-all.jar. Version wise, I think they are probably JBoss AS 4.0.5 versions. jboss-ejb3-all.jar looks to me like the contents of a new ejb3 project in eclipse, less persistence and commons logging. HTH

                • 20. Re: Seam & Maven2
                  denis-karpov

                  I am extremely happy to see a serious interest in the maven2 integration.
                  I am also confident that Gavin will love this ;-)


                  I am not sure that it is something new for you people. May be it will be helpful.
                  This is the POM I have used for building SEAM 1.1.1.BETA2

                  POM.XML

                  <?xml version="1.0" encoding="UTF-8"?>
                  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
                   <modelVersion>4.0.0</modelVersion>
                   <groupId>org.jboss.seam</groupId>
                   <artifactId>jboss-seam</artifactId>
                   <packaging>jar</packaging>
                   <version>1.1.0.BETA2</version>
                   <description>qqq</description>
                   <dependencies>
                   <!--dependency>
                   <groupId>org.hibernate</groupId>
                   <artifactId>hibernateAll</artifactId>
                   <version>SEAM.1.1.0.BETA2</version>
                   </dependency-->
                   <dependency>
                   <groupId>org.hibernate</groupId>
                   <artifactId>hibernate</artifactId>
                   <version>3.2.0.ga</version>
                   </dependency>
                   <dependency>
                   <groupId>org.hibernate</groupId>
                   <artifactId>hibernate-annotations</artifactId>
                   <version>3.2.0.ga</version>
                   </dependency>
                   <dependency>
                   <groupId>org.hibernate</groupId>
                   <artifactId>hibernate-entitymanager</artifactId>
                   <version>3.2.0.ga</version>
                   </dependency>
                   <dependency>
                   <groupId>org.jboss.ejb3</groupId>
                   <artifactId>jboss-ejb3-all</artifactId>
                   <version>SEAM.1.1.0.BETA2</version>
                   </dependency>
                   <dependency>
                   <groupId>org.jboss.jbpm</groupId>
                   <artifactId>jbpm</artifactId>
                   <version>3.1.2</version>
                   </dependency>
                   <dependency>
                   <groupId>org.jboss.drools</groupId>
                   <artifactId>drools-core</artifactId>
                   <version>3.0.1</version>
                   </dependency>
                   <dependency>
                   <groupId>org.jboss.drools</groupId>
                   <artifactId>drools-compiler</artifactId>
                   <version>3.0.1</version>
                   </dependency>
                   <dependency>
                   <groupId>org.jboss.cache</groupId>
                   <artifactId>jboss-cache</artifactId>
                   <version>SEAM.1.1.0.BETA2</version>
                   </dependency>
                   <dependency>
                   <groupId>javax.portlet</groupId>
                   <artifactId>portlet-api</artifactId>
                   <version>1.0</version>
                   </dependency>
                   <dependency>
                   <groupId>org.testng</groupId>
                   <artifactId>testng</artifactId>
                   <classifier>jdk15</classifier>
                   <version>5.1</version>
                   </dependency>
                   <dependency>
                   <groupId>log4j</groupId>
                   <artifactId>log4j</artifactId>
                   <version>1.2.13</version>
                   </dependency>
                   <dependency>
                   <groupId>commons-logging</groupId>
                   <artifactId>commons-logging</artifactId>
                   <version>1.1</version>
                   </dependency>
                   <dependency>
                   <groupId>commons-collections</groupId>
                   <artifactId>commons-collections</artifactId>
                   <version>3.2</version>
                   </dependency>
                   <dependency>
                   <groupId>org.apache.myfaces.core</groupId>
                   <artifactId>myfaces-api</artifactId>
                   <version>1.1.4</version>
                   </dependency>
                   <dependency>
                   <groupId>javax.el</groupId>
                   <artifactId>el-api</artifactId>
                   <version>1.2</version>
                   </dependency>
                   <dependency>
                   <groupId>javax.el</groupId>
                   <artifactId>el-ri</artifactId>
                   <version>1.2</version>
                   </dependency>
                   <dependency>
                   <groupId>javax.servlet</groupId>
                   <artifactId>jstl</artifactId>
                   <version>1.1.2</version>
                   </dependency>
                   <dependency>
                   <groupId>javax.servlet</groupId>
                   <artifactId>servlet-api</artifactId>
                   <version>2.5</version>
                   </dependency>
                   </dependencies>
                   <build>
                   <plugins>
                   <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <version>2.0</version>
                   <configuration>
                   <source>1.5</source>
                   <target>1.5</target>
                   </configuration>
                   </plugin>
                   </plugins>
                   <outputDirectory>target/jboss-seam.jar</outputDirectory>
                   </build>
                  </project>



                  And this is files that I have to put in my local repository.

                  mvn install:install-file -Dfile=c:\javaprogs\new\jboss-seam-1.1.0.BETA2\lib\jboss-ejb3-all.jar -DgroupId=org.jboss.ejb3 -DartifactId=jboss-ejb3-all -Dversion=SEAM.1.1.0.BETA2 -Dpackaging=jar
                  
                  mvn install:install-file -Dfile=c:\javaprogs\new\jboss-seam-1.1.0.BETA2\lib\jbpm-3.1.2.jar -DgroupId=org.jboss.jbpm -DartifactId=jbpm -Dversion=3.1.2 -Dpackaging=jar
                  
                  mvn install:install-file -Dfile=c:\javaprogs\new\jboss-seam-1.1.0.BETA2\drools\lib\drools-core-3.0.3.jar -DgroupId=org.jboss.drools -DartifactId=drools-core -Dversion=3.0.3 -Dpackaging=jar
                  
                  mvn install:install-file -Dfile=c:\javaprogs\new\jboss-seam-1.1.0.BETA2\drools\lib\drools-compiler-3.0.3.jar -DgroupId=org.jboss.drools -DartifactId=drools-compiler -Dversion=3.0.3 -Dpackaging=jar
                  
                  mvn install:install-file
                   -Dfile=c:\javaprogs\new\jboss-seam-1.1.0.BETA2\lib\jboss-cache-jdk50.jar
                   -DgroupId=org.jboss.cache -DartifactId=jboss-cache
                   -Dversion=SEAM.1.1.0.BETA2 -Dpackaging=jar
                  
                  mvn install:install-file -Dfile=c:\javaprogs\new\hibernate-3.2\lib\jta.jar
                   -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B
                   -Dpackaging=jar
                  
                  mvn install:install-file
                   -Dfile=c:\javaprogs\new\jboss-seam-1.1.0.BETA2\lib\el-api.jar
                   -DgroupId=javax.el -DartifactId=el-api -Dversion=1.2 -Dpackaging=jar
                  
                  mvn install:install-file
                   -Dfile=c:\javaprogs\new\jboss-seam-1.1.0.BETA2\lib\el-ri.jar
                   -DgroupId=javax.el -DartifactId=el-ri -Dversion=1.2
                   -Dpackaging=jar




                  • 21. Re: Seam & Maven2
                    gavin.king

                    So is the plan here to be able to create maven support for building Seam itself, documentation, and example apps?

                    Or is the plan just to have something which people can use for building their own projects?

                    Or both?

                    • 22. Re: Seam & Maven2
                      gavin.king

                      Actually most of the jars in the lib directory come from:

                      jboss-EJB-3.0_Embeddable_ALPHA_8-patch2.zip

                      Because of a bad bug in ALPHA_9, Seam was never updated to use it.

                      • 23. Re: Seam & Maven2
                        ccanning

                        I think we are going to try to do both.

                        • 24. Re: Seam & Maven2
                          maxandersen

                          I would recommend you start out doing the POM for something that can be used by *users* of Seam.

                          Then afterwards we can begin having "fun" with trying to "bend" either seam buildstructure or Maven to be compatible.

                          • 25. Re: Seam & Maven2
                            gavin.king

                            It depends how much time you have to put into this. I'd love to see a mavenized build of the Seam dist, assuming it made the build simpler, and not more complex. But this could turn out to be a pretty major undertaking. I would much rather see *something* useful come out of this process, than see you guys give up due to lack of time....

                            • 26. Re: Seam & Maven2
                              mzeijen

                              I must agree with max. My plan is as following:

                              1. Get both releases, with dependencies, in the official repositories. This way it is very simple for users to create their own Maven2 projects with Seam in the dependency list without having to worry about Seam its dependencies.

                              2. Find out how we can make it easy for the users to cope with those annoying javax.{library} libraries that aren't allowed in public Maven2 repositories because of their license.

                              3. Create archetypes for Seam. An archetype is a project template from which you can generate the main parts of a Maven2 project. It is a bit like the Seam generator, but simpler. It only creates a file structure, it doesn't reverse engineer a database. But maybe I can create a Maven2 plugin to do that some day ;).

                              4. Create some nice tutorials how to handle a Seam with Maven2 project. It will contain the basics but also stuff like how to make the combination work with Eclipse and have nice stuff like hot-swap with JBoss in development time.

                              5. Like Max says: having "fun" with trying to "bend" either seam buildstructure or Maven to be compatible. This means that you get the full power of Maven2 for developing Seam itself.

                              6. The most difficult part: Getting Gavin so far that he will switch to Maven2 ;).

                              But we first need to do number 1. And every help is appreciated.

                              @Gavin: I saw your post during the writing of this post. As you can see my main focus is creating something that will be useful too the users and make their lives easier.

                              • 27. Re: Seam & Maven2
                                gavin.king

                                OK, cool.

                                A first step on (5) would be to try to retrospectively apply the unified maven build to the Seam examples directory. I think it would be perfectly reasonable to use Ant for building Seam, and maven for building the examples.

                                Again, assuming that Maven actually makes things simpler and not more complex - which I'm withholding judgment on for now :-)

                                • 28. Re: Seam & Maven2
                                  mzeijen

                                  @Gavin: If you have an hour of time then you should read the first part of that book that I recommended. It is really interesting and helps you in understanding Maven2.

                                  • 29. Re: Seam & Maven2
                                    gavin.king

                                    Yeah, just after I get through the first chapter of that Rails book a bought 6 months ago ;-)

                                    Are you saying I need to take a Maven book with me on vacation :-)

                                    1 2 3 4 Previous Next