mirror of
https://github.com/SonarSource/sonarqube.git
synced 2024-07-29 08:17:28 +02:00
278 lines
8.7 KiB
XML
278 lines
8.7 KiB
XML
<?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.sonarsource.sonarqube</groupId>
|
|
<artifactId>sonarqube</artifactId>
|
|
<version>6.6-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>sonar-plugin-api</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>SonarQube :: Plugin API</name>
|
|
|
|
<properties>
|
|
<!--
|
|
version as stored in JAR and displayed in webapp. It is
|
|
overridden on Travis when replacing SNAPSHOT version by
|
|
build unique version, for instance "6.3.0.12345".
|
|
-->
|
|
<buildVersion>${project.version}</buildVersion>
|
|
|
|
<!--
|
|
a truncated version on three fields is kept for backward-compatibility
|
|
with scanners
|
|
-->
|
|
<buildVersionOnThreeFields>${buildVersion}</buildVersionOnThreeFields>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
|
|
<!--
|
|
The following artifacts are shaded and relocated in an internal package.
|
|
They are not visible by plugins
|
|
-->
|
|
<dependency>
|
|
<groupId>com.google.code.gson</groupId>
|
|
<artifactId>gson</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-codec</groupId>
|
|
<artifactId>commons-codec</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-lang</groupId>
|
|
<artifactId>commons-lang</artifactId>
|
|
</dependency>
|
|
|
|
<!--
|
|
The following artifacts are shaded but not relocated. They
|
|
are provided at runtime, so plugins can use them but
|
|
can not change their version.
|
|
Long-term target is to remove them from API. They should be
|
|
embedded by plugins.
|
|
-->
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>sonar-check-api</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>sonar-duplications</artifactId>
|
|
<version>${project.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<!--
|
|
Transitive dependencies available at runtime. They are not shaded with API
|
|
as they are not managed by SonarSource. Versions should not be
|
|
overridden by plugins though.
|
|
-->
|
|
<dependency>
|
|
<groupId>org.codehaus.woodstox</groupId>
|
|
<artifactId>woodstox-core-lgpl</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>stax</groupId>
|
|
<artifactId>stax-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.woodstox</groupId>
|
|
<artifactId>stax2-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.staxmate</groupId>
|
|
<artifactId>staxmate</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.code.findbugs</groupId>
|
|
<artifactId>jsr305</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<optional>true</optional>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.servlet</groupId>
|
|
<artifactId>javax.servlet-api</artifactId>
|
|
<version>3.0.1</version>
|
|
<scope>provided</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
<scope>provided</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-core</artifactId>
|
|
<scope>provided</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>provided</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- unit tests -->
|
|
<dependency>
|
|
<groupId>com.tngtech.java</groupId>
|
|
<artifactId>junit-dataprovider</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>sonar-testing-harness</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<minimizeJar>true</minimizeJar>
|
|
<createDependencyReducedPom>true</createDependencyReducedPom>
|
|
<artifactSet>
|
|
<excludes>
|
|
<exclude>org.codehaus.woodstox:woodstox-core-lgpl</exclude>
|
|
<exclude>org.codehaus.woodstox:stax2-api</exclude>
|
|
<exclude>org.codehaus.staxmate:staxmate</exclude>
|
|
</excludes>
|
|
</artifactSet>
|
|
<filters>
|
|
<!-- The following deps are used transitively, so make sure they are not minimized -->
|
|
<filter>
|
|
<artifact>${project.groupId}:sonar-duplications</artifact>
|
|
<includes>
|
|
<include>**</include>
|
|
</includes>
|
|
</filter>
|
|
<filter>
|
|
<artifact>org.codehaus.sonar:sonar-channel</artifact>
|
|
<includes>
|
|
<include>**</include>
|
|
</includes>
|
|
</filter>
|
|
<filter>
|
|
<artifact>org.sonarsource.sonarqube:sonar-check-api</artifact>
|
|
<includes>
|
|
<include>**</include>
|
|
</includes>
|
|
</filter>
|
|
</filters>
|
|
<relocations>
|
|
<relocation>
|
|
<pattern>com.google</pattern>
|
|
<shadedPattern>org.sonar.api.internal.google</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons</pattern>
|
|
<shadedPattern>org.sonar.api.internal.apachecommons</shadedPattern>
|
|
</relocation>
|
|
</relocations>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.genthaler</groupId>
|
|
<artifactId>beanshell-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>compute-version-on-three-fields</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<script>
|
|
<![CDATA[
|
|
if (! "${buildVersion}".endsWith("-SNAPSHOT")) {
|
|
// example: "6.3.0.1234". To be backward-compatible with scanners, only "6.3.0" must be kept
|
|
fields = "${buildVersion}".split("\\.");
|
|
sj = new StringJoiner(".");
|
|
i = 0;
|
|
for (String field : fields) {
|
|
if (i == 3) {
|
|
break;
|
|
}
|
|
sj.add(field);
|
|
++i;
|
|
}
|
|
project.getProperties().setProperty("buildVersionOnThreeFields", sj.toString());
|
|
}
|
|
]]>
|
|
</script>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
<resources>
|
|
<resource>
|
|
<!-- Used to resolve variables in files sq-version.txt and sonar-api-version.txt -->
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
</build>
|
|
|
|
</project>
|