@@ -19,8 +19,6 @@ | |||
*/ | |||
package com.sonar.runner.it; | |||
import org.sonar.wsclient.issue.Issue; | |||
import org.sonar.wsclient.issue.IssueQuery; | |||
import org.junit.BeforeClass; | |||
import org.junit.rules.TemporaryFolder; | |||
import org.junit.Rule; | |||
@@ -32,7 +30,6 @@ import org.junit.Test; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.util.List; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
@@ -45,7 +42,6 @@ public class CacheTest extends RunnerTestCase { | |||
@BeforeClass | |||
public static void setUpClass() { | |||
System.out.println("SETTING UP"); | |||
orchestrator.getServer().restoreProfile(ResourceLocation.create("/sonar-way-profile.xml")); | |||
orchestrator.getServer().provisionProject("java:sample", "Java Sample, with comma"); | |||
orchestrator.getServer().associateProjectToQualityProfile("java:sample", "java", "sonar-way"); | |||
@@ -96,8 +92,7 @@ public class CacheTest extends RunnerTestCase { | |||
SonarRunner build = createRunner("publish"); | |||
BuildResult result = orchestrator.executeBuild(build, false); | |||
assertThat(result.isSuccess()).isTrue(); | |||
getIssues(); | |||
// offline (cache not used) -> should fail | |||
ensureStopped(); | |||
build = createRunner("publish", false); | |||
@@ -109,13 +104,6 @@ public class CacheTest extends RunnerTestCase { | |||
} | |||
private void getIssues() { | |||
List<Issue> issues = orchestrator.getServer().wsClient().issueClient() | |||
.find(IssueQuery.create()).list(); | |||
System.out.println(issues.size()); | |||
} | |||
private SonarRunner createRunner(String mode) throws IOException { | |||
return createRunner(mode, false); | |||
} |
@@ -20,7 +20,11 @@ | |||
package org.sonar.runner.api; | |||
import java.io.File; | |||
import java.nio.file.Files; | |||
import java.nio.file.Path; | |||
import java.nio.file.Paths; | |||
import java.util.Properties; | |||
import org.sonar.home.cache.Logger; | |||
class Dirs { | |||
@@ -41,27 +45,25 @@ class Dirs { | |||
} | |||
private void initProjectDirs(Properties p) { | |||
String path = p.getProperty(ScanProperties.PROJECT_BASEDIR, "."); | |||
File projectDir = new File(path); | |||
if (!projectDir.isDirectory()) { | |||
throw new IllegalStateException("Project home must be an existing directory: " + path); | |||
String pathString = p.getProperty(ScanProperties.PROJECT_BASEDIR, ""); | |||
Path absoluteProjectPath = Paths.get(pathString).toAbsolutePath().normalize(); | |||
if (!Files.isDirectory(absoluteProjectPath)) { | |||
throw new IllegalStateException("Project home must be an existing directory: " + pathString); | |||
} | |||
p.setProperty(ScanProperties.PROJECT_BASEDIR, projectDir.getAbsolutePath()); | |||
File workDir; | |||
path = p.getProperty(RunnerProperties.WORK_DIR, ""); | |||
if ("".equals(path.trim())) { | |||
workDir = new File(projectDir, ".sonar"); | |||
p.setProperty(ScanProperties.PROJECT_BASEDIR, absoluteProjectPath.toString()); | |||
Path workDirPath; | |||
pathString = p.getProperty(RunnerProperties.WORK_DIR, ""); | |||
if ("".equals(pathString.trim())) { | |||
workDirPath = absoluteProjectPath.resolve(".sonar"); | |||
} else { | |||
workDir = new File(path); | |||
if (!workDir.isAbsolute()) { | |||
workDir = new File(projectDir, path); | |||
workDirPath = Paths.get(pathString); | |||
if (!workDirPath.isAbsolute()) { | |||
workDirPath = absoluteProjectPath.resolve(pathString); | |||
} | |||
} | |||
Utils.deleteQuietly(workDir); | |||
p.setProperty(RunnerProperties.WORK_DIR, workDir.getAbsolutePath()); | |||
logger.info("Work directory: " + workDir.getAbsolutePath()); | |||
p.setProperty(RunnerProperties.WORK_DIR, workDirPath.normalize().toString()); | |||
logger.info("Work directory: " + workDirPath.normalize().toString()); | |||
} | |||
/** |
@@ -76,7 +76,7 @@ public class DirsTest { | |||
@Test | |||
public void should_set_relative_path_to_project_work_dir() throws Exception { | |||
File initialProjectDir = temp.newFolder(); | |||
File initialProjectDir = temp.getRoot(); | |||
p.setProperty("sonar.task", "scan"); | |||
p.setProperty(RunnerProperties.WORK_DIR, "relative/path"); | |||
p.setProperty(ScanProperties.PROJECT_BASEDIR, initialProjectDir.getAbsolutePath()); |