diff options
Diffstat (limited to 'server/sonar-web')
-rw-r--r-- | server/sonar-web/build.gradle | 44 | ||||
-rw-r--r-- | server/sonar-web/pom.xml | 256 |
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> |