------ Predefined Assembly Descriptors ------ Johnny R. Ruiz III Edwin Punzalan John Casey ------ 2 November 2006 ------ ~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ~~ NOTE: For help with the syntax of this file, see: ~~ http://maven.apache.org/doxia/references/apt-format.html Pre-defined Descriptor Files As of version 2.2, there are now four predefined descriptor formats available for reuse, packaged within the Assembly Plugin, instead of the original three. Their descriptorIds are: * {{{#bin}bin}} - can be used for general assembly of binary packages. * {{{#jar-with-dependencies}jar-with-dependencies}} - can be used for general assembly of a binary package with all the dependency libraries included unpacked inside the archive. * {{{#src}src}} - can be used for general assembly of a source archive which can be used to build your project. * {{{#project}project}} - <>, this is used to create an assembly of the entire source project, including the Maven POM and other files outside of your source directory structure, but excluding all SCM files and the target directory. <> If you use an output directory other than /target, this descriptorRef may include the output from your build process. * {bin} Use <<>> as the <<>> of your assembly-plugin configuration in order to create a binary distribution archive of your project. This built-in descriptor produces an assembly with the classifier <<>> in three archive formats: tar.gz, tar.bz2, and zip. The assembled archive contains the binary jar produced by running <<>> plus any README, LICENSE, and NOTICE files available in the project root directory. Below is the <<>> descriptor format: ----- bin tar.gz tar.bz2 zip ${project.basedir}/README* ${project.basedir}/LICENSE* ${project.basedir}/NOTICE* ${project.build.directory} *.jar ------ * {jar-with-dependencies} Use <<>> as the <<>> of your assembly-plugin configuration in order to create a jar archive which contains the binary output of your project, along its the unpacked dependencies. This built-in descriptor produces an assembly with the classifier <<>> using the jar archive format. Below is the <<>> descriptor format: ----- jar-with-dependencies jar false true runtime ${project.build.outputDirectory} ----- * {src} Use <<>> as the <<>> in your assembly-plugin configuration to create source archives for your project. The archive will contain the contents of your project's <<>> directory structure, for referency by your users. The <<>> descriptorId produces an assembly archive with the classifier <<>> in three formats: tar.gz, tar.bz2, and zip. Below is the <<>> descriptor format: ----- src tar.gz tar.bz2 zip ${project.basedir}/README* ${project.basedir}/LICENSE* ${project.basedir}/NOTICE* ${project.basedir}/pom.xml true ${project.basedir}/src true ----- * {project} Using the <<>> <<<\>>> in your assembly plugin configuration will produce an assembly containing your entire project, minus any build output that lands in the <<>> directory. The resulting assembly should allow your users to build your project using Maven, Ant, or whatever build system you have configured in your project's normal SCM working directory. It produces assemblies with the classifier <<>> in three archive formats: tar.gz, tar.bz2, and zip. The following is the assembly descriptor for the <<>> descriptorRef: --- project tar.gz tar.bz2 zip ${project.basedir} true ${project.build.directory}/** ---