<?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>org.graylog.plugins</groupId>
		<artifactId>graylog-plugin-web-parent</artifactId>
		<version>3.2.5</version>
	</parent>

	<groupId>com.airbus-cyber-security.graylog</groupId>
	<artifactId>graylog-plugin-logging-alert</artifactId>
	<version>2.0.2</version>
	<packaging>jar</packaging>

	<name>${project.artifactId}</name>
	<description>Graylog ${project.artifactId} plugin.</description>
	<url>https://github.com/airbus-cyber/graylog-plugin-logging-alert</url>

	<licenses>
		<license>
			<name>GNU General Public License (GPL) version 3.0</name>
			<url>https://www.gnu.org/licenses/gpl-3.0.html</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Airbus CyberSecurity</name>
			<organization>Airbus CyberSecurity</organization>
			<organizationUrl>https://www.airbus-cyber-security.com</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:git@github.com:airbus-cyber/graylog-plugin-logging-alert.git</connection>
		<developerConnection>scm:git:git@github.com:airbus-cyber/graylog-plugin-logging-alert.git</developerConnection>
		<url>https://github.com/airbus-cyber/graylog-plugin-logging-alert</url>
		<tag>HEAD</tag>
	</scm>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<name>Nexus Release Repository</name>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<graylog.version>3.2.5</graylog.version>
		<graylog2.plugin-dir>/usr/share/graylog-server/plugin</graylog2.plugin-dir>
		<auto-value.version>1.5.1</auto-value.version>

		<!-- Test dependencies -->
		<assertj-core.version>3.8.0</assertj-core.version>
		<assertj-joda-time.version>2.0.0</assertj-joda-time.version>
		<junit.version>4.12</junit.version>
		<mockito.version>2.8.9</mockito.version>
		<powermock.version>1.7.0</powermock.version>
		<slf4j-test.version>1.1.0</slf4j-test.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.graylog2</groupId>
			<artifactId>graylog2-server</artifactId>
			<version>${graylog.version}</version>
			<scope>provided</scope>
			<exclusions>
				<exclusion>
					<groupId>org.apache.logging.log4j</groupId>
					<artifactId>log4j-slf4j-impl</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.google.auto.value</groupId>
			<artifactId>auto-value</artifactId>
			<version>${auto-value.version}</version>
			<scope>provided</scope>
		</dependency>

		<!-- Test dependencies -->
		<dependency>
			<groupId>uk.org.lidalia</groupId>
			<artifactId>slf4j-test</artifactId>
			<version>${slf4j-test.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
			<version>${assertj-core.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-joda-time</artifactId>
			<version>${assertj-joda-time.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>${mockito.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-api-mockito2</artifactId>
			<version>${powermock.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<version>${powermock.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<resources>
			<resource>
				<directory>${web.build-dir}</directory>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<skipAssembly>true</skipAssembly>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<annotationProcessors>
						<annotationProcessor>com.google.auto.value.processor.AutoValueProcessor</annotationProcessor>
					</annotationProcessors>
				</configuration>
			</plugin>
			<plugin>
			        <groupId>org.apache.maven.plugins</groupId>
			        <artifactId>maven-surefire-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestEntries>
							<Graylog-Plugin-Properties-Path>${project.groupId}.${project.artifactId}</Graylog-Plugin-Properties-Path>
						</manifestEntries>
					</archive>
					<outputDirectory>target</outputDirectory>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<configuration>
					<createDependencyReducedPom>false</createDependencyReducedPom>
                    <minimizeJar>false</minimizeJar>
                    <transformers>
                        <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                    </transformers>
           			<artifactSet>
                        <includes>
							<include>com.airbus-cyber-security.graylog:*</include>
                        </includes>
					</artifactSet>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>3.0.0-M3</version>
				<executions>
					<execution>
						<id>enforce-maven</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<version>3.0.0</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>jdeb</artifactId>
				<groupId>org.vafer</groupId>
				<configuration>
					<deb>${project.build.directory}/${project.artifactId}-${project.version}.deb</deb>
					<dataSet>
						<data>
							<src>${project.build.directory}/${project.build.finalName}.jar</src>
							<type>file</type>
							<mapper>
								<type>perm</type>
								<prefix>${graylog2.plugin-dir}</prefix>
								<filemode>644</filemode>
								<user>root</user>
								<group>root</group>
							</mapper>
						</data>
					</dataSet>
					<signPackage>true</signPackage>
					<signMethod>dpkg-sig</signMethod>
					<signRole>builder</signRole>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>rpm-maven-plugin</artifactId>
				<configuration>
					<group>Application/Internet</group>
					<prefixes>
						<prefix>/usr</prefix>
					</prefixes>
					<defineStatements>
						<defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
						<defineStatement>_binaries_in_noarch_packages_terminate_build 0</defineStatement>
					</defineStatements>
					<defaultFilemode>644</defaultFilemode>
					<defaultDirmode>755</defaultDirmode>
					<defaultUsername>root</defaultUsername>
					<defaultGroupname>root</defaultGroupname>
					<mappings>
						<mapping>
							<directory>${graylog2.plugin-dir}</directory>
							<sources>
								<source>
									<location>${project.build.directory}/</location>
									<includes>
										<include>${project.build.finalName}.jar</include>
									</includes>
								</source>
							</sources>
						</mapping>
					</mappings>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<version>1.5</version>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.2.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9.1</version>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
