<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>

	<groupId>org.digitalmediaserver</groupId>
	<artifactId>crowdin-maven-plugin</artifactId>
	<version>2.0.0</version>
	<packaging>maven-plugin</packaging>
	<prerequisites>
		<maven>3.2.3</maven>
	</prerequisites>

	<name>Crowdin Maven Plugin</name>

	<description>This Maven plugin allows project translation files to be synchronized with the crowdin.com API.</description>
	<url>https://github.com/DigitalMediaServer/crowdin-maven-plugin</url>

	<licenses>
		<license>
			<name>GNU Lesser General Public License, Version 3</name>
			<url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<scm>
		<connection>scm:git:git@github.com:DigitalMediaServer/crowdin-maven-plugin.git</connection>
		<developerConnection>scm:git:git@github.com:DigitalMediaServer/crowdin-maven-plugin.git</developerConnection>
		<url>http://github.com/DigitalMediaServer/crowdin-maven-plugin</url>
	</scm>

	<developers>
		<developer>
			<id>Nadahar</id>
			<timezone>1</timezone>
			<url>http://github.com/Nadahar</url>
		</developer>
	</developers>

	<issueManagement>
		<system>GitHub</system>
		<url>https://github.com/DigitalMediaServer/crowdin-maven-plugin/issues</url>
	</issueManagement>    

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<pluginPluginVersion>3.5.2</pluginPluginVersion>
		<mavenCoreVersion>3.8.6</mavenCoreVersion>
		<javadocPluginVersion>3.0.1</javadocPluginVersion>
		<apacheHttpClientVersion>4.5.13</apacheHttpClientVersion>
		<plexusComponentJavadocVersion>1.7.1</plexusComponentJavadocVersion>
	</properties>

	<dependencies>
		<!-- dependencies to annotations -->
		<dependency>
			<groupId>org.apache.maven.plugin-tools</groupId>
			<artifactId>maven-plugin-annotations</artifactId>
			<version>3.6.1</version>
			<!-- annotations are not used at runtime because @Retention(value=CLASS), they are needed only to build the plugin -->
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-core</artifactId>
			<version>${mavenCoreVersion}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>${mavenCoreVersion}</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.10.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>${apacheHttpClientVersion}</version>
		</dependency>
		<dependency>
			<!-- 
				The last version of org.eclipse.jgit that supports Java 7
				depends on version 0.1.50 of this artifact which suffers from
				CVE-2016-5725. Declaring it specifically and excluding it from
				org.eclipse.jgit is to get around this.
			 -->
			<groupId>com.jcraft</groupId>
			<artifactId>jsch</artifactId>
			<version>0.1.54</version>
		</dependency>
		<dependency>
			<groupId>org.eclipse.jgit</groupId>
			<artifactId>org.eclipse.jgit</artifactId>
			<!-- Don't upgrade - last version that supports Java 7 -->
			<version>3.7.1.201504261725-r</version>
			<exclusions>
				<exclusion>
					<groupId>com.jcraft</groupId>
					<artifactId>jsch</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>annotations</artifactId>
			<version>3.0.1u2</version>
		</dependency>
	</dependencies>
	
	<distributionManagement>
	<!-- 
		Repository to upload to during the deploy phase. Ftp, sftp and scp are supported. 
		The "id" parameter must match a "server" entry in Maven configuration (e.g. ~/.m2/settings.xml)
		where username and password are provided.  
	-->
		<snapshotRepository>
		  <id>ossrh</id>
		  <url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
	</distributionManagement>

	<build>
		<defaultGoal>package</defaultGoal>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>1.8</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.1.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5.3</version>
				</plugin>
				<plugin>
					<!--
						This plugin's configuration is used to store Eclipse M2E settings only.
						It has no influence on the Maven build itself.
					-->
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<lifecycleMappings>
								<lifecycleMapping>
									<packagingType>maven-plugin</packagingType>
									<lifecycleMappingId>org.eclipse.m2e.jdt.JarLifecycleMapping</lifecycleMappingId>
								</lifecycleMapping>
							</lifecycleMappings>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-plugin-plugin</artifactId>
										<versionRange>[2.3,)</versionRange>
										<goals>
											<goal>descriptor</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute>
											<runOnIncremental>false</runOnIncremental>
										</execute>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-plugin-plugin</artifactId>
										<versionRange>[2.3,)</versionRange>
										<goals>
											<goal>helpmojo</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-plugin-plugin</artifactId>
				<version>${pluginPluginVersion}</version>
				<configuration>
					<goalPrefix>crowdin</goalPrefix>
				</configuration>
				<executions>
					<execution>
						<id>default-descriptor</id>
						<phase>process-classes</phase>
					</execution>
					<execution>
						<id>help-goal</id>
						<goals>
							<goal>helpmojo</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.7.1</version>
				<configuration>
					<locales>en</locales>
					<generateSitemap>true</generateSitemap>
					<generateReports>true</generateReports>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<version>3.1.0</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
				<version>2.5.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.21.0</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>3.1.0</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.1.0</version>
			</plugin>
			<plugin>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.9</version>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.7.0</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.8</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>false</autoReleaseAfterClose>
				</configuration>
			</plugin>
		</plugins>

		<extensions>
			<!-- 
				Only one of the wagon providers is needed, depending on the protocol used to upload the plugin
				to the repository. wagon-ftp supports ftp and wagon-ssh supports sftp and scp. 
			-->
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-ftp</artifactId>
				<version>3.0.0</version>
			</extension>
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-ssh</artifactId>
				<version>3.0.0</version>
			</extension>
		</extensions>		
	</build>

	<profiles>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>3.0.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>${javadocPluginVersion}</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<stylesheetfile>${basedir}/src/main/javadoc/stylesheet.css</stylesheetfile>		
							<docfilessubdirs>true</docfilessubdirs>			
							<tagletArtifacts>
								<tagletArtifact>
									<groupId>org.apache.maven.plugin-tools</groupId>
									<artifactId>maven-plugin-tools-javadoc</artifactId>
									<version>3.5.2</version>
								</tagletArtifact>
								<tagletArtifact>
									<groupId>org.codehaus.plexus</groupId>
									<artifactId>plexus-component-javadoc</artifactId>
									<version>${plexusComponentJavadocVersion}</version>
								</tagletArtifact>
							</tagletArtifacts>	
							<failOnError>false</failOnError>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<keyname>${ossrh-keyname}</keyname>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-plugin-plugin</artifactId>
				<version>${pluginPluginVersion}</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-changelog-plugin</artifactId>
				<version>2.3</version>
			</plugin>      
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>3.10.0</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>3.0.5</version>
				<configuration>
					<excludeFilterFile>${basedir}/FindBugsExcludeFilter.xml</excludeFilterFile>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadocPluginVersion}</version>											
				<configuration>
					<stylesheetfile>${basedir}/src/main/javadoc/stylesheet.css</stylesheetfile>		
					<docfilessubdirs>true</docfilessubdirs>			
					<tagletArtifacts>
						<tagletArtifact>
							<groupId>org.apache.maven.plugin-tools</groupId>
							<artifactId>maven-plugin-tools-javadoc</artifactId>
							<version>${pluginPluginVersion}</version>
						</tagletArtifact>
						<tagletArtifact>
							<groupId>org.codehaus.plexus</groupId>
							<artifactId>plexus-component-javadoc</artifactId>
							<version>${plexusComponentJavadocVersion}</version>
						</tagletArtifact>
					</tagletArtifacts>	
					<failOnError>false</failOnError>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jxr-plugin</artifactId>
				<version>2.5</version>
			</plugin>			
		</plugins>
	</reporting>	
</project>

