<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>net.flexberry</groupId>
	<artifactId>odata-jpa</artifactId>
	<version>0.3.9</version>
	<packaging>pom</packaging>

	<name>odata-jpa</name>
	<url>https://github.com/Flexberry/olingo-jpa-processor-v4</url>
	<description>Library for work with data, based on odata. Library provides tools for build servlets backend</description>
	
	<licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

	<developers>
        <developer>
            <id>flexberry</id>
            <name>NewPlatform</name>
            <email>mail@flexberry.net</email>
            <timezone>UTC+5</timezone>
        </developer>
    </developers>
	
	<scm>
        <connection>scm:git:https://github.com/Flexberry/olingo-jpa-processor-v4</connection>
        <developerConnection>scm:git:https://github.com/Flexberry/olingo-jpa-processor-v4</developerConnection>
        <tag>odata-jpa-0.3.9</tag>
        <url>https://github.com/Flexberry/olingo-jpa-processor-v4</url>
    </scm>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.build.source>1.8</project.build.source>
		<maven.complier.version>3.8.0</maven.complier.version>
		<odata.version>4.7.1</odata.version>
		<jackson.version>2.9.8</jackson.version>
		<powermock.version>1.7.1</powermock.version>
		<coveralls.version>4.3.0</coveralls.version>
	</properties>

	<profiles>

		<profile>
			<id>build.fast</id>
			<properties>
				<pmd.skip>true</pmd.skip>
				<rat.skip>true</rat.skip>
				<checkstyle.skip>true</checkstyle.skip>
				<exclude.regex>.*(proxy|client).*</exclude.regex>
			</properties>
		</profile>

		<profile>
			<id>build.quality</id>
			<properties>
				<cobertura.skip>false</cobertura.skip>
				<!-- nothing excluded -->
				<exclude.regex />
			</properties>
		</profile>

		<profile>
			<id>vulas</id>
			<activation>
				<property>
					<name>vulas</name>
				</property>
			</activation>
			<properties>
				<vulas.version>3.1.9</vulas.version>
				<vulas.shared.backend.serviceUrl>http://localhost:8033/backend/</vulas.shared.backend.serviceUrl>
				<vulas.core.space.token>8DCFB02D5B94AD17C76ED1A5F48DEAED</vulas.core.space.token>
				<vulas.core.appContext.group>${project.groupId}</vulas.core.appContext.group>
				<vulas.core.appContext.artifact>${project.artifactId}</vulas.core.appContext.artifact>
				<vulas.core.appContext.version>${project.version}</vulas.core.appContext.version>
			</properties>
			<build>
				<plugins>				
					<plugin>
						<groupId>com.sap.research.security.vulas</groupId>
						<artifactId>plugin-maven</artifactId>
						<version>${vulas.version}</version>
						<configuration>
							<layeredConfiguration>
								<vulas.shared.backend.serviceUrl>${vulas.shared.backend.serviceUrl}</vulas.shared.backend.serviceUrl>
								<vulas.core.space.token>${vulas.core.space.token}</vulas.core.space.token>

								<vulas.core.appContext.group>${vulas.core.appContext.group}</vulas.core.appContext.group>
								<vulas.core.appContext.artifact>${vulas.core.appContext.artifact}</vulas.core.appContext.artifact>
								<vulas.core.appContext.version>${vulas.core.appContext.version}</vulas.core.appContext.version>

								<vulas.shared.tmpDir>${project.build.directory}/vulas/tmp</vulas.shared.tmpDir>
								<vulas.core.uploadDir>${project.build.directory}/vulas/upload</vulas.core.uploadDir>
								<vulas.core.app.sourceDir>${project.build.directory}/classes,${project.basedir}/src/main/java,${project.basedir}/src/main/python</vulas.core.app.sourceDir>

								<!-- vulas:instr : Instruments JAR/WAR files found in source dir, 
									and writes to target dir. Files in include dir are put into /WEB-INF/lib 
									of output WARs. Files in lib dir are part of the class path when instrumenting. -->
								<vulas.core.instr.sourceDir>${project.build.directory}</vulas.core.instr.sourceDir>
								<vulas.core.instr.targetDir>${project.build.directory}/vulas/target</vulas.core.instr.targetDir>
								<vulas.core.instr.includeDir>${project.build.directory}/vulas/include</vulas.core.instr.includeDir>
								<vulas.core.instr.libDir>${project.build.directory}/vulas/lib</vulas.core.instr.libDir>
								<vulas.core.instr.writeCode>false</vulas.core.instr.writeCode>
								<vulas.core.instr.instrumentorsChoosen>com.sap.psr.vulas.monitor.trace.SingleTraceInstrumentor</vulas.core.instr.instrumentorsChoosen>
								<vulas.core.instr.searchRecursive>false</vulas.core.instr.searchRecursive>
								<vulas.core.monitor.periodicUpload.enabled>false</vulas.core.monitor.periodicUpload.enabled>
								<vulas.core.instr.maxStacktraces>10</vulas.core.instr.maxStacktraces>

								<!-- vulas:a2c/t2c : Performs static call graph analysis -->
								<vulas.reach.wala.callgraph.reflection>NO_FLOW_TO_CASTS_NO_METHOD_INVOKE</vulas.reach.wala.callgraph.reflection>
								<vulas.reach.timeout>60</vulas.reach.timeout>

								<!-- vulas:report -->
								<vulas.report.exceptionExcludeBugs />
								<vulas.report.reportDir>${project.build.directory}/vulas/report</vulas.report.reportDir>
							</layeredConfiguration>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
            <id>release-sign-artifacts</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
					<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>
						<configuration>
							<source>8</source>
							<detectJavaApiLink>false</detectJavaApiLink>
							<additionalJOption>-Xdoclint:none</additionalJOption>
						</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://s01.oss.sonatype.org/</nexusUrl>
						 <autoReleaseAfterClose>true</autoReleaseAfterClose>
					  </configuration>
					</plugin>
                </plugins>
            </build>
        </profile>
	</profiles>

	<modules>
		<module>odata-jpa-annotation</module>
		<module>odata-jpa-metadata</module>
		<module>odata-jpa-processor</module>
		<module>odata-jpa-coverage</module>
		<module>odata-jpa-test</module>
		<module>odata-jpa-spring-support</module>
	</modules>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.0.0-M3</version>
					<configuration>
						<skipTests>true</skipTests>
						<reuseForks>false</reuseForks>
						<forkCount>0</forkCount>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.7.0</version>
					<configuration>
						<source>1.9</source>
						<target>1.9</target>
						<showWarnings>true</showWarnings>
						<showDeprecation>true</showDeprecation>
						<compilerArgument>-Xlint:unchecked</compilerArgument>
						<encoding>${project.build.sourceEncoding}</encoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.8.5</version>
					<executions>
						<execution>
							<id>prepare-agent</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.eluder.coveralls</groupId>
					<artifactId>coveralls-maven-plugin</artifactId>
					<version>${coveralls.version}</version>
				</plugin>				
			</plugins>
		</pluginManagement>		
	</build>
	
	<distributionManagement>
        <snapshotRepository>
			<id>ossrh</id>
			<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
    </distributionManagement>
</project>