aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-ws-generator
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2017-11-23 17:19:32 +0100
committerDaniel Schwarz <bartfastiel@users.noreply.github.com>2017-11-29 20:24:11 +0100
commit435dd4e81a8506bad599a4fdc9ad1d7bcb6e9bb0 (patch)
tree5030bc4e384b319ebc37f3c763ee0aaa03d311ba /sonar-ws-generator
parenta1629c2cc959c72932c0d483457005de8dc55ad0 (diff)
downloadsonarqube-435dd4e81a8506bad599a4fdc9ad1d7bcb6e9bb0.tar.gz
sonarqube-435dd4e81a8506bad599a4fdc9ad1d7bcb6e9bb0.zip
Exclude some WS from code generation
Diffstat (limited to 'sonar-ws-generator')
-rw-r--r--sonar-ws-generator/pom.xml77
-rw-r--r--sonar-ws-generator/src/main/java/org/sonarqube/wsgenerator/CodeFormatter.java13
2 files changed, 44 insertions, 46 deletions
diff --git a/sonar-ws-generator/pom.xml b/sonar-ws-generator/pom.xml
index b52b94a7c95..daa93401833 100644
--- a/sonar-ws-generator/pom.xml
+++ b/sonar-ws-generator/pom.xml
@@ -52,50 +52,37 @@
</dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>target/generated-sources/results</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>assemble-all</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- <configuration>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- <archive>
- <manifest>
- <mainClass>org.sonarqube.wsgenerator.Generator</mainClass>
- </manifest>
- </archive>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
+ <profiles>
+ <profile>
+ <id>run-ws-generator</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>assemble-all</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ <archive>
+ <manifest>
+ <mainClass>org.sonarqube.wsgenerator.Generator</mainClass>
+ </manifest>
+ </archive>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/sonar-ws-generator/src/main/java/org/sonarqube/wsgenerator/CodeFormatter.java b/sonar-ws-generator/src/main/java/org/sonarqube/wsgenerator/CodeFormatter.java
index 8a610263887..1d062a2f9aa 100644
--- a/sonar-ws-generator/src/main/java/org/sonarqube/wsgenerator/CodeFormatter.java
+++ b/sonar-ws-generator/src/main/java/org/sonarqube/wsgenerator/CodeFormatter.java
@@ -30,7 +30,10 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.io.Writer;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.Properties;
+import java.util.Set;
import org.apache.commons.io.FileUtils;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
@@ -39,6 +42,10 @@ import static java.nio.charset.StandardCharsets.UTF_8;
public class CodeFormatter {
+ private static final Set<String> PATH_EXCLUSIONS = new HashSet<>(Arrays.asList(
+ "api/components", "api/issues", "api/measures", "api/organizations", "api/permissions", "api/projects",
+ "api/project_analyses", "api/qualityprofiles", "api/rules", "api/settings", "api/users", "api/user_groups"));
+
public static void format(String json) {
JsonObject jsonElement = new Gson().fromJson(json, JsonObject.class);
JsonArray webServices = (JsonArray) jsonElement.get("webServices");
@@ -47,13 +54,17 @@ public class CodeFormatter {
for (JsonElement webServiceElement : webServices) {
JsonObject webService = (JsonObject) webServiceElement;
+ String webServicePath = webService.get("path").getAsString();
+
+ if (PATH_EXCLUSIONS.contains(webServicePath)) {
+ continue;
+ }
VelocityContext webServiceContext = new VelocityContext();
webServiceContext.put("webService", webServiceElement);
webServiceContext.put("helper", helper);
String webServiceCode = applyTemplate("webService.vm", webServiceContext);
- String webServicePath = webService.get("path").getAsString();
writeSourceFile(helper.file(webServicePath), webServiceCode);
writeSourceFile(helper.packageInfoFile(webServicePath), applyTemplate("package-info.vm", webServiceContext));