Tim, what version of the assembly plugin are you using? I have a very similar setup to Evan's, and I'm getting the same "does not have an artifact with a file" error when binding to package and running the single goal. I'm using the latest released assembly, 2.2-beta-1.
Kalle On 9/5/07, Evan Toliopoulos <[EMAIL PROTECTED]> wrote: > > Thanks, > I will try this and post back what I find. > If it's working for you then I suspect I must have configured something > wrong somewhere in my one of my poms. > Cheers, > Evan. > > Tim Kettler wrote: > > It's working for me with this test project: > > . > > |-- pom.xml > > |-- src > > | `-- main > > | `-- assembly > > | `-- assembly.xml > > |-- suba > > | |-- pom.xml > > | `-- src > > | `-- main > > | `-- java > > | `-- TestClass.java > > `-- subb > > |-- pom.xml > > `-- src > > `-- main > > `-- java > > `-- TestClass.java > > > > pom.xml: > > > > <project> > > <modelVersion>4.0.0</modelVersion> > > <groupId>my-test-group</groupId> > > <artifactId>parent</artifactId> > > <version>1.0-SNAPSHOT</version> > > <packaging>pom</packaging> > > > > <modules> > > <module>suba</module> > > <module>subb</module> > > </modules> > > > > <build> > > <plugins> > > <plugin> > > <artifactId>maven-assembly-plugin</artifactId> > > <inherited>false</inherited> > > <configuration> > > <descriptors> > > <descriptor>src/main/assembly/assembly.xml</descriptor> > > </descriptors> > > </configuration> > > <executions> > > <execution> > > <id>make-assembly</id> > > <phase>package</phase> > > <goals> > > <goal>single</goal> > > </goals> > > </execution> > > </executions> > > </plugin> > > </plugins> > > </build> > > </project> > > > > suba/pom.xml: > > > > <project> > > <modelVersion>4.0.0</modelVersion> > > <groupId>my-test-group</groupId> > > <artifactId>suba</artifactId> > > <version>1.0-SNAPSHOT</version> > > </project> > > > > subb/pom.xml: > > > > <project> > > <modelVersion>4.0.0</modelVersion> > > <groupId>my-test-group</groupId> > > <artifactId>subb</artifactId> > > <version>1.0-SNAPSHOT</version> > > > > <dependencies> > > <dependency> > > <groupId>my-test-group</groupId> > > <artifactId>suba</artifactId> > > <version>1.0-SNAPSHOT</version> > > </dependency> > > </dependencies> > > </project> > > > > src/main/assembly/assembly.xml: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <assembly> > > <formats> > > <format>zip</format> > > <format>tar.gz</format> > > </formats> > > > > <includeBaseDirectory>true</includeBaseDirectory> > > > > <moduleSets> > > <moduleSet> > > <binaries> > > <includeDependencies>true</includeDependencies> > > <unpack>false</unpack> > > <outputDirectory>lib</outputDirectory> > > <fileMode>664</fileMode> > > <directoryMode>775</directoryMode> > > </binaries> > > </moduleSet> > > </moduleSets> > > </assembly> > > > > I tested this with an empty local repository to ensure only released > > plugins are used. Here's the relevant output from 'mvn clean install': > > > > [INFO] [assembly:single {execution: make-assembly}] > > [INFO] Reading assembly descriptor: > > > /home/tik/Develop/maven-testprojects/pomassembly/src/main/assembly/developer- > assembly.xml > > > > [WARNING] NOTE: Currently, inclusion of module dependencies may > > produce unpredictable results if a version conflict occurs. > > [INFO] Processing DependencySet (output=lib) > > [INFO] Processing DependencySet (output=lib) > > [INFO] Building zip: > > /home/tik/Develop/maven-testprojects/pomassembly/target/parent- > 1.0-SNAPSHOT.zip > > > > [WARNING] NOTE: Currently, inclusion of module dependencies may > > produce unpredictable results if a version conflict occurs. > > [INFO] Processing DependencySet (output=lib) > > [INFO] Processing DependencySet (output=lib) > > [INFO] Building tar : > > /home/tik/Develop/maven-testprojects/pomassembly/target/parent- > 1.0-SNAPSHOT.tar.gz > > > > [INFO] [install:install] > > [INFO] Installing > > /home/tik/Develop/maven-testprojects/pomassembly/pom.xml to > > > /home/tik/Develop/maven-testprojects/repository/my-test-group/parent/1.0-SNAPSHOT/parent- > 1.0-SNAPSHOT.pom > > > > [INFO] Installing > > /home/tik/Develop/maven-testprojects/pomassembly/target/parent- > 1.0-SNAPSHOT.zip > > to > > > /home/tik/Develop/maven-testprojects/repository/my-test-group/parent/1.0-SNAPSHOT/parent- > 1.0-SNAPSHOT.zip > > > > [INFO] Installing > > /home/tik/Develop/maven-testprojects/pomassembly/target/parent- > 1.0-SNAPSHOT.tar.gz > > to > > > /home/tik/Develop/maven-testprojects/repository/my-test-group/parent/1.0-SNAPSHOT/parent- > 1.0-SNAPSHOT.tar.gz > > > > > > Hope this helps > > -Tim > > > > Evan Toliopoulos schrieb: > >> Thanks, > >> > >> Though it still is not working. I get the following error: > >> > >> Failed to create assembly: Artifact: > >> com.emagineinternational:sms-transceiver-mq:jar:6.5.1-SNAPSHOT > >> (included by module) does not have an artifact with a file. Please > >> ensure the package phase is run before the assembly is generated. > >> > >> What you have described is what we already do for maven projects that > >> get built into a jar as well as have a tar.gz assembly and it works > >> fine for those projects. > >> > >> The difference with this project is that is a parent project which > >> does not have any source code of it's own. It is declared as a > >> <packaging>pom</packaging> project that has a number of child > >> <module>...</module> projects. We then have an assembly descriptor > >> that assembles all the child project jars as well as any dependencies > >> into a tar.gz archive ready for distribution. > >> > >> Any further ideas? > >> > >> BTW, our assembly descriptor looks like: > >> > >> <?xml version="1.0" encoding="UTF-8"?> > >> <assembly> > >> <formats> > >> <format>zip</format> > >> <format>tar.gz</format> > >> </formats> > >> <includeBaseDirectory>true</includeBaseDirectory> > >> > >> <moduleSets> > >> <moduleSet> > >> <binaries> > >> <includeDependencies>true</includeDependencies> > >> <unpack>false</unpack> > >> <outputDirectory>lib</outputDirectory> > >> <fileMode>664</fileMode> > >> <directoryMode>775</directoryMode> > >> </binaries> > >> </moduleSet> > >> </moduleSets> > >> > >> <fileSets> > >> <fileSet> > >> <directory>src/main/etc</directory> > >> <outputDirectory>etc</outputDirectory> > >> <fileMode>775</fileMode> > >> <directoryMode>775</directoryMode> > >> </fileSet> > >> <fileSet> > >> <directory>src/main/config</directory> > >> <outputDirectory>conf</outputDirectory> > >> <fileMode>664</fileMode> > >> <directoryMode>775</directoryMode> > >> </fileSet> > >> </fileSets> > >> > >> </assembly> > >> > >> > >> > >> > >> Tim Kettler wrote: > >>> Hi, > >>> > >>> Evan Toliopoulos schrieb: > >>>> Hi, > >>>> > >>>> I am having trouble deploying a 'tar.gz' assembly of a parent project > >>>> using the deploy goal. > >>>> > >>>> The parent project has a number of child module projects. > >>>> > >>>> Essentially I am running the following on the parent project: > >>>> > >>>> mvn package assembly:assembly deploy > >>> > >>> What is happening here is this: First 'assembly:assembly' is > >>> executed as a standalone plugin goal on the command line, which > >>> builds the assembly. Then as the second step the 'deploy' phase is > >>> invoked on your project, and since these two steps are two > >>> completely separate executions, the second run (deploy) knows > >>> nothing about the previously build assembly. > >>> > >>> What you should do instead, is to attach the assembly-plugin > >>> execution to the build lifecycle of your project, so it gets > >>> executed automatically when you run 'mvn deploy' for example. To do > >>> this modify your plugin configuration like this: > >>> > >>> [...] > >>> <plugin> > >>> <artifactId>maven-assembly-plugin</artifactId> > >>> <inherited>false</inherited> > >>> <configuration> > >>> <descriptors> > >>> > >>> <descriptor>src/main/assembly/developer-assembly.xml</descriptor> > >>> </descriptors> > >>> </configuration> > >>> <executions> > >>> <execution> > >>> <id>make-assembly</id> > >>> <phase>package</phase> > >>> <goals> > >>> <goal>single</goal> > >>> </goals> > >>> </execution> > >>> </executions> > >>> </plugin> > >>> [...] > >>> > >>> This executes the assembly-plugin as part of the 'package' phase of > >>> the project and attaches the built assembly to your project, the > >>> deploy plugin then will automatically pick up this additional > >>> artifact and deploy it to the repository. > >>> > >>> -Tim > >>> > >>>> and what is happening is that all the child jars are being deployed > >>>> but > >>>> the important artifact - the parent 'tar.gz' assembly is not. The > >>>> interesting thing is that the 'tar.gz' file is being created - just > >>>> not > >>>> deployed. > >>>> > >>>> Any ideas as to what I am doing wrong? > >>>> > >>>> Thanks, > >>>> Evan Toliopoulos > >>>> P.S. My parent pom.xml follows... > >>>> ------------------- > >>>> <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>com.emagineinternational</groupId> > >>>> <artifactId>sms-transceiver</artifactId> > >>>> <packaging>pom</packaging> > >>>> <version>6.5.0-SNAPSHOT</version> > >>>> <name>sms-transceiver</name> > >>>> <url>http://maven.apache.org</url> > >>>> > >>>> <dependencies> > >>>> <dependency> > >>>> <groupId>commons-logging</groupId> > >>>> <artifactId>commons-logging</artifactId> > >>>> <version>1.1</version> > >>>> </dependency> > >>>> <dependency> > >>>> <groupId>log4j</groupId> > >>>> <artifactId>log4j</artifactId> > >>>> <version>1.2.14</version> > >>>> </dependency> > >>>> <dependency> > >>>> <groupId>junit</groupId> > >>>> <artifactId>junit</artifactId> > >>>> <version>4.3.1</version> > >>>> <scope>test</scope> > >>>> </dependency> > >>>> </dependencies> > >>>> > >>>> <modules> > >>>> <module>./sms-transceiver-config-jaxb</module> > >>>> <module>./sms-transceiver-common</module> > >>>> <module>./sms-transceiver-config</module> > >>>> <module>./sms-transceiver-mq</module> > >>>> <module>./sms-transceiver-db-receiver</module> > >>>> <module>./sms-transceiver-db-transmitter</module> > >>>> <module>./sms-transceiver-smpp-receiver</module> > >>>> <module>./sms-transceiver-smpp-transmitter</module> > >>>> </modules> > >>>> > >>>> <build> > >>>> <plugins> > >>>> <plugin> > >>>> <groupId>org.apache.maven.plugins</groupId> > >>>> <artifactId>maven-compiler-plugin</artifactId> > >>>> <configuration> > >>>> <source>1.6</source> > >>>> <target>1.6</target> > >>>> </configuration> > >>>> </plugin> > >>>> <plugin> > >>>> <groupId>org.apache.maven.plugins</groupId> > >>>> <artifactId>maven-release-plugin</artifactId> > >>>> <version>2.0-beta-5</version> > >>>> <configuration> > >>>> > >>>> > <tagBase>svn://svn.emagineinternational.com/tags/sms-transceiver</tagBase> > >>>> > >>>> </configuration> > >>>> </plugin> > >>>> </plugins> > >>>> </build> > >>>> > >>>> > >>>> <profiles> > >>>> > >>>> <profile> > >>>> <id>parent-developer-assembly-profile</id> > >>>> <activation> > >>>> <property> > >>>> <name>developer.profile</name> > >>>> <value>true</value> > >>>> </property> > >>>> </activation> > >>>> <build> > >>>> <plugins> > >>>> <plugin> > >>>> <inherited>false</inherited> > >>>> > <artifactId>maven-assembly-plugin</artifactId> > >>>> <configuration> > >>>> <descriptors> > >>>> > >>>> <descriptor>src/main/assembly/developer-assembly.xml</descriptor> > >>>> </descriptors> > >>>> </configuration> > >>>> </plugin> > >>>> </plugins> > >>>> </build> > >>>> </profile> > >>>> <profile> > >>>> <id>parent-release-assembly-profile</id> > >>>> <activation> > >>>> <property> > >>>> <name>release.profile</name> > >>>> <value>true</value> > >>>> </property> > >>>> </activation> > >>>> <build> > >>>> <plugins> > >>>> <plugin> > >>>> <inherited>false</inherited> > >>>> > <artifactId>maven-assembly-plugin</artifactId> > >>>> <configuration> > >>>> <descriptors> > >>>> > >>>> <descriptor>src/main/assembly/release-assembly.xml</descriptor> > >>>> </descriptors> > >>>> </configuration> > >>>> </plugin> > >>>> </plugins> > >>>> </build> > >>>> </profile> > >>>> </profiles> > >>>> > >>>> > >>>> <repositories> > >>>> <repository> > >>>> <id>EmagineMavenRepository</id> > >>>> <url>http://angie/maven-repository</url> > >>>> </repository> > >>>> </repositories> > >>>> <distributionManagement> > >>>> <repository> > >>>> <id>emagine-repository</id> > >>>> <name>Emagine Repository</name> > >>>> <url>scp://angie/opt/emagine-repository/release</url> > >>>> </repository> > >>>> <snapshotRepository> > >>>> <id>emagine-repository</id> > >>>> <name>Emagine Repository</name> > >>>> <url>scp://angie/opt/emagine-repository/snapshot</url> > >>>> </snapshotRepository> > >>>> </distributionManagement> > >>>> > >>>> <scm> > >>>> > >>>> > <connection>scm:svn:svn://svn.emagineinternational.com/trunk/sms-transceiver</connection> > >>>> > >>>> > >>>> > <developerConnection>scm:svn:svn://svn.emagineinternational.com/trunk/sms-transceiver</developerConnection> > >>>> > >>>> > >>>> <url>svn://svn.emagineinternational.com/trunk/sms-transceiver</url> > >>>> </scm> > >>>> </project> > >>>> > >>>> --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >