<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
-->
<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>
  <parent>
    <groupId>org.apache.felix</groupId>
    <artifactId>felix</artifactId>
    <version>1.0.4</version>
    <relativePath>../pom/pom.xml</relativePath>
  </parent>
  <packaging>jar</packaging>
  <name>Apache Felix Installers</name>
  <version>0.9.0-SNAPSHOT</version>
  <artifactId>installers</artifactId>
  <dependencies>
    <dependency>
      <groupId>org.apache.directory.daemon</groupId>
      <artifactId>daemon-bootstrappers</artifactId>
      <version>1.1.0</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>0.9.0-SNAPSHOT</version>
    </dependency>

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

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

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

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

  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.directory.daemon</groupId>
        <artifactId>daemon-plugin</artifactId>
        <version>1.1.0</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://felix.apache.org</url>
            <email>dev@felix.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>

