java - Maven assembly : bundle docs and sources jars -
i have multi-module maven project. each library module generates own jar output:
parent (pom) | library_01 (jar) | output: | | | lib1.jar | | | lib1-docs.jar | | | lib1-sources.jar | library_02 (jar) | output: | | | lib2.jar | | | lib2-docs.jar | | | lib2-sources.jar | distribution (pom) // uses assembly plug-in assemble outputs of other modules here output: | lib1.jar | lib2.jar i'm assembling other module's binaries in distribution module explained in maven-assembly-plugin's documentation here. pom's in tutorial.
it works way shown in documentation. in package phase, assembly plugin collects both other module's jars in distribution module. can see, other library modules configured produce docs , source jars well.
how configure assembly plugin collect docs , sources jars of other modules ?
thinking distribution, above setup doesn't seem appropriate. still end bunch of jars different libraries. can classes,sources , docs of other modules each combined single jar file ?. basically, want 3 global jars (binary,docs , sources) distributed. how can achieved ?
like:
| distribution (pom) | global.jar (contains classes of lib1 + lib2) | global-docs.jar (contains docs of lib1 + lib2) | global-sources.jar (contains sources of lib1 + lib2)
well, i'm not expert sth similar in multi module project too. parent's pom piece specify plugin , documentation:
<pluginmanagement> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-source-plugin</artifactid> <inherited>true</inherited> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar</goal> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-surefire-plugin</artifactid> <inherited>true</inherited> <configuration> <properties> <property> <name>outputdirectory</name> <value>${project.build.outputdirectory}</value> </property> </properties> <systemproperties> <property> <name>user.language</name> <value>ca</value> </property> <property> <name>user.country</name> <value>es</value> </property> </systemproperties> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-site-plugin</artifactid> <version>3.0</version> <inherited>false</inherited> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <inherited>true</inherited> <configuration> <executable>javac</executable> <source>1.6</source> <target>1.6</target> <encoding>iso-8859-15</encoding> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-javadoc-plugin</artifactid> <version>2.8</version> <inherited>true</inherited> <configuration> <detectlinks>true</detectlinks> </configuration> <executions> <execution> <id>aggregate</id> <goals> <goal>aggregate</goal> </goals> <phase>site</phase> </execution> </executions> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-resources-plugin</artifactid> <inherited>true</inherited> <configuration> <encoding>iso-8859-15</encoding> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-ejb-plugin</artifactid> <version>2.2.1</version> <inherited>true</inherited> <configuration> <ejbversion>3.0</ejbversion> <archive> <addmavendescriptor>false</addmavendescriptor> <manifest> <addclasspath>true</addclasspath> <useuniqueversions>false</useuniqueversions> </manifest> </archive> <generateclient>false</generateclient> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-jar-plugin</artifactid> <inherited>true</inherited> <configuration> <archive> <addmavendescriptor>false</addmavendescriptor> </archive> </configuration> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginmanagement> <extensions> <extension> <groupid>org.apache.maven.wagon</groupid> <artifactid>wagon-ssh</artifactid> <version>2.0</version> </extension> </extensions> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-javadoc-plugin</artifactid> <!-- <configuration> <links> <link>http://download.oracle.com/javase/6/docs/api/</link> <link>http://download.oracle.com/javaee/1.4/api/</link> <link>http://static.springsource.org/spring/docs/2.5.x/api/</link> <link>http://docs.jboss.org/hibernate/core/3.2/api/</link> <link>http://www.easymock.org/api/easymock/2.5.2/</link> <link>http://testng.org/javadocs/</link> <link>http://www.bouncycastle.org/docs/docs1.6/</link> <link>http://www.bouncycastle.org/docs/mdocs1.6/</link> <link>http://www.bouncycastle.org/docs/pgdocs1.6/</link> <link>http://www.bouncycastle.org/docs/tspdocs1.6/</link> </links> </configuration> --> <executions> <execution> <id>agregar</id> <goals> <goal>aggregate</goal> </goals> <phase>pre-site</phase> </execution> </executions> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-project-info-reports-plugin</artifactid> <version>2.1.1</version> </plugin> </plugins> </reporting>
Comments
Post a Comment