<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.directory.server</groupId>
    <artifactId>build</artifactId>
    <version>1.5.0-SNAPSHOT</version>
  </parent>
  <artifactId>apacheds-server-installers</artifactId>
  <name>ApacheDS Server Installers</name>
  <packaging>jar</packaging>
  <description>
    Installer generating project for ApacheDS
  </description>
  <dependencies>
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>mitosis</artifactId>
      <version>${pom.version}</version>
    </dependency>  
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-server-main</artifactId>
      <version>${pom.version}</version>
    </dependency>  
    <dependency>
      <groupId>org.apache.directory.daemon</groupId>
      <artifactId>daemon-bootstrappers</artifactId>
      <scope>provided</scope>
    </dependency>  
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-server-tools</artifactId>
      <version>${pom.version}</version>
    </dependency>  
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-schema-extras</artifactId>
      <version>${pom.version}</version>
    </dependency>  
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>nlog4j</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-daemon</groupId>
      <artifactId>commons-daemon</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.directory.daemon</groupId>
        <artifactId>daemon-plugin</artifactId>
        <configuration>
          <excludes>

            <!-- apacheds-tools.jar does not get put in lib directory -->
            <exclude>org.apache.directory.server:apacheds-server-tools</exclude>

            <exclude>ant:ant</exclude>
            <exclude>aopalliance:aopalliance</exclude>
            <exclude>xerces:xerces</exclude>
            <exclude>commons-pool:commons-pool</exclude>
            <exclude>xml-apis:xml-apis</exclude>
            <exclude>aspectwerkz:aspectwerkz-core</exclude>
            <exclude>velocity:velocity</exclude>
            <exclude>org.springframework:spring-aop</exclude>
            <exclude>qdox:qdox</exclude>
            <exclude>oro:oro</exclude>
            <exclude>commons-attributes:commons-attributes-compiler</exclude>
            <exclude>commons-attributes:commons-attributes-api</exclude>
            <exclude>cglib:cglib</exclude>
            <exclude>velocity:velocity-dep</exclude>
            <exclude>com.jamonapi:jamon</exclude>
            <exclude>asm:asm</exclude>
            <exclude>freemarker:freemarker</exclude>
            <exclude>asm:asm-util</exclude>
            <exclude>jasperreports:jasperreports</exclude>
          </excludes>
          <application>
            <name>apacheds</name>
            <version>${pom.version}</version>
            <copyrightYear>2006</copyrightYear>
            <minimumJavaVersion>1.4</minimumJavaVersion>
            <url>http://directory.apache.org/subprojects/apacheds</url>
            <email>users@directory.apache.org</email>
            <description>Apache Directory Server</description>
            <authors>
              <author>Apache Directory Team</author>
              <author>akarasulu@apache.org</author>
              <author>elecharny@apache.org</author>
              <author>ersiner@apache.org</author>
              <author>trustin@apache.org</author>
              <author>erodriguez@apache.org</author>
              <author>szoerner@apache.org</author>
            </authors>
          </application>
          <packagedFiles>
            <packagedFile>
              <source>org.apache.directory.server:apacheds-server-tools</source>
              <destinationPath>bin/apacheds-tools.jar</destinationPath>
              <dependency>true</dependency>
              <installationBundleId>Binaries</installationBundleId>
            </packagedFile>
          </packagedFiles>
<!--
          <svnBaseUrl>
            http://svn.apache.org/repos/asf/directory/trunks/apacheds
          </svnBaseUrl>
          <packageSources>true</packageSources>
          <packageDocs>true</packageDocs>
-->
          <applicationClass>
            org.apache.ldap.server.Service
          </applicationClass>
          <rpmTargets>
            <rpmTarget>
              <packagedFiles>
                <packagedFile>
                  <source>rpm-apacheds-tools.sh</source>
                  <destinationPath>bin/apacheds-tools.sh</destinationPath>
                  <installationBundleId>Binaries</installationBundleId>
                  <executable>true</executable>
                  <filtered>true</filtered>
                </packagedFile>
              </packagedFiles>
              <id>linux-jsvc-rpm</id>
              <rpmSpecificationFile>src/main/installers/rpm-apacheds.spec</rpmSpecificationFile>
              <finalName>
                apacheds-${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-apacheds.iss</innoConfigurationFile>
              <finalName>
                apacheds-${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>
              <packagedFiles>
                <packagedFile>
                  <source>izpack-apacheds-tools.sh</source>
                  <destinationPath>bin/apacheds-tools.sh</destinationPath>
                  <installationBundleId>Binaries</installationBundleId>
                  <executable>true</executable>
                  <filtered>true</filtered>
                </packagedFile>
              </packagedFiles>
              <id>linux-jsvc</id>
              <izPackInstallFile>src/main/installers/izpack-unix.xml</izPackInstallFile>
              <finalName>
                apacheds-${pom.version}-linux-i386-setup.jar
              </finalName>
              <osName>Linux</osName>
              <osFamily>unix</osFamily>
              <osArch>i386</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </izPackTarget>
<!--
            <izPackTarget>
              <packagedFiles>
                <packagedFile>
                  <source>izpack-apacheds-tools.sh</source>
                  <destinationPath>bin/apacheds-tools.sh</destinationPath>
                  <installationBundleId>Binaries</installationBundleId>
                  <executable>true</executable>
                  <filtered>true</filtered>
                </packagedFile>
              </packagedFiles>
              <finalName>
                apacheds-${pom.version}-solaris-sparc-setup.jar
              </finalName>
              <id>solaris-jsvc-sparc</id>
              <izPackInstallFile>src/main/installers/izpack-unix.xml</izPackInstallFile>
              <osName>sunos</osName>
              <osFamily>unix</osFamily>
              <osArch>sparc</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </izPackTarget>
            <izPackTarget>
              <packagedFiles>
                <packagedFile>
                  <source>izpack-apacheds-tools.sh</source>
                  <destinationPath>bin/apacheds-tools.sh</destinationPath>
                  <installationBundleId>Binaries</installationBundleId>
                  <executable>true</executable>
                  <filtered>true</filtered>
                </packagedFile>
              </packagedFiles>
              <id>solaris-jsvc-i386</id>
              <izPackInstallFile>src/main/installers/izpack-unix.xml</izPackInstallFile>
              <finalName>
                apacheds-${pom.version}-solaris-i386-setup.jar
              </finalName>
              <osName>sunos</osName>
              <osFamily>unix</osFamily>
              <osArch>i386</osArch>
              <daemonFramework>jsvc</daemonFramework>
            </izPackTarget>
            <izPackTarget>
              <packagedFiles>
                <packagedFile>
                  <source>izpack-apacheds-tools.sh</source>
                  <destinationPath>bin/apacheds-tools.sh</destinationPath>
                  <installationBundleId>Binaries</installationBundleId>
                  <executable>true</executable>
                  <filtered>true</filtered>
                </packagedFile>
              </packagedFiles>
              <id>macosx-jsvc</id>
              <izPackInstallFile>src/main/installers/izpack-mac.xml</izPackInstallFile>
              <finalName>
                apacheds-${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>

