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]
>
>

Reply via email to