diff options
| author | Elena Vilchik | 2020-01-03 09:18:10 +0100 |
|---|---|---|
| committer | Christophe Zürn | 2020-01-03 09:18:10 +0100 |
| commit | 6258d923a5f42e00ddaf0ed45271933b2294b2fc (patch) | |
| tree | 6a1c07fc2940ed611072e36f500d01cb35a2b2d3 /sonar-css-plugin/src | |
| parent | 7bb9065e87f97dc41d6d22e8d3cb7741f6d08998 (diff) | |
| download | sonar-css-6258d923a5f42e00ddaf0ed45271933b2294b2fc.tar.bz2 | |
Rely on run-node on Mac (#236)
Diffstat (limited to 'sonar-css-plugin/src')
6 files changed, 31 insertions, 2 deletions
diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java index 702e880..a7bc764 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java @@ -108,7 +108,7 @@ public class CssAnalyzerBridgeServer { PROFILER.stopDebug(); } - private void initNodeCommand(SensorContext context, File scriptFile) { + private void initNodeCommand(SensorContext context, File scriptFile) throws IOException { nodeCommandBuilder .outputConsumer(message -> { if (message.startsWith("DEBUG")) { @@ -122,6 +122,7 @@ public class CssAnalyzerBridgeServer { .minNodeVersion(8) .configuration(context.config()) .script(scriptFile.getAbsolutePath()) + .pathResolver(bundle) .scriptArgs(String.valueOf(port)); context.config() diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/Bundle.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/Bundle.java index 2639500..0ffd46d 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/Bundle.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/Bundle.java @@ -20,8 +20,9 @@ package org.sonar.css.plugin.server.bundle; import java.nio.file.Path; +import org.sonarsource.nodejs.BundlePathResolver; -public interface Bundle { +public interface Bundle extends BundlePathResolver { void deploy(Path deployLocation); diff --git a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundle.java b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundle.java index eb59f05..7439ac1 100644 --- a/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundle.java +++ b/sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundle.java @@ -45,6 +45,7 @@ public class CssAnalyzerBundle implements Bundle { final String bundleLocation; private String startServerScript = DEFAULT_STARTUP_SCRIPT.toString(); + private Path deployLocation; public CssAnalyzerBundle() { this(DEFAULT_BUNDLE_LOCATION); @@ -57,6 +58,7 @@ public class CssAnalyzerBundle implements Bundle { @Override public void deploy(Path deployLocation) { + this.deployLocation = deployLocation; PROFILER.startDebug("Deploying bundle"); LOG.debug("Deploying css-bundle into {}", deployLocation); InputStream bundle = getClass().getResourceAsStream(bundleLocation); @@ -78,4 +80,8 @@ public class CssAnalyzerBundle implements Bundle { return startServerScript; } + @Override + public String resolve(String relativePath) { + return deployLocation.resolve("css-bundle").resolve(relativePath).toString(); + } } diff --git a/sonar-css-plugin/src/sonarcss-assembly.xml b/sonar-css-plugin/src/sonarcss-assembly.xml index 3bd1f9a..e056267 100644 --- a/sonar-css-plugin/src/sonarcss-assembly.xml +++ b/sonar-css-plugin/src/sonarcss-assembly.xml @@ -11,6 +11,8 @@ <directory>css-bundle</directory> <includes> <include>lib/**/*</include> + <!-- contains 'run-node', default NodeJS on MacOS --> + <include>package/**/*</include> <include>bin/**/*</include> <include>node_modules/**/*</include> </includes> diff --git a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServerTest.java b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServerTest.java index 29b6bd6..d0a2c2f 100644 --- a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServerTest.java +++ b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServerTest.java @@ -19,6 +19,7 @@ */ package org.sonar.css.plugin.server; +import java.io.File; import java.nio.file.Path; import org.junit.After; import org.junit.Before; @@ -254,5 +255,11 @@ public class CssAnalyzerBridgeServerTest { public String startServerScript() { return "src/test/resources/mock-start-server/" + startServerScript; } + + @Override + public String resolve(String relativePath) { + File file = new File("src/test/resources"); + return new File(file.getAbsoluteFile(), relativePath).getAbsolutePath(); + } } } diff --git a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundleTest.java b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundleTest.java index 96805d1..700b656 100644 --- a/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundleTest.java +++ b/sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundleTest.java @@ -82,4 +82,16 @@ public class CssAnalyzerBundleTest { bundle.deploy(deployLocation); }).doesNotThrowAnyException(); } + + @Test + public void test_resolve() { + Bundle bundle = new CssAnalyzerBundle("/bundle/test-css-bundle.zip"); + Path deployLocation = tempFolder.newDir().toPath(); + bundle.deploy(deployLocation); + assertThat(bundle.resolve("relative/path")) + .contains("css-bundle") + .endsWith("path") + .startsWith(deployLocation.toString()); + + } } |
