<!--

    (c) 2002-2019 JADAPTIVE Limited. All Rights Reserved.

    This file is part of the Maverick Synergy Java SSH API.

    Maverick Synergy is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Maverick Synergy is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with Maverick Synergy.  If not, see <https://www.gnu.org/licenses/>.

-->
<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>com.sshtools</groupId>
    <artifactId>maverick-synergy-group</artifactId>
    <version>3.0.4-FINAL</version>
  </parent>

  <artifactId>maverick-synergy-assembly</artifactId>
  <name>Assembly</name>
  <description>Build an archive of all the available jar files</description>
   
  <properties>
		<distributionFileName>maverick-synergy-${project.version}</distributionFileName>
  </properties>
	
  <dependencies>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-synergy-client</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-synergy-server</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-x509</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-sshagent</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-virtual-filesystem</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-virtual-session</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-zip</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-bc</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-bc-fips</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-synergy-callback-client</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>com.sshtools</groupId>
  		<artifactId>maverick-synergy-callback-server</artifactId>
  		<version>${project.version}</version>
  	</dependency>
  </dependencies>

  <build>
  <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.1.1</version>
          <configuration>
            <descriptors>
              <descriptor>src/main/assembly/zip.xml</descriptor>
            </descriptors>
          </configuration>
        </plugin>
        <plugin>
			<artifactId>maven-javadoc-plugin</artifactId>
			<version>3.2.0</version>
		</plugin>
      </plugins>
    </pluginManagement>
  	<plugins>
 		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.1</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
		<plugin>
			<artifactId>maven-javadoc-plugin</artifactId>
			<executions>
				<execution>
					<id>javadoc-jar</id>
					<phase>package</phase>
					<goals>
						<goal>jar</goal>
					</goals>
					<configuration>
						<encoding>UTF-8</encoding>
						<excludePackageNames>**.impl.*</excludePackageNames>
						<!-- https://bugs.openjdk.java.net/browse/JDK-8212233 -->
						<detectJavaApiLink>false</detectJavaApiLink>
						<source>8</source>
						<doclint>none</doclint>
					</configuration>
				</execution>
			</executions>
		</plugin>
		<plugin>
		<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-shade-plugin</artifactId>
				<version>2.0</version>
				<executions>
					<execution>
						<id>1</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<artifactSet>
								<includes>
									<include>com.sshtools:maverick-base</include>
									<include>com.sshtools:maverick-zip</include>
									<include>com.sshtools:maverick-x509</include>
									<include>com.sshtools:maverick-synergy-common</include>
									<include>com.sshtools:maverick-synergy-client</include>
								</includes>
							</artifactSet>
							<createSourcesJar>true</createSourcesJar>
							<shadedArtifactAttached>true</shadedArtifactAttached>
							<shadedClassifierName>all</shadedClassifierName>
							<outputFile>target/maverick-synergy-client-${project.version}-all.jar</outputFile>
						</configuration>
					</execution>
					<execution>
						<id>2</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<artifactSet>
								<includes>
									<include>com.sshtools:maverick-base</include>
									<include>com.sshtools:maverick-zip</include>
									<include>com.sshtools:maverick-x509</include>
									<include>com.sshtools:maverick-synergy-common</include>
									<include>com.sshtools:maverick-synergy-server</include>
									<include>com.sshtools:maverick-virtual-filesystem</include>
									<include>com.sshtools:maverick-virtual-session</include>
								</includes>
							</artifactSet>
							<createSourcesJar>true</createSourcesJar>
							<shadedArtifactAttached>true</shadedArtifactAttached>
							<shadedClassifierName>all</shadedClassifierName>
							<outputFile>target/maverick-synergy-server-${project.version}-all.jar</outputFile>
						</configuration>
					</execution>
					<execution>
						<id>3</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<artifactSet>
								<includes>
									<include>com.sshtools:maverick-base</include>
									<include>com.sshtools:maverick-zip</include>
									<include>com.sshtools:maverick-x509</include>
									<include>com.sshtools:maverick-synergy-common</include>
									<include>com.sshtools:maverick-synergy-client</include>
									<include>com.sshtools:maverick-synergy-server</include>
									<include>com.sshtools:maverick-virtual-filesystem</include>
									<include>com.sshtools:maverick-virtual-session</include>
								</includes>
							</artifactSet>
							<createSourcesJar>true</createSourcesJar>
							<shadedArtifactAttached>true</shadedArtifactAttached>
							<shadedClassifierName>all</shadedClassifierName>
							<outputFile>target/maverick-synergy-${project.version}-all.jar</outputFile>
						</configuration>
					</execution>
				</executions>
			</plugin>
  		<plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-assembly-plugin</artifactId>
           <executions>
               <execution>
                   <phase>package</phase>
                   <goals>
                       <goal>single</goal>
                   </goals>
                   <configuration>
                       <appendAssemblyId>false</appendAssemblyId>
                       <descriptors>
                           <descriptor>src/main/assembly/zip.xml</descriptor>
                       </descriptors>
                       <finalName>${distributionFileName}</finalName>
                   </configuration>
               </execution>
           </executions>
       </plugin>
  	</plugins>
  </build>
</project>