<?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>
        <artifactId>demo</artifactId>
        <groupId>cn.ibizlab</groupId>
        <version>1.0.0.0</version>
    </parent>

    <artifactId>demo-boot</artifactId>
    <name>后台服务 Boot</name>
    <description>后台服务 Boot</description>

    <dependencies>
		<dependency>
			<groupId>cn.ibizlab</groupId>
			<artifactId>demo-core</artifactId>
			<version>${project.version}</version>
		</dependency>
    </dependencies>
    <profiles>
        <profile>
            <id>boot</id>
            <build>
                <resources>
                    <resource>
                        <directory>${basedir}/src/main/resources</directory>
                        <includes>
                            <include>**/**</include>
                        </includes>
                    </resource>
                </resources>

                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <configuration>
                            <finalName>demo-boot</finalName>
                            <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                            <mainClass>cn.ibizlab.BootApplication</mainClass>
                            <outputDirectory>../</outputDirectory>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>repackage</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>com.spotify</groupId>
                        <artifactId>docker-maven-plugin</artifactId>
                        <version>0.4.13</version>
                        <configuration>
                        <serverId>ibiz-dev</serverId>
                        <imageName>dstimage</imageName>
                        <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                        <resources>
                            <resource>
                                <targetPath>/</targetPath>
                                <directory>../</directory>
                                <include>${project.artifactId}.jar</include>
                            </resource>
                        </resources>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <version>3.0.0</version>
                        <executions>
                            <execution>
                                <id>prepare</id>
                                <configuration>
                                    <executable>cp</executable>
                                    <arguments>
                                        <argument>../${project.artifactId}.jar</argument>
                                        <argument>${project.basedir}/src/main/docker/</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                            <execution>
                                <id>buildpush</id>
                                <configuration>
                                    <executable>docker</executable>
                                    <arguments>
                                        <argument>buildx</argument>
                                        <argument>build</argument>
                                        <argument>--platform</argument>
                                        <argument>linux/amd64,linux/arm64</argument>
                                        <argument>-t</argument>
                                        <argument>dstimage</argument>
                                        <argument>${project.basedir}/src/main/docker</argument>
                                        <argument>--push</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.2.0</version>
                        <executions>
                            <execution>
                                <id>copy-model</id>
                                <phase>process-sources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <encoding>UTF-8</encoding>
                                    <!-- 输出目录 -->
                                    <outputDirectory>${project.build.outputDirectory}/model--5F541248-A9B7-4D3F-B5D8-76D69D13B5CB--1</outputDirectory>
                                    <resources>
                                        <resource>
                                            <!-- 资源目录 -->
                                            <directory>${project.basedir}/../model</directory>
                                            <includes>
                                                <include>**/**</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
	<build>
		<resources>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<includes>
					<include>**/**</include>
				</includes>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<finalName>demo-boot</finalName>
					<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
					<mainClass>cn.ibizlab.BootApplication</mainClass>
					<outputDirectory>../</outputDirectory>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>cn.ibizlab</groupId>
				<artifactId>ibizlab-generator-plugin</artifactId>
				<version>1.0-SNAPSHOT</version>
				<configuration>
					<output>
						../
					</output>
					<inputSpec>
						../demo-boot/src/main/resources/static/remotemodel
					</inputSpec>
					<templateDirs>
						${basedir}/src/main/resources/templ
					</templateDirs>
					<packageName>
						${project.groupId}
					</packageName>
					<name>
						${parent.artifactId}
					</name>
				</configuration>
                <dependencies>
                    <dependency>
                        <groupId>cn.ibizlab</groupId>
                        <artifactId>ibizlab-template-ibizedge</artifactId>
                        <version>1.0-SNAPSHOT</version>
                    </dependency>
                </dependencies>
			</plugin>
		</plugins>
	</build>

</project>
