<?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>8.0.1</version>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>21</version>
        <relativePath />
    </parent>

    <modules>
        <module>apm-commons</module>
        <module>apm-protocol</module>
    </modules>
    <packaging>pom</packaging>

    <name>apm</name>
    <url>https://github.com/apache/skywalking</url>

    <scm>
        <url>https://github.com/apache/skywalking</url>
        <connection>scm:git:https://github.com/apache/skywalking.git</connection>
        <developerConnection>scm:git:https://github.com/apache/skywalking.git</developerConnection>
        <tag>v8.0.1</tag>
    </scm>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/apache/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.apache.org</post>
            <subscribe>dev-subscribe@skywalking.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@skywalking.apache.org</unsubscribe>
        </mailingList>
        <mailingList>
            <name>SkyWalking Commits</name>
            <post>commits@skywalking.apache.org</post>
            <subscribe>commits-subscribe@skywalking.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@skywalking.apache.org</unsubscribe>
        </mailingList>
    </mailingLists>

    <profiles>
        <profile>
            <id>agent</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>apm-sniffer</module>
                <module>apm-application-toolkit</module>
            </modules>
        </profile>
        <profile>
            <id>backend</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>oap-server</module>
            </modules>
        </profile>
        <profile>
            <id>ui</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>apm-webapp</module>
            </modules>
        </profile>
        <profile>
            <id>dist</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>apm-dist</module>
                <module>apm-dist-es7</module>
            </modules>
        </profile>
        <profile>
            <id>all</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>apm-sniffer</module>
                <module>apm-application-toolkit</module>
                <module>oap-server</module>
                <module>apm-webapp</module>
                <module>apm-dist</module>
                <module>apm-dist-es7</module>
            </modules>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>exec-maven-plugin</artifactId>
                        <version>${exec-maven-plugin.version}</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>
            <id>CI-with-IT</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>integration-test</goal>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <compiler.version>1.8</compiler.version>
        <powermock.version>1.6.4</powermock.version>
        <checkstyle.version>6.18</checkstyle.version>
        <junit.version>4.12</junit.version>
        <mockito-all.version>1.10.19</mockito-all.version>
        <lombok.version>1.18.10</lombok.version>

        <!-- core lib dependency -->
        <grpc.version>1.26.0</grpc.version>
        <os-maven-plugin.version>1.6.2</os-maven-plugin.version>
        <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
        <com.google.protobuf.protoc.version>3.3.0</com.google.protobuf.protoc.version>
        <protoc-gen-grpc-java.plugin.version>1.8.0</protoc-gen-grpc-java.plugin.version>
        <netty-tcnative-boringssl-static.version>2.0.26.Final</netty-tcnative-boringssl-static.version>

        <!-- Plugin versions -->
        <docker.plugin.version>0.4.13</docker.plugin.version>
        <takari-maven-plugin.version>0.6.1</takari-maven-plugin.version>
        <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
        <maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
        <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
        <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
        <maven-failsafe-plugin.version>2.22.0</maven-failsafe-plugin.version>
        <maven-surefire-plugin.version>2.22.0</maven-surefire-plugin.version>
        <maven-jar-plugin.version>3.1.0</maven-jar-plugin.version>
        <maven-shade-plugin.version>3.1.1</maven-shade-plugin.version>
        <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version>
        <apache-rat-plugin.version>0.12</apache-rat-plugin.version>
        <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
        <maven-resource-plugin.version>3.1.0</maven-resource-plugin.version>
        <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
        <versions-maven-plugin.version>2.5</versions-maven-plugin.version>
        <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
        <maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version>
        <jmh.version>1.21</jmh.version>
        <gmaven-plugin.version>1.5</gmaven-plugin.version>
        <cobertura-maven-plugin.version>2.7</cobertura-maven-plugin.version>
        <checkstyle.fails.on.error>true</checkstyle.fails.on.error>
        <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.openjdk.jmh</groupId>
            <artifactId>jmh-core</artifactId>
            <version>${jmh.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>${javax.annotation-api.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${mockito-all.version}</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>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <!-- mvn -N io.takari:maven:wrapper -Dmaven=3.5.4 -->
                <plugin>
                    <groupId>io.takari</groupId>
                    <artifactId>maven</artifactId>
                    <version>${takari-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${maven-antrun-plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${maven-deploy-plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${maven-assembly-plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${maven-failsafe-plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${maven-jar-plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>${maven-shade-plugin.version}</version>
                </plugin>
                <!--
                    maven-surefire-plugin will exclude integration tests (ITs)
                    and leave them for maven-failsafe-plugin to run, which is bound to the `verify` goal.
                    If you want to run the ITs please activate the CI-with-IT profile
                    as well as the the profiles of the modules whose ITs you want to run.
                    e.g. you want to run the ITs in oap-server, run `./mvnw -Pbackend,CI-with-IT clean verify`
                 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                    <configuration>
                        <excludes>
                            <exclude>IT*.class</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>io.fabric8</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>${maven-docker-plugin.version}</version>
                    <configuration>
                        <containerNamePattern>%a-%t-%i</containerNamePattern>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>kr.motd.maven</groupId>
                <artifactId>os-maven-plugin</artifactId>
                <version>${os-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>detect</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>${maven-enforcer-plugin.version}</version>
                <executions>
                    <execution>
                        <id>enforce-java</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <!-- Build has not yet been updated for Java 9+ -->
                                    <version>1.8</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>${apache-rat-plugin.version}</version>
                <configuration>
                    <excludeSubProjects>false</excludeSubProjects>
                    <addDefaultLicenseMatchers>false</addDefaultLicenseMatchers>
                    <licenses>
                        <license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
                            <licenseFamilyCategory>AL20</licenseFamilyCategory>
                            <licenseFamilyName>Apache License, 2.0</licenseFamilyName>
                            <patterns>
                                <pattern>Licensed to the Apache Software Foundation (ASF)</pattern>
                            </patterns>
                        </license>
                    </licenses>
                    <licenseFamilies>
                        <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                            <familyName>Apache License, 2.0</familyName>
                        </licenseFamily>
                    </licenseFamilies>
                    <excludes>
                        <exclude>**/target/**</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>
                        <exclude>**/.vscode/**</exclude>
                        <exclude>**/.factorypath</exclude>

                        <!-- Docker compose envrioment variables file -->
                        <excludes>**/.env/**</excludes>

                        <!-- UI IDE configs -->
                        <exclude>**/skywalking-ui/.editorconfig</exclude>
                        <!-- UI ignore -->
                        <exclude>**/skywalking-ui/.browserslistrc</exclude>
                        <!-- UI prettier config -->
                        <exclude>**/skywalking-ui/.prettierrc</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>

                        <!-- Proto files of Istio, envoy, prometheus and gogoproto projects -->
                        <exclude>**/src/main/proto/envoy/**</exclude>
                        <exclude>**/src/main/proto/gogoproto/gogo.proto</exclude>
                        <exclude>**/src/main/proto/google/**</exclude>
                        <exclude>**/src/main/proto/istio/**</exclude>
                        <exclude>**/src/main/proto/jaeger/**</exclude>
                        <exclude>**/src/main/proto/mixer/**</exclude>
                        <exclude>**/src/main/proto/policy/**</exclude>
                        <exclude>**/src/main/proto/prometheus/client_model/metrics.proto</exclude>
                        <exclude>**/src/main/proto/protoc-gen-swagger/**</exclude>
                        <exclude>**/src/main/proto/validate/validate.proto</exclude>

                        <!-- generated file from oal grammar and rt template -->
                        <exclude>**/src/main/antlr4/org/apache/skywalking/oal/rt/grammar/OALLexer.tokens</exclude>
                        <exclude>**/src/main/resources/code-templates/*/*.ftl</exclude>

                        <!-- Maven Wrapper generated files -->
                        <exclude>.mvn/wrapper/**</exclude>
                        <exclude>tools/dependencies/known-oap-backend-dependencies.txt</exclude>
                        <exclude>apm-checkstyle/CHECKSTYLE_HEAD</exclude>

                        <!-- generated file from test agent plugin scenarios -->
                        <exclude>**/test/plugin/workspace/**</exclude>

                        <!-- TSL relevant files for e2e test -->
                        <exclude>**/*.crt</exclude>
                        <exclude>**/*.pem</exclude>

                        <exclude>.m2/**</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${compiler.version}</source>
                    <target>${compiler.version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven-resource-plugin.version}</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>
                <artifactId>maven-source-plugin</artifactId>
                <version>${maven-source-plugin.version}</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>none</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.eluder.coveralls</groupId>
                <artifactId>coveralls-maven-plugin</artifactId>
                <version>${coveralls-maven-plugin.version}</version>
                <configuration>
                    <repoToken>${COVERALLS_REPO_TOKEN}</repoToken>
                    <sourceDirectories>
                        <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                    </sourceDirectories>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${maven-checkstyle-plugin.version}</version>
                <configuration>
                    <configLocation>apm-checkstyle/checkStyle.xml</configLocation>
                    <headerLocation>apm-checkstyle/CHECKSTYLE_HEAD</headerLocation>
                    <encoding>UTF-8</encoding>
                    <consoleOutput>true</consoleOutput>
                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
                    <failOnViolation>${checkstyle.fails.on.error}</failOnViolation>
                    <sourceDirectories>
                        <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                        <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
                    </sourceDirectories>
                    <resourceIncludes>
                        **/*.properties,
                        **/*.sh,
                        **/*.bat,
                        **/*.yml,
                        **/*.yaml,
                        **/*.xml
                    </resourceIncludes>
                    <excludes>
                        **/target/generated-test-sources/**,
                        org/apache/skywalking/apm/network/register/v2/**/*.java,
                        org/apache/skywalking/apm/network/common/**/*.java,
                        org/apache/skywalking/apm/network/servicemesh/**/*.java,
                        org/apache/skywalking/apm/network/language/**/*.java,
                        org/apache/skywalking/oap/server/core/remote/grpc/proto/*.java,
                        org/apache/skywalking/oal/rt/grammar/*.java,
                        org/apache/skywalking/oap/server/exporter/grpc/*.java,
                        org/apache/skywalking/oap/server/configuration/service/*.java
                    </excludes>
                    <propertyExpansion>
                        import.control=apm-checkstyle/importControl.xml
                    </propertyExpansion>
                </configuration>
                <executions>
                    <execution>
                        <id>validate</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>${cobertura-maven-plugin.version}</version>
                <configuration>
                    <check />
                    <aggregate>true</aggregate>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <quiet>true</quiet>
                    <formats>
                        <format>html</format>
                        <format>xml</format>
                    </formats>
                    <instrumentation>
                        <ignoreTrivial>true</ignoreTrivial>
                        <ignoreMethodAnnotations>
                            <ignoreMethodAnnotation>lombok.Generated</ignoreMethodAnnotation>
                        </ignoreMethodAnnotations>
                        <includes>
                            <include>org/apache/skywalking/**/*.class</include>
                        </includes>
                        <excludes>
                            <exclude>org/apache/skywalking/**/*Test.class</exclude>
                            <exclude>org/apache/skywalking/**/Test*.class</exclude>
                            <exclude>org/apache/skywalking/apm/network/register/v2/**/*.class</exclude>
                            <exclude>org/apache/skywalking/apm/network/common/**/*.class</exclude>
                            <exclude>org/apache/skywalking/apm/network/servicemesh/**/*.class</exclude>
                            <exclude>org/apache/skywalking/apm/network/language/**/*.class</exclude>
                            <exclude>org/apache/skywalking/oap/server/core/remote/grpc/proto/*.class</exclude>
                            <exclude>org/apache/skywalking/oal/rt/grammar/*.class</exclude>
                            <exclude>org/apache/skywalking/oap/server/exporter/grpc/*.class</exclude>
                            <exclude>org/apache/skywalking/apm/toolkit/**/*Activation.class</exclude>
                            <exclude>org/apache/skywalking/apm/plugin/**/*Instrumentation.class</exclude>
                            <exclude>org/apache/skywalking/apm/plugin/**/*Instrumentation$*.class</exclude>
                        </excludes>
                    </instrumentation>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
