aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-css-plugin/src
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-css-plugin/src')
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServer.java3
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/Bundle.java3
-rw-r--r--sonar-css-plugin/src/main/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundle.java6
-rw-r--r--sonar-css-plugin/src/sonarcss-assembly.xml2
-rw-r--r--sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/CssAnalyzerBridgeServerTest.java7
-rw-r--r--sonar-css-plugin/src/test/java/org/sonar/css/plugin/server/bundle/CssAnalyzerBundleTest.java12
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());
+
+ }
}