aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanos Gyerik <janos.gyerik@sonarsource.com>2017-03-13 17:22:57 +0100
committerGitHub <noreply@github.com>2017-03-13 17:22:57 +0100
commitf1361e89bb0e09cdd0c9186154dbb3b8680f556b (patch)
treea186b236bc417f49b81f7348cfc320b56165bcc4
parentc0f61ea4f455e6d039117eb2934c872863e6446e (diff)
downloadsonar-scanner-cli-f1361e89bb0e09cdd0c9186154dbb3b8680f556b.tar.gz
sonar-scanner-cli-f1361e89bb0e09cdd0c9186154dbb3b8680f556b.zip
SQSCANNER-38 self-contained distributions for Linux, Windows and Mac OS X (#26)
-rw-r--r--it/pom.xml33
-rw-r--r--it/src/test/java/com/sonar/runner/it/DistributionTest.java72
-rw-r--r--it/src/test/java/com/sonar/runner/it/SonarScannerTestSuite.java2
-rw-r--r--pom.xml189
-rwxr-xr-xsrc/main/assembly/bin/sonar-runner10
-rwxr-xr-xsrc/main/assembly/bin/sonar-scanner13
-rw-r--r--src/main/assembly/bin/sonar-scanner.bat9
-rw-r--r--src/main/assembly/dist-linux.xml58
-rw-r--r--src/main/assembly/dist-macosx.xml57
-rw-r--r--src/main/assembly/dist-windows.xml55
-rw-r--r--src/main/assembly/filter-dist.properties1
-rw-r--r--src/main/assembly/filter-noarch.properties1
-rw-r--r--src/main/assembly/noarch.xml (renamed from assembly.xml)0
-rwxr-xr-xtravis.sh2
14 files changed, 490 insertions, 12 deletions
diff --git a/it/pom.xml b/it/pom.xml
index e5e66aa..f84b78c 100644
--- a/it/pom.xml
+++ b/it/pom.xml
@@ -31,7 +31,7 @@
<dependency>
<groupId>org.sonarsource.orchestrator</groupId>
<artifactId>sonar-orchestrator</artifactId>
- <version>3.13</version>
+ <version>3.15.0.974</version>
</dependency>
<dependency>
<groupId>junit</groupId>
@@ -115,6 +115,7 @@
</execution>
</executions>
</plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
@@ -130,6 +131,36 @@
<artifact>org.sonarsource.scanner.cli:sonar-scanner-cli:${scanner.version}:zip</artifact>
</configuration>
</execution>
+ <execution>
+ <id>get-linux-scanner</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>get</goal>
+ </goals>
+ <configuration>
+ <artifact>org.sonarsource.scanner.cli:sonar-scanner-cli:${scanner.version}:zip:linux</artifact>
+ </configuration>
+ </execution>
+ <execution>
+ <id>get-windows-scanner</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>get</goal>
+ </goals>
+ <configuration>
+ <artifact>org.sonarsource.scanner.cli:sonar-scanner-cli:${scanner.version}:zip:windows</artifact>
+ </configuration>
+ </execution>
+ <execution>
+ <id>get-macosx-scanner</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>get</goal>
+ </goals>
+ <configuration>
+ <artifact>org.sonarsource.scanner.cli:sonar-scanner-cli:${scanner.version}:zip:macosx</artifact>
+ </configuration>
+ </execution>
</executions>
</plugin>
</plugins>
diff --git a/it/src/test/java/com/sonar/runner/it/DistributionTest.java b/it/src/test/java/com/sonar/runner/it/DistributionTest.java
new file mode 100644
index 0000000..c38a1fa
--- /dev/null
+++ b/it/src/test/java/com/sonar/runner/it/DistributionTest.java
@@ -0,0 +1,72 @@
+/*
+ * SonarSource :: IT :: SonarQube Scanner
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package com.sonar.runner.it;
+
+import com.sonar.orchestrator.build.BuildFailureException;
+import com.sonar.orchestrator.build.SonarScanner;
+import com.sonar.orchestrator.locator.ResourceLocation;
+import java.io.File;
+import java.io.IOException;
+import java.util.Map;
+import org.junit.After;
+import org.junit.Test;
+import org.sonarqube.ws.WsMeasures.Measure;
+
+import static java.lang.Integer.parseInt;
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class DistributionTest extends ScannerTestCase {
+
+ @After
+ public void cleanup() {
+ orchestrator.resetData();
+ }
+
+ @Test
+ public void should_succeed_with_self_contained_jre_despite_rubbish_java_home() throws IOException, InterruptedException {
+ String projectKey = "java:basedir-with-source";
+ orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
+ orchestrator.getServer().provisionProject(projectKey, "Basedir with source");
+ orchestrator.getServer().associateProjectToQualityProfile(projectKey, "java", "sonar-way");
+
+ File projectDir = new File("projects/basedir-with-source");
+ SonarScanner build = newScanner(projectDir, "sonar.projectKey", projectKey)
+ .setEnvironmentVariable("JAVA_HOME", "nonexistent")
+ .useNative();
+ orchestrator.executeBuild(build, true);
+
+ Map<String, Measure> projectMeasures = getMeasures(projectKey, "files", "ncloc");
+ assertThat(parseInt(projectMeasures.get("files").getValue())).isEqualTo(1);
+ assertThat(parseInt(projectMeasures.get("ncloc").getValue())).isGreaterThan(1);
+ }
+
+ @Test(expected = BuildFailureException.class)
+ public void should_fail_without_self_contained_jre_when_rubbish_java_home() throws IOException, InterruptedException {
+ String projectKey = "java:basedir-with-source";
+ orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml"));
+ orchestrator.getServer().provisionProject(projectKey, "Basedir with source");
+ orchestrator.getServer().associateProjectToQualityProfile(projectKey, "java", "sonar-way");
+
+ File projectDir = new File("projects/basedir-with-source");
+ SonarScanner build = newScanner(projectDir, "sonar.projectKey", projectKey)
+ .setEnvironmentVariable("JAVA_HOME", "nonexistent");
+ orchestrator.executeBuild(build, true);
+ }
+}
diff --git a/it/src/test/java/com/sonar/runner/it/SonarScannerTestSuite.java b/it/src/test/java/com/sonar/runner/it/SonarScannerTestSuite.java
index 890fe17..c43446f 100644
--- a/it/src/test/java/com/sonar/runner/it/SonarScannerTestSuite.java
+++ b/it/src/test/java/com/sonar/runner/it/SonarScannerTestSuite.java
@@ -26,7 +26,7 @@ import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
-@SuiteClasses({JavaTest.class, MultimoduleTest.class})
+@SuiteClasses({JavaTest.class, MultimoduleTest.class, DistributionTest.class})
public class SonarScannerTestSuite {
@ClassRule
diff --git a/pom.xml b/pom.xml
index 4ca465a..31ce39d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,6 +44,14 @@
<!-- used for deployment to SonarSource Artifactory -->
<gitRepositoryName>sonar-scanner-cli</gitRepositoryName>
+
+ <!-- configuration for assembly of distributions -->
+ <unpack.dir>${project.build.directory}/unpack</unpack.dir>
+ <scanner.jar>${project.build.finalName}.jar</scanner.jar>
+ <jre.version>8u121</jre.version>
+ <jre.dirname.linux>jre1.8.0_121</jre.dirname.linux>
+ <jre.dirname.windows>jre1.8.0_121</jre.dirname.windows>
+ <jre.dirname.macosx>jre1.8.0_121.jre/Contents/Home</jre.dirname.macosx>
</properties>
<dependencies>
@@ -129,6 +137,7 @@
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
+ <id>cli</id>
<phase>package</phase>
<goals>
<goal>single</goal>
@@ -138,8 +147,11 @@
<appendAssemblyId>false</appendAssemblyId>
<escapeString>\</escapeString>
<descriptors>
- <descriptor>${project.basedir}/assembly.xml</descriptor>
+ <descriptor>src/main/assembly/noarch.xml</descriptor>
</descriptors>
+ <filters>
+ <filter>src/main/assembly/filter-noarch.properties</filter>
+ </filters>
</configuration>
</execution>
</executions>
@@ -179,5 +191,180 @@
<module>it</module>
</modules>
</profile>
+
+ <profile>
+ <id>dist-linux</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.0.0</version>
+ <executions>
+ <execution>
+ <id>unpack-linux</id>
+ <phase>package</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>com.oracle</groupId>
+ <artifactId>jre</artifactId>
+ <version>${jre.version}</version>
+ <classifier>linux-x64</classifier>
+ <type>tar.gz</type>
+ <overWrite>true</overWrite>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${unpack.dir}/linux</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>assemble-linux</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <finalName>sonar-scanner-${project.version}</finalName>
+ <escapeString>\</escapeString>
+ <descriptors>
+ <descriptor>src/main/assembly/dist-linux.xml</descriptor>
+ </descriptors>
+ <filters>
+ <filter>src/main/assembly/filter-dist.properties</filter>
+ </filters>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>dist-windows</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.0.0</version>
+ <executions>
+ <execution>
+ <id>unpack-windows</id>
+ <phase>package</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>com.oracle</groupId>
+ <artifactId>jre</artifactId>
+ <version>${jre.version}</version>
+ <classifier>windows-x64</classifier>
+ <type>tar.gz</type>
+ <overWrite>true</overWrite>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${unpack.dir}/windows</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>assemble-windows</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <finalName>sonar-scanner-${project.version}</finalName>
+ <escapeString>\</escapeString>
+ <descriptors>
+ <descriptor>src/main/assembly/dist-windows.xml</descriptor>
+ </descriptors>
+ <filters>
+ <filter>src/main/assembly/filter-dist.properties</filter>
+ </filters>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>dist-macosx</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>3.0.0</version>
+ <executions>
+ <execution>
+ <id>unpack-macosx</id>
+ <phase>package</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>com.oracle</groupId>
+ <artifactId>jre</artifactId>
+ <version>${jre.version}</version>
+ <classifier>macosx-x64</classifier>
+ <type>tar.gz</type>
+ <overWrite>true</overWrite>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${unpack.dir}/macosx</outputDirectory>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>assemble-macosx</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <finalName>sonar-scanner-${project.version}</finalName>
+ <escapeString>\</escapeString>
+ <descriptors>
+ <descriptor>src/main/assembly/dist-macosx.xml</descriptor>
+ </descriptors>
+ <filters>
+ <filter>src/main/assembly/filter-dist.properties</filter>
+ </filters>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
+
</project>
diff --git a/src/main/assembly/bin/sonar-runner b/src/main/assembly/bin/sonar-runner
index 14e3a58..a116ea4 100755
--- a/src/main/assembly/bin/sonar-runner
+++ b/src/main/assembly/bin/sonar-runner
@@ -36,9 +36,12 @@ sonar_runner_home=$(dirname "$script_path")/..
# make it fully qualified
sonar_runner_home=$(cd "$sonar_runner_home" && pwd)
-# check that the sonar_runner_home has been correctly set
-if [ ! -f "$sonar_runner_home/lib/sonar-scanner-cli-${project.version}.jar" ] ; then
- echo '$sonar_runner_home' does not point to a valid installation directory: $sonar_runner_home
+jar_file=$sonar_runner_home/lib/sonar-scanner-cli-${project.version}.jar
+
+# check that sonar_runner_home has been correctly set
+if [ ! -f "$jar_file" ] ; then
+ echo "File does not exist: $jar_file"
+ echo "'$sonar_runner_home' does not point to a valid installation directory: $sonar_runner_home"
exit 1
fi
@@ -57,7 +60,6 @@ then
fi
fi
-jar_file=${sonar_runner_home}/lib/sonar-scanner-cli-${project.version}.jar
project_home=$(pwd)
#echo "Info: Using sonar-runner at $sonar_runner_home"
diff --git a/src/main/assembly/bin/sonar-scanner b/src/main/assembly/bin/sonar-scanner
index 38f0095..b0c19f3 100755
--- a/src/main/assembly/bin/sonar-scanner
+++ b/src/main/assembly/bin/sonar-scanner
@@ -35,12 +35,20 @@ sonar_scanner_home=$(dirname "$script_path")/..
# make it fully qualified
sonar_scanner_home=$(cd "$sonar_scanner_home" && pwd -P)
+jar_file=$sonar_scanner_home/lib/sonar-scanner-cli-${project.version}.jar
+
# check that sonar_scanner_home has been correctly set
-if [ ! -f "$sonar_scanner_home/lib/sonar-scanner-cli-${project.version}.jar" ] ; then
- echo '$sonar_scanner_home' does not point to a valid installation directory: $sonar_scanner_home
+if [ ! -f "$jar_file" ] ; then
+ echo "File does not exist: $jar_file"
+ echo "'$sonar_scanner_home' does not point to a valid installation directory: $sonar_scanner_home"
exit 1
fi
+use_embedded_jre=${use_embedded_jre}
+if [ "$use_embedded_jre" = true ]; then
+ export JAVA_HOME=$sonar_scanner_home/lib/jre
+fi
+
if [ -n "$JAVA_HOME" ]
then
java_cmd="$JAVA_HOME/bin/java"
@@ -48,7 +56,6 @@ else
java_cmd="$(which java)"
fi
-jar_file=${sonar_scanner_home}/lib/sonar-scanner-cli-${project.version}.jar
project_home=$(pwd)
#echo "Info: Using sonar-scanner at $sonar_scanner_home"
diff --git a/src/main/assembly/bin/sonar-scanner.bat b/src/main/assembly/bin/sonar-scanner.bat
index bd4c920..833dcbb 100644
--- a/src/main/assembly/bin/sonar-scanner.bat
+++ b/src/main/assembly/bin/sonar-scanner.bat
@@ -13,8 +13,16 @@ set ERROR_CODE=0
@REM set local scope for the variables with windows NT shell
@setlocal
+set SONAR_SCANNER_HOME=%~dp0..
+
@REM ==== START VALIDATION ====
@REM *** JAVA EXEC VALIDATION ***
+
+set use_embedded_jre=${use_embedded_jre}
+if "%use_embedded_jre%" == "true" (
+ set JAVA_HOME=%SONAR_SCANNER_HOME%\lib\jre
+)
+
if not "%JAVA_HOME%" == "" goto foundJavaHome
for %%i in (java.exe) do set JAVA_EXEC=%%~$PATH:i
@@ -47,7 +55,6 @@ goto error
set JAVA_EXEC="%JAVA_HOME%\bin\java.exe"
:OkJava
-set SONAR_SCANNER_HOME=%~dp0..
goto run
diff --git a/src/main/assembly/dist-linux.xml b/src/main/assembly/dist-linux.xml
new file mode 100644
index 0000000..d4d1923
--- /dev/null
+++ b/src/main/assembly/dist-linux.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+ <id>linux</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <fileSets>
+
+ <!-- jre basic, except bin/ -->
+ <fileSet>
+ <directory>${unpack.dir}/linux/${jre.dirname.linux}</directory>
+ <outputDirectory>lib/jre</outputDirectory>
+ <excludes>
+ <exclude>bin/**</exclude>
+ <exclude>man/**</exclude>
+ <exclude>plugin/**</exclude>
+ </excludes>
+ </fileSet>
+
+ <!-- jre bin/java -->
+ <fileSet>
+ <directory>${unpack.dir}/linux/${jre.dirname.linux}/bin</directory>
+ <outputDirectory>lib/jre/bin</outputDirectory>
+ <includes>
+ <include>java</include>
+ </includes>
+ <fileMode>0755</fileMode>
+ </fileSet>
+
+ <!-- scanner files -->
+ <fileSet>
+ <directory>${project.build.directory}</directory>
+ <outputDirectory>lib</outputDirectory>
+ <fileMode>0644</fileMode>
+ <includes>
+ <include>${scanner.jar}</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/assembly/conf</directory>
+ <outputDirectory>conf</outputDirectory>
+ <fileMode>0644</fileMode>
+ <lineEnding>unix</lineEnding>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/assembly/bin</directory>
+ <outputDirectory>bin</outputDirectory>
+ <fileMode>0755</fileMode>
+ <lineEnding>unix</lineEnding>
+ <filtered>true</filtered>
+ <includes>
+ <include>sonar-scanner</include>
+ <include>sonar-scanner-debug</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/src/main/assembly/dist-macosx.xml b/src/main/assembly/dist-macosx.xml
new file mode 100644
index 0000000..65ad78e
--- /dev/null
+++ b/src/main/assembly/dist-macosx.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+ <id>macosx</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <fileSets>
+
+ <!-- jre basic, except bin/ -->
+ <fileSet>
+ <directory>${unpack.dir}/macosx/${jre.dirname.macosx}</directory>
+ <outputDirectory>lib/jre</outputDirectory>
+ <excludes>
+ <exclude>bin/**</exclude>
+ <exclude>man/**</exclude>
+ </excludes>
+ </fileSet>
+
+ <!-- jre bin/java -->
+ <fileSet>
+ <directory>${unpack.dir}/macosx/${jre.dirname.macosx}/bin</directory>
+ <outputDirectory>lib/jre/bin</outputDirectory>
+ <includes>
+ <include>java</include>
+ </includes>
+ <fileMode>0755</fileMode>
+ </fileSet>
+
+ <!-- scanner files -->
+ <fileSet>
+ <directory>${project.build.directory}</directory>
+ <outputDirectory>lib</outputDirectory>
+ <fileMode>0644</fileMode>
+ <includes>
+ <include>${scanner.jar}</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/assembly/conf</directory>
+ <outputDirectory>conf</outputDirectory>
+ <fileMode>0644</fileMode>
+ <lineEnding>unix</lineEnding>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/assembly/bin</directory>
+ <outputDirectory>bin</outputDirectory>
+ <fileMode>0755</fileMode>
+ <lineEnding>unix</lineEnding>
+ <filtered>true</filtered>
+ <includes>
+ <include>sonar-scanner</include>
+ <include>sonar-scanner-debug</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/src/main/assembly/dist-windows.xml b/src/main/assembly/dist-windows.xml
new file mode 100644
index 0000000..132859b
--- /dev/null
+++ b/src/main/assembly/dist-windows.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+ <id>windows</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+ <fileSets>
+
+ <!-- jre basic, except bin/ -->
+ <fileSet>
+ <directory>${unpack.dir}/windows/${jre.dirname.windows}</directory>
+ <outputDirectory>lib/jre</outputDirectory>
+ <excludes>
+ <exclude>bin/**</exclude>
+ <exclude>man/**</exclude>
+ <exclude>plugin/**</exclude>
+ </excludes>
+ </fileSet>
+
+ <!-- jre bin -->
+ <fileSet>
+ <directory>${unpack.dir}/windows/${jre.dirname.windows}/bin</directory>
+ <outputDirectory>lib/jre/bin</outputDirectory>
+ <fileMode>0755</fileMode>
+ </fileSet>
+
+ <!-- scanner files -->
+ <fileSet>
+ <directory>${project.build.directory}</directory>
+ <outputDirectory>lib</outputDirectory>
+ <fileMode>0644</fileMode>
+ <includes>
+ <include>${scanner.jar}</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/assembly/conf</directory>
+ <outputDirectory>conf</outputDirectory>
+ <fileMode>0644</fileMode>
+ <lineEnding>unix</lineEnding>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/assembly/bin</directory>
+ <outputDirectory>bin</outputDirectory>
+ <fileMode>0755</fileMode>
+ <lineEnding>dos</lineEnding>
+ <filtered>true</filtered>
+ <includes>
+ <include>sonar-scanner.bat</include>
+ <include>sonar-scanner-debug.bat</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/src/main/assembly/filter-dist.properties b/src/main/assembly/filter-dist.properties
new file mode 100644
index 0000000..b7bbc34
--- /dev/null
+++ b/src/main/assembly/filter-dist.properties
@@ -0,0 +1 @@
+use_embedded_jre=true
diff --git a/src/main/assembly/filter-noarch.properties b/src/main/assembly/filter-noarch.properties
new file mode 100644
index 0000000..b1c9e92
--- /dev/null
+++ b/src/main/assembly/filter-noarch.properties
@@ -0,0 +1 @@
+use_embedded_jre=false
diff --git a/assembly.xml b/src/main/assembly/noarch.xml
index cce6955..cce6955 100644
--- a/assembly.xml
+++ b/src/main/assembly/noarch.xml
diff --git a/travis.sh b/travis.sh
index 1920484..81cd758 100755
--- a/travis.sh
+++ b/travis.sh
@@ -11,5 +11,5 @@ configureTravis
export DEPLOY_PULL_REQUEST=true
-regular_mvn_build_deploy_analyze
+regular_mvn_build_deploy_analyze -Pdist-linux,dist-windows,dist-macosx