9 Replies Latest reply on Oct 18, 2007 3:26 PM by Paul Gier

    AS integration project release procedure

    Jonathan Halliday Master

      Hi All

      I've made a change in https://svn.jboss.org/repos/jbossas/projects/integration/trunk and now I need to figure out how to do a release for use by the AS. The project has a top level pom and three children. Each of the four files has a version number in it. I've only updated one of the subprojects. Do I increment the versions for the others too or only for the parent and the one I've modified? And since the svn tag encompasses all of them, presumably it's name is based on the highest version across all the sub-projects?

      Thanks

        • 1. Re: AS integration project release procedure
          Paul Gier Master

          I set the version numbers back to 5.0.0-SNAPSHOT. It looks like they were left at 5.0.0.Beta3 from the last release.
          You should be able to use the maven release plugin from the pom in the build directory.

          mvn release:prepare -DdryRun=true

          The release plugin will prompt you for version numbers for each module, and for the name of the tag that you want to create. I will create the tag and change the poms. For more information look at this page:
          http://wiki.jboss.org/wiki/Wiki.jsp?page=MavenReleaseProcess



          • 2. Re: AS integration project release procedure
            Jonathan Halliday Master

            Thanks Paul. The mechanics are well documented, but the way to figure out what values to input to the process is not. When I'm asked for the version numbers, what do I use? I've only changed one sub module. Do I change the version numbers for the others so they all stay in sync? If so, why are they separate sub modules in the first place?

            • 3. Re: AS integration project release procedure
              Paul Gier Master

              If you just want to be able to use the new module jar, then you probably can just deploy it to the snapshot server. "mvn deploy" and then add the dependency in the app server, or wherever you want to use it. I deployed the new module to here if you want to use that one:
              http://snapshots.jboss.org/maven2/org/jboss/jboss-corba-ots-spi/

              As far as releasing a single module or the whole project, I guess that's up to whoever is the project lead for that. Maybe Adrian or Scott?
              Multi-module projects like this are usually meant to be released together, but you can get around it and release individual modules if you want.

              • 4. Re: AS integration project release procedure
                Adrian Brock Master

                The idea of the integration project is that it produces a combinded
                jboss-integration.jar (it's an assembly) for JBossAS.

                But other projects can consume only part of the project, e.g.
                jboss-transaction-spi.jar
                if they want.

                The versions should be same for each release for both the assembly and
                the subprojects.

                • 5. Re: AS integration project release procedure
                  Dimitris Andreadis Master

                  I tried to release Beta4 and went up to the point of the maven release:prepare, target, so the tag is created:
                  https://svn.jboss.org/repos/jbossas/projects/integration/tags/5.0.0.Beta4/
                  Then I tried a maven mvn release:perform but it fails:

                  X:\cvs\jboss-public\projects\integration\build>mvn release:perform
                  [INFO] Scanning for projects...
                  [INFO] Reactor build order:
                  [INFO] JBoss Integration 5.0 Build
                  [INFO] JBoss ClassLoading 5.0.0 SPI
                  [INFO] JBoss Transaction 5.0.0 SPI
                  [INFO] JBoss 5.0.0 CORBA OTS SPI
                  [INFO] Searching repository for plugin with prefix: 'release'.
                  [INFO] -------------------------------------------------------------------------
                  ---
                  [INFO] Building JBoss Integration 5.0 Build
                  [INFO] task-segment: [release:perform] (aggregator-style)
                  [INFO] -------------------------------------------------------------------------
                  ---
                  [INFO] [release:perform]
                  [INFO] Checking out the project to perform the release ...
                  [INFO] Executing: svn --non-interactive checkout https://svn.jboss.org/repos/jbo
                  ssas/projects/integration/tags/5.0.0.Beta4 checkout
                  [INFO] Working directory: X:\cvs\jboss-public\projects\integration\build\target
                  [INFO] Executing goals 'deploy'...
                  [INFO] Executing: mvn deploy --no-plugin-updates -P local-properties,local-prope
                  rties -DperformRelease=true
                   [INFO] Scanning for projects...
                   [INFO] ---------------------------------------------------------------------
                  ---
                   [ERROR] FATAL ERROR
                   [INFO] ---------------------------------------------------------------------
                  ---
                   [INFO] Error building POM (may not be this project's POM).
                  
                  
                   Project ID: unknown
                  
                   Reason: Could not find the model file 'X:\cvs\jboss-public\projects\integrat
                  ion\build\target\checkout\..\jboss-classloading-spi\pom.xml'.
                  
                  
                   [INFO] ---------------------------------------------------------------------
                  ---
                   [INFO] Trace
                   org.apache.maven.reactor.MavenExecutionException: Could not find the model f
                  ile 'X:\cvs\jboss-public\projects\integration\build\target\checkout\..\jboss-cla
                  ssloading-spi\pom.xml'.
                   at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:365)
                   at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:278)
                   at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
                   at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
                  java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
                  sorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
                   at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
                   at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
                  
                   at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
                   Caused by: org.apache.maven.project.ProjectBuildingException: Could not find
                   the model file 'X:\cvs\jboss-public\projects\integration\build\target\checkout\
                  ..\jboss-classloading-spi\pom.xml'.
                   at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(Default
                  MavenProjectBuilder.java:1274)
                   at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFi
                  leInternal(DefaultMavenProjectBuilder.java:414)
                   at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMave
                  nProjectBuilder.java:192)
                   at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:515)
                   at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:447)
                   at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:491)
                   at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:351)
                   ... 11 more
                   Caused by: java.io.FileNotFoundException: X:\cvs\jboss-public\projects\integ
                  ration\build\target\checkout\..\jboss-classloading-spi\pom.xml (The system canno
                  t find the path specified)
                   at java.io.FileInputStream.open(Native Method)
                   at java.io.FileInputStream.<init>(FileInputStream.java:106)
                   at java.io.FileReader.<init>(FileReader.java:55)
                   at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(Default
                  MavenProjectBuilder.java:1269)
                   ... 17 more
                   [INFO] ---------------------------------------------------------------------
                  ---
                   [INFO] Total time: < 1 second
                   [INFO] Finished at: Thu Oct 18 19:44:44 EEST 2007
                   [INFO] Final Memory: 1M/2M
                   [INFO] ---------------------------------------------------------------------
                  ---
                  [INFO] ------------------------------------------------------------------------
                  [ERROR] BUILD ERROR
                  [INFO] ------------------------------------------------------------------------
                  [INFO] Maven execution failed, exit code: '1'
                  
                  [INFO] ------------------------------------------------------------------------
                  [INFO] For more information, run Maven with the -e switch
                  [INFO] ------------------------------------------------------------------------
                  [INFO] Total time: 14 seconds
                  [INFO] Finished at: Thu Oct 18 19:44:44 EEST 2007
                  [INFO] Final Memory: 5M/10M
                  [INFO] ------------------------------------------------------------------------
                  


                  • 6. Re: AS integration project release procedure
                    Paul Gier Master

                    It looks like it only tagged the build directory, so when it tries to build, it can't find the modules. When you ran the release:perform, did you run it from the build subdirectory?

                    • 7. Re: AS integration project release procedure
                      Dimitris Andreadis Master

                      yes, from the build directory.

                      • 8. Re: AS integration project release procedure
                        Scott Stark Master

                        This is the same problem I had, its not tagging the entire source tree. I had to do the release by hand after doing a mvn:install to create the artifacts. Paul, we need to structure this correctly to work. I thought we needed to introduce a top-level pom.xml rather than using the build/pom.xml.

                        • 9. Re: AS integration project release procedure
                          Paul Gier Master

                          I added a top level pom to function as an aggregate. I did the release, and this seemed to work ok. It was able to tag the whole structure instead of just the build directory.