<?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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.izerofx</groupId>
        <artifactId>javacpp-presets</artifactId>
        <version>1.0.0</version>
    </parent>

    <artifactId>seetaface6</artifactId>
    <name>JavaCPP Presets for SeetaFace6</name>
    <url>https://github.com/qjx378/seetaface6-jni</url>
    <description>SeetaFace6 open source face detection model,The missing bridge between Java and native C++ libraries</description>

    <properties>
        <!-- 项目基本信息 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>8</java.version>

        <!-- maven插件版本号 -->
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <maven.resources.overwrite>true</maven.resources.overwrite>
        <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
        <maven-source-plugin.version>3.3.0</maven-source-plugin.version>
        <maven-javadoc-plugin.version>3.6.0</maven-javadoc-plugin.version>
        <javacpp.platform.nativePath>com/izerofx/face/sdk/</javacpp.platform.nativePath>
    </properties>

    <build>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <resources>
            <resource>
                <directory>${project.basedir}/src/main/resources/${javacpp.platform.linux-x86_64}</directory>
                <targetPath>
                    ${project.basedir}/target/classes/${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}
                </targetPath>
                <includes>
                    <include>**/*.so</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/resources/${javacpp.platform.linux-x86_64}</directory>
                <targetPath>
                    ${project.basedir}/target/classes/${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}-gpu
                </targetPath>
                <includes>
                    <include>**/*.so</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/resources/${javacpp.platform.linux-x86_64}-gpu</directory>
                <targetPath>
                    ${project.basedir}/target/classes/${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}-gpu
                </targetPath>
                <includes>
                    <include>**/*.so</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/resources/${javacpp.platform.windows-x86_64}</directory>
                <targetPath>
                    ${project.basedir}/target/classes/${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}
                </targetPath>
                <includes>
                    <include>**/*.dll</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/resources/${javacpp.platform.windows-x86_64}</directory>
                <targetPath>
                    ${project.basedir}/target/classes/${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}-gpu
                </targetPath>
                <includes>
                    <include>**/*.dll</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/resources/${javacpp.platform.windows-x86_64}-gpu</directory>
                <targetPath>
                    ${project.basedir}/target/classes/${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}-gpu
                </targetPath>
                <includes>
                    <include>**/*.dll</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven-jar-plugin.version}</version>
                <executions>
                    <execution>
                        <id>default-jar</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <skipIfEmpty>true</skipIfEmpty>
                            <classesDirectory>${project.basedir}/target/classes/</classesDirectory>
                            <excludes>
                                <exclude>test</exclude>
                                <exclude>**/*.so</exclude>
                                <exclude>**/*.dll</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}-gpu</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}-gpu</exclude>
                            </excludes>
                            <archive>
                                <addMavenDescriptor>false</addMavenDescriptor>
                                <manifestEntries>
                                    <Implementation-Title>${project.name}</Implementation-Title>
                                    <Implementation-Version>${project.version}</Implementation-Version>
                                    <Implementation-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Implementation-Vendor>
                                    <Specification-Title>${project.name}</Specification-Title>
                                    <Specification-Version>${project.version}</Specification-Version>
                                    <Specification-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Specification-Vendor>
                                    <Multi-Release>true</Multi-Release>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                    <execution>
                        <id>javacpp-${javacpp.platform.linux-x86_64}</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <skipIfEmpty>true</skipIfEmpty>
                            <classifier>${javacpp.platform.linux-x86_64}</classifier>
                            <classesDirectory>${project.basedir}/target/classes/</classesDirectory>
                            <includes>
                                <include>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}/*.so</include>
                            </includes>
                            <excludes>
                                <exclude>**/*.class</exclude>
                                <exclude>**/*.dll</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}-gpu</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}-gpu</exclude>
                            </excludes>
                            <archive>
                                <addMavenDescriptor>false</addMavenDescriptor>
                                <manifestEntries>
                                    <Implementation-Title>${project.name}</Implementation-Title>
                                    <Implementation-Version>${project.version}</Implementation-Version>
                                    <Implementation-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Implementation-Vendor>
                                    <Specification-Title>${project.name}</Specification-Title>
                                    <Specification-Version>${project.version}</Specification-Version>
                                    <Specification-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Specification-Vendor>
                                    <Multi-Release>true</Multi-Release>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                    <execution>
                        <id>javacpp-${javacpp.platform.linux-x86_64}-gpu</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <skipIfEmpty>true</skipIfEmpty>
                            <classifier>${javacpp.platform.linux-x86_64}-gpu</classifier>
                            <classesDirectory>${project.basedir}/target/classes/</classesDirectory>
                            <includes>
                                <include>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}-gpu/*.so
                                </include>
                            </includes>
                            <excludes>
                                <exclude>**/*.class</exclude>
                                <exclude>**/*.dll</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}-gpu</exclude>
                            </excludes>
                            <archive>
                                <addMavenDescriptor>false</addMavenDescriptor>
                                <manifestEntries>
                                    <Implementation-Title>${project.name}</Implementation-Title>
                                    <Implementation-Version>${project.version}</Implementation-Version>
                                    <Implementation-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Implementation-Vendor>
                                    <Specification-Title>${project.name}</Specification-Title>
                                    <Specification-Version>${project.version}</Specification-Version>
                                    <Specification-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Specification-Vendor>
                                    <Multi-Release>true</Multi-Release>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                    <execution>
                        <id>javacpp-${javacpp.platform.windows-x86_64}</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <skipIfEmpty>true</skipIfEmpty>
                            <classifier>${javacpp.platform.windows-x86_64}</classifier>
                            <classesDirectory>${project.basedir}/target/classes/</classesDirectory>
                            <includes>
                                <include>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}/*.dll
                                </include>
                            </includes>
                            <excludes>
                                <exclude>**/*.class</exclude>
                                <exclude>**/*.so</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}-gpu</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}-gpu</exclude>
                            </excludes>
                            <archive>
                                <addMavenDescriptor>false</addMavenDescriptor>
                                <manifestEntries>
                                    <Implementation-Title>${project.name}</Implementation-Title>
                                    <Implementation-Version>${project.version}</Implementation-Version>
                                    <Implementation-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Implementation-Vendor>
                                    <Specification-Title>${project.name}</Specification-Title>
                                    <Specification-Version>${project.version}</Specification-Version>
                                    <Specification-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Specification-Vendor>
                                    <Multi-Release>true</Multi-Release>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                    <execution>
                        <id>javacpp-${javacpp.platform.windows-x86_64}-gpu</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <skipIfEmpty>true</skipIfEmpty>
                            <classifier>${javacpp.platform.windows-x86_64}-gpu</classifier>
                            <classesDirectory>${project.basedir}/target/classes/</classesDirectory>
                            <includes>
                                <include>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}-gpu/*.dll
                                </include>
                            </includes>
                            <excludes>
                                <exclude>**/*.class</exclude>
                                <exclude>**/*.so</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.linux-x86_64}-gpu</exclude>
                                <exclude>${javacpp.platform.nativePath}${javacpp.platform.windows-x86_64}</exclude>
                            </excludes>
                            <archive>
                                <addMavenDescriptor>false</addMavenDescriptor>
                                <manifestEntries>
                                    <Implementation-Title>${project.name}</Implementation-Title>
                                    <Implementation-Version>${project.version}</Implementation-Version>
                                    <Implementation-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Implementation-Vendor>
                                    <Specification-Title>${project.name}</Specification-Title>
                                    <Specification-Version>${project.version}</Specification-Version>
                                    <Specification-Vendor>Copyright (C) JiaXue.Qin All rights reserved.
                                    </Specification-Vendor>
                                    <Multi-Release>true</Multi-Release>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- 生成源码插件 -->
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>

            <!-- 生成javadoc插件 -->
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>