1 Reply Latest reply on Sep 5, 2008 12:59 PM by sebersole

    Using the maven-jdocbook-plugin

    thomas.diesler

      Hi Steve,

      I saw you in

      svn log --limit 10 http://anonsvn.jboss.org/repos/labs/labs/jbossbuild/maven-plugins/trunk/maven-jdocbook-plugin
      


      so I assume you are the right guy to talk to ;-)

      I am using this forum because I did find a more appropriate channel, is there one?

      If not, here my question

       <plugin>
       <groupId>org.jboss.maven.plugins</groupId>
       <artifactId>maven-jdocbook-plugin</artifactId>
       <extensions>true</extensions>
       <configuration>
       <sourceDocumentName>en/master.xml</sourceDocumentName>
       <formats>
       <format>
       <formatName>html</formatName>
       </format>
       </formats>
       </configuration>
       </plugin>
      


      Seems to work for

      [tdiesler@tdvaio userguide]$ mvn clean jdocbook:generate jdocbook:bundle
      
      [INFO] [jdocbook:generate]
      [INFO] [jdocbook:bundle]
      [INFO] Building jar: /home/tdiesler/svn/jbpm/jbpm3/trunk/modules/jpdl/userguide/target/classes/jbpm-jpdl-userguide-3.3.0-SNAPSHOT.war
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESSFUL
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 21 seconds
      [INFO] Finished at: Fri Sep 05 15:52:20 CEST 2008
      [INFO] Final Memory: 15M/103M
      [INFO] ------------------------------------------------------------------------
      


      Just using jdocbook:bundle fails

      [tdiesler@tdvaio userguide]$ mvn clean jdocbook:bundle
      
      [INFO] [jdocbook:bundle]
      [INFO] ------------------------------------------------------------------------
      [ERROR] BUILD ERROR
      [INFO] ------------------------------------------------------------------------
      [INFO] Rendering problem
      
      Embedded error: Unable to populate archive [/home/tdiesler/svn/jbpm/jbpm3/trunk/modules/jpdl/userguide/target/classes/jbpm-jpdl-userguide-3.3.0-SNAPSHOT.war]
      /home/tdiesler/svn/jbpm/jbpm3/trunk/modules/jpdl/userguide/target/docbook/publish/en-US/html isn't a directory.
      


      Is this expected?

      Also I'd like to bind the bundle goal to the package phase. Perhaps like this

       <plugin>
       <groupId>org.jboss.maven.plugins</groupId>
       <artifactId>maven-jdocbook-plugin</artifactId>
       <extensions>true</extensions>
       <executions>
       <execution>
       <phase>package</phase>
       <goals>
       <goal>generate</goal>
       <goal>bundle</goal>
       </goals>
       <configuration>
       <sourceDocumentName>en/master.xml</sourceDocumentName>
       <formats>
       <format>
       <formatName>html</formatName>
       </format>
       </formats>
       </configuration>
       </execution>
       </executions>
       </plugin>
      


      Running

      [tdiesler@tdvaio userguide]$ mvn install
      
      [INFO] [jdocbook:generate {execution: default}]
      [INFO] [jdocbook:bundle {execution: default}]
      [INFO] Building jar: /home/tdiesler/svn/jbpm/jbpm3/trunk/modules/jpdl/userguide/target/classes/jbpm-jpdl-userguide-3.3.0-SNAPSHOT.war
      [INFO] [install:install]
      [INFO] Installing /home/tdiesler/svn/jbpm/jbpm3/trunk/modules/jpdl/userguide/pom.xml to /home/tdiesler/.m2/repository/org/jboss/jbpm/jbpm-jpdl-userguide/3.3.0-SNAPSHOT/jbpm-jpdl-userguide-3.3.0-SNAPSHOT.pom
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESSFUL
      [INFO] ------------------------------------------------------------------------
      


      Only installs the pom, but not the war. Also please notice that the war is build at a strange location. Shouldn't it just be 'target'?

      This is

      [tdiesler@tdvaio userguide]$ mvn help:effective-pom
      ...
       <groupId>org.jboss.maven.plugins</groupId>
       <artifactId>maven-jdocbook-plugin</artifactId>
       <version>2.1.3-20080831.141438-5</version>
      


      Please advice

        • 1. Re: Using the maven-jdocbook-plugin
          sebersole

          Hey Thomas, long time...

          Are you defining the docs in a seperate module? If so, have you looked at defining the packaging of that module to be 'jdocbook'? That's how I set this up in Hibernate: http://anonsvn.jboss.org/repos/hibernate/core/trunk/documentation/manual/pom.xml

          Basically this gives you some default lifecycle bindings. For example, the jdocbook:bundle goal gets bound to the maven package phase, etc. Phases are the things that have pre-requisites (have to compile before testing, etc); goals do not. So when you say to achieve the 'bundle' goal w/o first achieving the 'generate' goal, things will 'blow up'. However, if you set up the phase bindings then you can just say 'mvn package'