<?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.8.0-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>

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

