<?xml version="1.0" encoding="UTF-8"?>
<!--
  - Copyright (C) 2011 Schlichtherle IT Services
  -
  - Licensed 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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>de.schlichtherle.truezip</groupId>
        <artifactId>truezip</artifactId>
        <version>7.0-rc2</version>
    </parent>

    <artifactId>truezip-samples</artifactId>
    <name>TrueZIP Samples</name>
    <description>
        Sample applications to demonstrate the usage of various TrueZIP module
        APIs.

        Some of these samples use rather advanced or exotic features which
        makes them more complex than necessary for a typical application.

        By design, the sample applications use all file system drivers which
        can be located at runtime.
        Location of the available file system drivers is performed by
        scanning the class path - see the Javaodoc for the TrueZIP Kernel class
        de.schlichtherle.truezip.fs.sl.FsDriverLocator for more information.
    </description>

    <dependencies>
        <!-- A TrueZIP application typically has a compile time dependency on
             either only the TrueZIP File* module or only the TrueZIP Kernel
             module.
             However, the sample applications demonstrate using both APIs. -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>truezip-file</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>truezip-kernel</artifactId>
            <version>${project.version}</version>
        </dependency>

        <!-- Provides some nice swing classes which depend on the TrueZIP File*
             module. -->
        <!-- <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>truezip-swing</artifactId>
            <version>${project.version}</version>
        </dependency> -->

        <!-- A TrueZIP application typically has a run time dependency on one
             or more file system drivers.
             When found on the class path at run time, a file system driver is
             automatically registered for use by the TrueZIP File* module or
             the TrueZIP Kernel module.
             However, the TrueZIP File* module sample applications have a
             compile time dependency because they configure some drivers directly.
             -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>truezip-driver-http</artifactId>
            <version>${project.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>truezip-driver-tar</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>truezip-driver-tzp</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>truezip-driver-zip</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>de.schlichtherle.truezip.sample.file.app.Nzip</mainClass>
                        </manifest>
                    </archive>
                    <descriptors>
                        <descriptor>src/assembly/jar-with-dependencies.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
