blob: 517ea6d8f277d442f289b0aac6b7a19bdd92779b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~
-->
<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.apache.skywalking</groupId>
<artifactId>apm</artifactId>
<version>5.0.0-beta</version>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>19</version>
</parent>
<developers>
<developer>
<name>Wu Sheng</name>
<email>wu.sheng@foxmail.com</email>
<url>https://github.com/wu-sheng</url>
<roles>
<role>Founder</role>
<role>PMC member</role>
</roles>
</developer>
<developer>
<name>Peng Yongsheng</name>
<email>8082209@qq.com</email>
<url>https://github.com/peng-yongsheng</url>
<roles>
<role>PMC member</role>
</roles>
</developer>
<developer>
<name>Zhang Xin</name>
<url>https://github.com/ascrutae</url>
<roles>
<role>PMC member</role>
</roles>
</developer>
</developers>
<modules>
<module>apm-commons</module>
<module>apm-sniffer</module>
<module>apm-application-toolkit</module>
<module>apm-collector</module>
<module>apm-protocol</module>
<module>apm-webapp</module>
<module>apm-dist</module>
<module>apm-checkstyle</module>
</modules>
<packaging>pom</packaging>
<name>apm</name>
<url>https://github.com/apache/incubator-skywalking</url>
<scm>
<url>https://github.com/apache/incubator-skywalking</url>
<connection>scm:git:https://github.com/apache/incubator-skywalking.git</connection>
<developerConnection>scm:git:https://github.com/apache/incubator-skywalking.git</developerConnection>
<tag>v5.0.0-beta</tag>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/apache/incubator-skywalking/issues</url>
</issueManagement>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<mailingLists>
<mailingList>
<name>SkyWalking Developer List</name>
<post>dev@skywalking.incubator.apache.org</post>
<subscribe>dev-subscribe@skywalking.incubator.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@skywalking.incubator.apache.org</unsubscribe>
</mailingList>
<mailingList>
<name>SkyWalking Commits</name>
<post>commits@skywalking.incubator.apache.org</post>
<subscribe>commits-subscribe@skywalking.incubator.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@skywalking.incubator.apache.org</unsubscribe>
</mailingList>
</mailingLists>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<compiler.version>1.8</compiler.version>
<scala.compiler.version>2.11.7</scala.compiler.version>
<powermock.version>1.6.4</powermock.version>
<docker.plugin.version>0.4.13</docker.plugin.version>
<checkstyle.version>6.18</checkstyle.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.12</version>
<configuration>
<excludes>
<exclude>**/target/**</exclude>
<exclude>**/DISCLAIMER</exclude>
<exclude>**/licenses/**</exclude>
<exclude>**/ui-licenses/**</exclude>
<exclude>**/codeStyle.xml</exclude>
<!-- IDE files -->
<exclude>**/*.iml</exclude>
<exclude>**/.idea/**</exclude>
<exclude>**/*.classpath</exclude>
<exclude>**/.project</exclude>
<exclude>**/.settings/**</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<!-- UI IDE configs -->
<exclude>**/skywalking-ui/.editorconfig</exclude>
<!-- UI Compiler configs -->
<exclude>**/skywalking-ui/.webpackrc.js</exclude>
<exclude>**/skywalking-ui/.roadhogrc.mock.js</exclude>
<!-- UI style check files -->
<exclude>**/skywalking-ui/.eslintrc</exclude>
<exclude>**/skywalking-ui/.stylelintrc</exclude>
<!-- git files -->
<exclude>**/.gitignore</exclude>
<exclude>**/.gitmodules</exclude>
<exclude>**/.git/**</exclude>
<!-- CI files -->
<exclude>**/.travis.yml</exclude>
<!-- GitHub files -->
<exclude>**/.github/**</exclude>
<!-- document files -->
<exclude>**/*.md</exclude>
<excldue>**/*.MD</excldue>
<exclude>**/*.txt</exclude>
<exclude>**/docs/**</exclude>
<!-- Test cases data in JSON format -->
<exclude>**/src/test/resources/json/*.json</exclude>
<!-- front end libary and generated files -->
<exclude>**/skywalking-ui/node_modules/**</exclude>
<exclude>**/skywalking-ui/node/**</exclude>
<exclude>**/skywalking-ui/dist/**</exclude>
<!-- web UI dependencies descriptions -->
<exclude>skywalking-ui/package.json</exclude>
<exclude>skywalking-ui/package-lock.json</exclude>
</excludes>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${compiler.version}</source>
<target>${compiler.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
<version>3.6.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.plugin.version}</version>
<configuration>
<skipDocker>true</skipDocker>
</configuration>
</plugin>
<plugin>
<!-- 源码插件 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<!-- 发布时自动将源码同时发布的配置 -->
<executions>
<execution>
<id>attach-sources</id>
<phase>none</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>4.1.0</version>
<configuration>
<sourceDirectories>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
</sourceDirectories>
</configuration>
</plugin>
<!-- 覆盖率 -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
<configuration>
<excludes>
<exclude>*MethodAccess</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-checkstyle</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>skywalking/checkStyle.xml</configLocation>
<headerLocation>skywalking/CHECKSTYLE_HEAD</headerLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<failsOnError>true</failsOnError>
<excludes>org.apache.skywalking.apm/network/**/*.java,
org.apache.skywalking.apm/collector/remote/grpc/**/*.java,
org.apache.skywalking.apm/agent/core/context/ids/base64/*.java
</excludes>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>travis-ci-submodule</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>git submodule update</id>
<phase>initialize</phase>
<inherited>false</inherited>
<configuration>
<executable>git</executable>
<arguments>
<argument>submodule</argument>
<argument>update</argument>
<argument>--init</argument>
<argument>--recursive</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- ojdbc is not Apache license compatible, so it must be manually downloaded first -->
<id>install-ojdbc</id>
<activation>
<file>
<exists>${basedir}/ci-dependencies/ojdbc14-10.2.0.4.0.jar</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>install-ojdbc</id>
<inherited>false</inherited>
<phase>process-resources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>mvn</executable>
<arguments>
<argument>install:install-file</argument>
<argument>-Dfile=ojdbc14-10.2.0.4.0.jar</argument>
<argument>-DgroupId=com.oracle</argument>
<argument>-DartifactId=ojdbc14</argument>
<argument>-Dversion=10.2.0.4.0</argument>
<argument>-Dpackaging=jar</argument>
</arguments>
<workingDirectory>${project.basedir}/ci-dependencies</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- resin is not Apache license compatible, so it must be manually downloaded first -->
<!-- Use resin 3.x jar file as a beacon only -->
<id>install-resin-3</id>
<activation>
<file>
<exists>${basedir}/ci-dependencies/resin-3.0.9.jar</exists>
</file>
</activation>
</profile>
<profile>
<!-- resin is not Apache license compatible, so it must be manually downloaded first -->
<id>install-resin-4</id>
<activation>
<file>
<exists>${basedir}/ci-dependencies/resin-4.0.41.jar</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>install-resin-4</id>
<inherited>false</inherited>
<phase>process-resources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>mvn</executable>
<arguments>
<argument>install:install-file</argument>
<argument>-Dfile=resin-4.0.41.jar</argument>
<argument>-DgroupId=com.caucho</argument>
<argument>-DartifactId=resin</argument>
<argument>-Dversion=4.0.41</argument>
<argument>-Dpackaging=jar</argument>
</arguments>
<workingDirectory>${project.basedir}/ci-dependencies</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>