<?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>io.guise</groupId>
		<artifactId>guise</artifactId>
		<version>0.2.0</version>
	</parent>

	<artifactId>guise-cli</artifactId>

	<name>Guise CLI</name>
	<description>Guise™ Command-Line Interface (CLI) utility program.</description>

	<properties>
		<exe.main.class>io.guise.cli.GuiseCli</exe.main.class>
		<exe.filename>guise.exe</exe.filename>
	</properties>

	<dependencies>
		<dependency>
			<groupId>com.globalmentor</groupId>
			<artifactId>globalmentor-application</artifactId>
		</dependency>

		<dependency>
			<groupId>com.globalmentor</groupId>
			<artifactId>globalmentor-core</artifactId>
		</dependency>

		<dependency>
			<groupId>com.github.dtmo.jfiglet</groupId>
			<artifactId>jfiglet</artifactId>
			<version>1.0.0</version>
		</dependency>

		<dependency>
			<groupId>io.clogr</groupId>
			<artifactId>clogr-logback-provider</artifactId>
		</dependency>

		<dependency>
			<groupId>io.confound</groupId>
			<artifactId>confound-file</artifactId>
		</dependency>

		<dependency>
			<groupId>io.guise</groupId>
			<artifactId>guise-mummy</artifactId>
		</dependency>

		<dependency>
			<groupId>io.guise</groupId>
			<artifactId>guise-tomcat</artifactId>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jul-to-slf4j</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-core</artifactId>
		</dependency>

		<dependency>
			<groupId>org.tuxdude.logback.extensions</groupId>
			<artifactId>logback-colorizer</artifactId>
			<version>1.0.1</version>
		</dependency>
	</dependencies>

	<build>
		<resources>
			<resource>
				<directory>${project.basedir}/src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>com.akathist.maven.plugins.launch4j</groupId>
				<artifactId>launch4j-maven-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-bin</id>
						<!--
							Copy scripts from src/bin/ to target/bin/ using ~{} delimiters,
							because ${} classes with script variable replacement.
						 -->
						<goals>
							<goal>resources</goal>
						</goals>
						<configuration>
							<resources>
								<resource>
									<directory>${project.basedir}/src/bin</directory>
									<includes>
										<include>**/*.bat</include>
										<include>**/*.sh</include>
									</includes>
									<filtering>true</filtering>
								</resource>
							</resources>
							<useDefaultDelimiters>false</useDefaultDelimiters>
							<delimiters>
								<delimiter>~{*}</delimiter>
							</delimiters>
							<outputDirectory>${project.build.directory}/bin</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.8</version><!--$NO-MVN-MAN-VER$-->
				<executions>
					<execution>
						<id>set-scripts-executable</id>
						<phase>process-resources</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
							<target>
								<!-- Enable execute permission for the shell scripts. -->
								<chmod dir="${project.build.directory}/bin" includes="**/*.sh" perm="+x" />
								<!-- Remove the `.sh` extension from shell scripts. -->
								<move todir="${project.build.directory}/bin">
									<fileset dir="${project.build.directory}/bin">
										<include name="**/*.sh" />
									</fileset>
									<mapper type="glob" from="*.sh" to="*" />
								</move>
							</target>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<descriptors>
						<descriptor>src/assembly/bin.xml</descriptor>
					</descriptors>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<!-- ignore Eclipse's lack of support for the Maven Antrun Plugin. -->
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-antrun-plugin</artifactId>
										<versionRange>[1.3,)</versionRange>
										<goals>
											<goal>run</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
