aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web')
-rw-r--r--server/sonar-web/build.gradle44
-rw-r--r--server/sonar-web/pom.xml256
2 files changed, 44 insertions, 256 deletions
diff --git a/server/sonar-web/build.gradle b/server/sonar-web/build.gradle
new file mode 100644
index 00000000000..ee71411cf03
--- /dev/null
+++ b/server/sonar-web/build.gradle
@@ -0,0 +1,44 @@
+sonarqube {
+ properties {
+ property "sonar.projectName", "${projectTitle} :: Web"
+ property "sonar.sources", "src/main/js"
+ property "sonar.tests", "src/main/js"
+ property "sonar.test.inclusions", "src/main/js/**/__tests__/**"
+ property "sonar.exclusions", "src/main/js/libs/third-party/**/*,src/main/js/libs/require.js,src/main/js/**/__tests__/**"
+ }
+}
+
+apply plugin: 'com.moowork.node'
+apply plugin: 'war'
+
+configurations {
+ branding
+}
+dependencies {
+ branding 'com.sonarsource:sonarsource-branding:1.3.0.307@war'
+}
+task unzipBranding(type: Copy) {
+ into projectDir
+ from { zipTree(configurations.branding.singleFile) }
+ include '**/*.js'
+ include '**/*.svg'
+ includeEmptyDirs = false
+}
+
+node {
+ version = '8.5.0'
+ yarnVersion = '1.1.0'
+ download = true
+}
+
+yarn_run {
+ if (release) { dependsOn unzipBranding }
+ inputs.dir('scripts')
+ inputs.dir('src/main/js')
+ inputs.file('build.gradle')
+ outputs.dir('src/main/webapp')
+
+ args = ['build']
+}
+
+war.dependsOn yarn_run
diff --git a/server/sonar-web/pom.xml b/server/sonar-web/pom.xml
deleted file mode 100644
index 7f51af819f5..00000000000
--- a/server/sonar-web/pom.xml
+++ /dev/null
@@ -1,256 +0,0 @@
-<?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>7.1-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>sonar-web</artifactId>
- <packaging>war</packaging>
- <name>SonarQube :: Web</name>
-
- <properties>
- <!-- self-analysis -->
- <sonar.sources>src/main/js</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/**,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>
- <plugin>
- <groupId>com.mycila</groupId>
- <artifactId>license-maven-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>src/main/webapp/**/*</exclude>
- </excludes>
- </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>