<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.felix</groupId>
    <artifactId>felix</artifactId>
    <version>0.9.0-incubator-SNAPSHOT</version>
  </parent>
  <packaging>jar</packaging>
  <name>Apache Felix Installers</name>
  <artifactId>installers</artifactId>
  <dependencies>
    <dependency>
      <groupId>org.apache.directory.daemon</groupId>
      <artifactId>daemon-bootstrappers</artifactId>
      <version>1.0-RC2-SNAPSHOT</version>
    </dependency>  

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>nlog4j</artifactId>
      <version>1.2.19</version>
    </dependency>

    <dependency>
      <groupId>commons-daemon</groupId>
      <artifactId>commons-daemon</artifactId>
      <version>1.0.1</version>
    </dependency>

    <!-- Felix Dependencies -->
    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.apache.felix.main</artifactId>
      <version>${pom.version}</version>
    </dependency>

    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.apache.felix.daemon</artifactId>
      <version>${pom.version}</version>
    </dependency>

    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.apache.felix.shell</artifactId>
      <version>${pom.version}</version>
    </dependency>

    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.apache.felix.shell.tui</artifactId>
      <version>${pom.version}</version>
    </dependency>

    <dependency>
      <groupId>${pom.groupId}</groupId>
      <artifactId>org.apache.felix.bundlerepository</artifactId>
      <version>${pom.version}</version>
    </dependency>

  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.directory.daemon</groupId>
        <artifactId>daemon-plugin</artifactId>
        <version>1.0-RC2-SNAPSHOT</version>
        <configuration>
          <excludes>
            <exclude>ant:ant</exclude>
            <exclude>xerces:xercesImpl</exclude>
            <exclude>org.apache.felix:org.apache.felix.main</exclude>
            <exclude>org.apache.felix:org.apache.felix.shell</exclude>
            <exclude>org.apache.felix:org.apache.felix.shell.tui</exclude>
            <exclude>org.apache.felix:org.apache.felix.bundlerepository</exclude>
          </excludes>
          <application>
            <name>felix</name>
            <version>${pom.version}</version>
            <copyrightYear>2006</copyrightYear>
            <minimumJavaVersion>1.4</minimumJavaVersion>
            <url>http://incubator.apache.org/felix</url>
            <email>felix-dev@incubator.apache.org</email>
            <description>Apache OSGi Platform</description>
            <authors>
              <author>Apache Felix Team</author>
              <author>rhall@apache.org</author>
              <author>tbennett@apache.org</author>
              <author>akarasulu@apache.org</author>
              <author>trustin@apache.org</author>
              <author>erodriguez@apache.org</author>
            </authors>
          </application>
          <packagedFiles>
            <packagedFile>
              <filtered>true</filtered>
              <source>config.properties</source>
              <destinationPath>conf/config.properties</destinationPath>
            </packagedFile>
            <packagedFile>
              <dependency>true</dependency>
              <source>org.apache.felix:org.apache.felix.main</source>
              <destinationPath>
                bin/felix.jar
              </destinationPath>
            </packagedFile>
            <packagedFile>
              <dependency>true</dependency>
              <source>org.apache.felix:org.apache.felix.shell</source>
              <destinationPath>
                bundle/org.apache.felix.shell-${pom.version}.jar
              </destinationPath>
            </packagedFile>
            <packagedFile>
              <dependency>true</dependency>
              <source>org.apache.felix:org.apache.felix.shell.tui</source>
              <destinationPath>
                bundle/org.apache.felix.shell.tui-${pom.version}.jar
              </destinationPath>
            </packagedFile>
            <packagedFile>
              <dependency>true</dependency>
              <source>org.apache.felix:org.apache.felix.bundlerepository</source>
              <destinationPath>
                bundle/org.apache.felix.bundlerepository-${pom.version}.jar
              </destinationPath>
            </packagedFile>
          </packagedFiles>
          <!--
          <svnBaseUrl>
            http://svn.apache.org/repos/asf/incubator/felix/trunk
          </svnBaseUrl>
          <packageSources>true</packageSources>
          <packageDocs>true</packageDocs>
          -->
          <applicationClass>
            org.apache.felix.daemon.Service
          </applicationClass>
          <rpmTargets>
            <rpmTarget>
              <id>linux-jsvc-rpm</id>
              <rpmSpecificationFile>
                src/main/installers/rpm-felix.spec
              </rpmSpecificationFile>
              <finalName>
                felix-${pom.version}-linux-i386.rpm
              </finalName>
              <osName>Linux</osName>
              <osFamily>unix</osFamily>
              <osArch>i386</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </rpmTarget>
          </rpmTargets>
          <innoTargets>
            <innoTarget>
              <id>windows-xp-procrun</id>
              <innoConfigurationFile>
                src/main/installers/inno-felix.iss
              </innoConfigurationFile>
              <finalName>
                felix-${pom.version}-win32-setup
              </finalName>
              <osName>Windows XP</osName>
              <osFamily>windows</osFamily>
              <osVersion>5.1</osVersion>
              <osArch>x86</osArch>
              <daemonFramework>procrun</daemonFramework>
            </innoTarget>
          </innoTargets>
          <izPackTargets>
            <izPackTarget>
              <id>linux-jsvc</id>
              <izPackInstallFile>
                src/main/installers/izpack-unix.xml
              </izPackInstallFile>
              <izPackShortcutsUnixFile>
                src/main/installers/unix_shortcuts.xml
              </izPackShortcutsUnixFile>
              <finalName>
                felix-${pom.version}-linux-i386-setup.jar
              </finalName>
              <osName>Linux</osName>
              <osFamily>unix</osFamily>
              <osArch>i386</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </izPackTarget>
            <izPackTarget>
              <finalName>
                felix-${pom.version}-solaris-sparc-setup.jar
              </finalName>
              <id>solaris-jsvc-sparc</id>
              <izPackInstallFile>
                src/main/installers/izpack-unix.xml
              </izPackInstallFile>
              <izPackShortcutsUnixFile>
                src/main/installers/unix_shortcuts.xml
              </izPackShortcutsUnixFile>
              <osName>sunos</osName>
              <osFamily>unix</osFamily>
              <osArch>sparc</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </izPackTarget>
            <izPackTarget>
              <id>solaris-jsvc-i386</id>
              <izPackInstallFile>
                src/main/installers/izpack-unix.xml
              </izPackInstallFile>
              <izPackShortcutsUnixFile>
                src/main/installers/unix_shortcuts.xml
              </izPackShortcutsUnixFile>
              <finalName>
                felix-${pom.version}-solaris-i386-setup.jar
              </finalName>
              <osName>sunos</osName>
              <osFamily>unix</osFamily>
              <osArch>i386</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </izPackTarget>
            <izPackTarget>
              <id>macosx-jsvc</id>
              <izPackInstallFile>
                src/main/installers/izpack-mac.xml
              </izPackInstallFile>
              <izPackShortcutsUnixFile>
                src/main/installers/unix_shortcuts.xml
              </izPackShortcutsUnixFile>
              <finalName>
                felix-${pom.version}-macosx-ppc-setup.jar
              </finalName>
              <osName>macosx</osName>
              <osFamily>unix</osFamily>
              <osArch>ppc</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </izPackTarget>
          </izPackTargets>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

