<?xml version="1.0" encoding="UTF-8"?>
<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">
	
	<parent>
		<groupId>com.lc.ibps.cloud</groupId>
		<artifactId>ibps-comp-root</artifactId>
		<version>4.0.1-LC.SAAS-RELEASE</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<artifactId>ibps-comp-report</artifactId>

	<properties>
		<jboss-logging.version>3.3.0.Final</jboss-logging.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>com.lc.ibps.cloud.base</groupId>
			<artifactId>ibps-comp-file-server-api</artifactId>
		</dependency>
		<dependency>
			<groupId>com.lc.ibps.cloud</groupId>
			<artifactId>ibps-basic-provider</artifactId>
		</dependency>
		<dependency>
			<groupId>com.lc.ibps.cloud</groupId>
			<artifactId>ibps-basic-monitor</artifactId>
		</dependency>
		<dependency>
			<groupId>com.lc.ibps.cloud</groupId>
			<artifactId>ibps-basic-validator</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jboss.logging</groupId>
			<artifactId>jboss-logging</artifactId>
			<version>${jboss-logging.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-log4j2</artifactId>
		</dependency>
		<dependency>
			<groupId>com.lc.ibps.cloud.base</groupId>
			<artifactId>ibps-comp-report-api</artifactId>
		</dependency>
		<dependency>
			<groupId>com.lc.ibps.report</groupId>
			<artifactId>ibps-report-biz</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
	            <groupId>org.apache.maven.plugins</groupId>
	            <artifactId>maven-dependency-plugin</artifactId>
	            <version>${dependency.version}</version>
	            <configuration>
					<encoding>UTF-8</encoding>
				</configuration>
	            <executions>
	                <execution>
	                    <id>copy-dependencies</id>
	                    <phase>prepare-package</phase>
	                    <goals>
	                        <goal>copy-dependencies</goal>
	                    </goals>
	                    <configuration>
	                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
	                        <overWriteReleases>false</overWriteReleases>
	                        <overWriteSnapshots>false</overWriteSnapshots>
	                        <overWriteIfNewer>true</overWriteIfNewer>
	                    </configuration>
	                </execution>
	            </executions>
	        </plugin>
			<plugin>
			    <artifactId>maven-antrun-plugin</artifactId>
			    <version>${antrun.version}</version>
			    <executions>
			        <execution>
			            <phase>package</phase>
			            <goals>
			                <goal>run</goal>
			            </goals>
			            <configuration>
			                <tasks>
			                	<property name="classes.dir" value="${project.build.directory}/classes-exclude"/>
								<property name="lib.dir" value="${project.build.directory}/lib-exclude"/>
								
								<copy todir="${classes.dir}" includeEmptyDirs="false">
						        	<fileset dir="${project.build.directory}/classes">
						        	</fileset>
						        </copy>
						        <copy todir="${lib.dir}">
						        	<fileset dir="${project.build.directory}/lib"/>
						        </copy>
								
								<unjar dest="${classes.dir}" overwrite="false">
				                	<patternset>
				                		<include name="**/appd"/>
				                		<include name="**/*.sh"/>
				                		<include name="**/*.bat"/>
				                		<include name="**/readMe"/>
				                		
				                		<include name="**/*.xsd"/>
				                		<include name="**/*.xml"/>
				                		<include name="**/*.yml"/>
				                		<include name="**/*.txt"/>
				                		<include name="**/*.conf"/>
				                		<include name="**/*.properties"/>
				                		<include name="**/*.setting"/>
				                		
				                		<include name="**/*.fon"/>
				                		<include name="**/*.ttf"/>
				                		<include name="**/*.ttc"/>
				                		
				                		<exclude name="**/*.map.xml"/>
				                		<exclude name="org/activiti/engine/mapping/**/*.xml"/>
								    </patternset>
								    <fileset dir="${lib.dir}">
								        <include name="lc-*.jar"/>
								        <include name="ibps-*.jar"/>
								    </fileset>
			                	</unjar>
						        
						        <!--
						        <delete includeEmptyDirs="true">
								  	<fileset dir="${lib.dir}">
								        <include name="lc-*.jar"/>
								        <include name="ibps-*.jar"/>
								  	</fileset>
								</delete>
						        -->
								
								<property name="jarname" value="socket.jar"/>
								<property name="jarfile.exclude.basedir" value="${project.build.directory}/${project.artifactId}-exclude"/>
								<property name="jarfile.exclude.name" value="${jarfile.exclude.basedir}/${jarname}"/>
								
						        <copy todir="${jarfile.exclude.basedir}" includeEmptyDirs="false">
						        	<fileset dir="${classes.dir}">
						        		<exclude name="**/*.class" />
						        	</fileset>
						        </copy>
						        <copy todir="${jarfile.exclude.basedir}/lib">
						        	<fileset dir="${lib.dir}"/>
						        </copy>
						        <pathconvert property="exclude.lib" pathsep=" ">
									<mapper>
										<chainedmapper>
											<flattenmapper />
											<globmapper from="*" to="lib/*" />
										</chainedmapper>
									</mapper>
									<fileset dir="${jarfile.exclude.basedir}/lib">
										<include name="*.jar" />
									</fileset>
								</pathconvert>
								<jar destfile="${jarfile.exclude.name}">
									<manifest>
								      	<attribute name="Class-Path" value=". ${exclude.lib}"/>
								      	<attribute name="Main-Class" value="com.lc.ibps.SocketApplication"/>
								    </manifest>
							        <fileset dir="${classes.dir}">
							        	<include name="**/*.class" />
							        </fileset>
								</jar>
								
								<delete includeEmptyDirs="true">
								  	<fileset dir="${classes.dir}"/>
								  	<fileset dir="${lib.dir}"/>
								  	<fileset dir="${project.build.directory}/lib"/>
								</delete>
			                </tasks>
			            </configuration>
			        </execution>
			    </executions>
			</plugin>
		</plugins>
	</build>
</project>