123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- <?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.5</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>
|