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]

Reply via email to