<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/* 
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 
* 
* Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
* 
* The contents of this file are subject to the terms of either the GNU 
* General Public License Version 2 only ("GPL") or the Common Development 
* and Distribution License("CDDL") (collectively, the "License").  You 
* may not use this file except in compliance with the License. You can obtain 
* a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html 
* or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific 
* language governing permissions and limitations under the License. 
* 
* When distributing the software, include this License Header Notice in each 
* file and include the License file at glassfish/bootstrap/legal/LICENSE.txt. 
* Sun designates this particular file as subject to the "Classpath" exception 
* as provided by Sun in the GPL Version 2 section of the License file that 
* accompanied this code.  If applicable, add the following below the License 
* Header, with the fields enclosed by brackets [] replaced by your own 
* identifying information: "Portions Copyrighted [year] 
* [name of copyright owner]" 
* 
* Contributor(s): 
* 
* If you wish your version of this file to be governed by only the CDDL or 
* only the GPL Version 2, indicate your decision by adding "[Contributor] 
* elects to include this software in this distribution under the [CDDL or GPL 
* Version 2] license."  If you don't indicate a single choice of license, a 
* recipient has the option to distribute your version of this file under 
* either the CDDL, the GPL Version 2 or to extend the choice of license to 
* its licensees as provided above.  However, if you add GPL Version 2 code 
* and therefore, elected the GPL Version 2 license, then the option applies 
* only if the new code is made subject to such option by the copyright 
* holder. 
*/ 
-->
<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">

    <parent>
        <groupId>org.glassfish.extras</groupId>
        <artifactId>extras</artifactId>
        <version>3.0.1</version>
    </parent>

    <artifactId>glassfish-embedded-static-shell</artifactId>
    <name>Embedded GlassFish Static Shell</name>
    <packaging>jar</packaging>
    <modelVersion>4.0.0</modelVersion>

    <properties>
        <classpath.file>${project.build.directory}/tmp/classpath.txt</classpath.file>
    </properties>

    <build>
        <plugins>
            <!--
                Create a text file containing the generated class path.  This
                file is used in the ant tasks when the original Class-Path is 
                augmented.  Note: we force the path separator to be a colon
                because the plug-in will use the platform-specific separator
                otherwise.  The ant logic replaces colons with spaces to
                reformat the contents of the file so it's useful in the manifest.
            -->
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-dependency-plugin</artifactId>
              <executions>
                  <execution>
                      <id>generate-classpath-file</id>
                      <phase>process-sources</phase>
                      <goals>
                          <goal>build-classpath</goal>
                      </goals>
                      <configuration>
                          <outputFile>${classpath.file}</outputFile>
                          <outputFilterFile>true</outputFilterFile>
                          <pathSeparator>:</pathSeparator>
                          <fileSeparator>/</fileSeparator>
                          <prefix>../../modules</prefix>
                          <stripVersion>true</stripVersion>
                      </configuration>
                  </execution>
              </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                       <archive>
                            <manifest>
                                <addClasspath>true</addClasspath>
                                <classpathLayoutType>custom</classpathLayoutType>
                                <customClasspathLayout>../../modules/$${artifact.artifactId}$${dashClassifier?}.$${artifact.extension}</customClasspathLayout>
                            </manifest>
                        </archive>
                    </configuration>
          </plugin>

          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-antrun-plugin</artifactId>
              <executions>
                  <execution>
                      <id>fixup-jar-classpath</id>
                      <phase>package</phase>
                      <goals>
                          <goal>run</goal>
                      </goals>
                      <configuration>
                          <tasks>
                              <property name="output.file" value="${project.build.finalName}.jar" />
                              <property name="output.dir" value="${project.build.directory}" />
                              <property name="stage.dir" value="${project.build.directory}/stage" />
                              <property name="classpath.file" value="${classpath.file}" />
                              <ant antfile="../fixup.xml" />
                          </tasks>
                      </configuration>
                  </execution>
              </executions>
          </plugin>
        </plugins>
    </build>

    <dependencies>
        <!--
            The maven-jar-plugin will do the work of finding the transitive
            closure of it and the modules on which it depends to build the
            accurate Class-Path for the manifest.
        -->
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-cmp</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-common-tmp</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-common-full</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-corba</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-corba-base</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-ejb</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-ejb-lite</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-hk2</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-grizzly</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jca</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jcdi</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jdbc</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jms</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jpa</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jsf</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jta</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-jts</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-management</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-nucleus</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-scripting</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>glassfish-web</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish.packager</groupId>
            <artifactId>jersey</artifactId>
            <version>${project.version}</version>
            <type>zip</type>
            <optional>true</optional>
        </dependency>
   </dependencies>
</project>
