From 435dd4e81a8506bad599a4fdc9ad1d7bcb6e9bb0 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Thu, 23 Nov 2017 17:19:32 +0100 Subject: [PATCH] Exclude some WS from code generation --- sonar-ws-generator/pom.xml | 77 ++++++++----------- .../sonarqube/wsgenerator/CodeFormatter.java | 13 +++- 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 @@ - - - - org.codehaus.mojo - build-helper-maven-plugin - - - add-source - generate-sources - - add-source - - - - target/generated-sources/results - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - assemble-all - package - - single - - - - jar-with-dependencies - - - - org.sonarqube.wsgenerator.Generator - - - - - - - - + + + run-ws-generator + + + + org.apache.maven.plugins + maven-assembly-plugin + + + assemble-all + package + + single + + + + jar-with-dependencies + + + + org.sonarqube.wsgenerator.Generator + + + + + + + + + + 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 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)); -- 2.39.5