<?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>server</artifactId> <version>6.7.2</version> <relativePath>..</relativePath> </parent> <artifactId>sonar-web</artifactId> <packaging>war</packaging> <name>SonarQube :: Web</name> <properties> <!-- self-analysis --> <sonar.sources>src/main/js,src/main/less</sonar.sources> <sonar.tests>src/main/js</sonar.tests> <sonar.test.inclusions>src/main/js/**/__tests__/**</sonar.test.inclusions> <sonar.exclusions>src/main/js/libs/third-party/**/*,src/main/js/libs/require.js,src/main/js/**/__tests__/**</sonar.exclusions> <yarn.script>build</yarn.script> </properties> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <configuration> <filesets> <fileset> <directory>${basedir}/src/main/webapp/deploy</directory> <includes> <include>**/*</include> </includes> <excludes> <exclude>readme.txt</exclude> </excludes> </fileset> </filesets> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/${project.build.finalName}/</outputDirectory> <resources> <resource> <directory>${basedir}/src/main/webapp</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> <execution> <id>copy-generated-webapp</id> <!-- must be after the execution of grunt --> <phase>process-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory> <overwrite>true</overwrite> <resources> <resource> <directory>src/main/webapp/build</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <executions> <execution> <id>install node and yarn</id> <goals> <goal>install-node-and-yarn</goal> </goals> <configuration> <nodeVersion>v8.5.0</nodeVersion> <yarnVersion>v1.1.0</yarnVersion> </configuration> </execution> <execution> <id>yarn install</id> <goals> <goal>yarn</goal> </goals> </execution> <execution> <phase>generate-resources</phase> <id>yarn run script</id> <goals> <goal>yarn</goal> </goals> <configuration> <arguments>run ${yarn.script}</arguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <packagingExcludes> **/*.log,*.iml,WEB-INF/script/,WEB-INF/test/,javascripts/*-min.js,stylesheets/*-min.css,javascripts/tests/**/*, build/**,less/**,templates/** </packagingExcludes> <warSourceExcludes> js/**,css/** </warSourceExcludes> <archive> <manifestEntries> <Version>${project.version}</Version> <!-- ${buildNumber} is the Git revision. It's generated by the buildnumber-maven-plugin --> <Implementation-Build>${buildNumber}</Implementation-Build> <Build-Time>${timestamp}</Build-Time> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>release</id> <build> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <configuration> <filesets> <fileset> <directory>${basedir}/node</directory> <includes> <include>**/*</include> </includes> </fileset> <fileset> <directory>${basedir}/node_modules</directory> <includes> <include>**/*</include> </includes> </fileset> <fileset> <directory>${basedir}/src/main/webapp/deploy</directory> <includes> <include>**/*</include> </includes> <excludes> <exclude>readme.txt</exclude> </excludes> </fileset> </filesets> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-branding</id> <phase>initialize</phase> <goals> <goal>unpack</goal> </goals> </execution> </executions> <configuration> <artifactItems> <artifactItem> <groupId>com.sonarsource</groupId> <artifactId>sonarsource-branding</artifactId> <type>war</type> <overWrite>true</overWrite> <outputDirectory>${project.basedir}</outputDirectory> <includes>**/*.js,**/*.svg</includes> </artifactItem> </artifactItems> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>empty-javadoc-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>javadoc</classifier> </configuration> </execution> <execution> <id>empty-sources-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>sources</classifier> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.sonarsource</groupId> <artifactId>sonarsource-branding</artifactId> <version>1.3.0.307</version> <type>war</type> <scope>runtime</scope> </dependency> </dependencies> </profile> <profile> <id>dev</id> <properties> <yarn.script>build-fast</yarn.script> </properties> </profile> </profiles> </project>