@Test public void testGetters() throws IOException { ProjectDefinition def = ProjectDefinition.create(); def.setKey("projectKey"); def.setName("projectName"); File baseDir = temp.newFolder(); def.setBaseDir(baseDir); def.setVersion("version"); def.setDescription("desc"); File workDir = temp.newFolder(); def.setWorkDir(workDir); def.setSources("file1"); def.setTests("test1"); AbstractProjectOrModule project = new DefaultInputProject(def); assertThat(project.key()).isEqualTo("projectKey"); assertThat(project.getName()).isEqualTo("projectName"); assertThat(project.getOriginalName()).isEqualTo("projectName"); assertThat(project.definition()).isEqualTo(def); assertThat(project.getBranch()).isNull(); assertThat(project.getBaseDir()).isEqualTo(baseDir.toPath()); assertThat(project.getKeyWithBranch()).isEqualTo("projectKey"); assertThat(project.getVersion()).isEqualTo("version"); assertThat(project.getOriginalVersion()).isEqualTo("version"); assertThat(project.getDescription()).isEqualTo("desc"); assertThat(project.getWorkDir()).isEqualTo(workDir.toPath()); assertThat(project.getEncoding()).isEqualTo(Charset.defaultCharset()); assertThat(project.properties()).hasSize(6); assertThat(project.isFile()).isFalse(); }
public AbstractProjectOrModule(ProjectDefinition definition, int scannerComponentId) { super(scannerComponentId); this.baseDir = initBaseDir(definition); this.workDir = initWorkingDir(definition); this.name = definition.getName(); this.originalName = definition.getOriginalName(); this.version = definition.getVersion(); this.originalVersion = definition.getOriginalVersion(); this.description = definition.getDescription(); this.keyWithBranch = definition.getKeyWithBranch(); this.branch = definition.getBranch(); this.properties = Collections.unmodifiableMap(new HashMap<>(definition.properties())); this.definition = definition; this.key = definition.getKey(); this.encoding = initEncoding(definition); }
public static DefaultInputDir newDefaultInputDir(AbstractProjectOrModule module, String relativePath) throws IOException { Path basedir = module.getBaseDir().resolve(relativePath); Files.createDirectory(basedir); return new DefaultInputDir(module.key(), relativePath) .setModuleBaseDir(module.getBaseDir()); }
.setAnalysisDate(projectAnalysisInfo.analysisDate().getTime()) .setProjectKey(rootProject.key()) .setCrossProjectDuplicationActivated(cpdSettings.isCrossProjectDuplicationEnabled()) .setRootComponentRef(rootProject.scannerId()); Optional.ofNullable(rootProject.getBranch()).ifPresent(builder::setDeprecatedBranch);
public static DefaultInputModule newDefaultInputModule(AbstractProjectOrModule parent, String key) throws IOException { Path basedir = parent.getBaseDir().resolve(key); Files.createDirectory(basedir); return newDefaultInputModule(key, basedir.toFile()); }
private void store(ServerIssue issue) { String moduleKeyWithBranch = issue.getModuleKey(); AbstractProjectOrModule moduleOrProject = componentStore.getModule(moduleKeyWithBranch); if (moduleOrProject != null) { String componentKeyWithoutBranch = ComponentKeys.createEffectiveKey(moduleOrProject.key(), issue.hasPath() ? issue.getPath() : null); DefaultInputComponent r = (DefaultInputComponent) componentStore.getByKey(componentKeyWithoutBranch); if (r != null) { issuesCache.put(r.scannerId(), issue.getKey(), issue); return; } } // Deleted resource issuesCache.put(0, issue.getKey(), issue); }
@CheckForNull private static String getName(AbstractProjectOrModule module) { if (StringUtils.isNotEmpty(module.definition().getBranch())) { return module.definition().getName() + " " + module.definition().getBranch(); } else { return module.definition().getOriginalName(); } }
public ProjectLock(AbstractProjectOrModule project) { Path directory = project.getWorkDir(); try { if (!directory.toFile().exists()) { Files.createDirectories(directory); } } catch (IOException e) { throw new IllegalStateException("Failed to create work directory", e); } this.lock = new DirectoryLock(directory.toAbsolutePath()); }
public void load() { Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG); this.issuesCache = caches.createCache("previousIssues"); caches.registerValueCoder(ServerIssue.class, new ServerIssueValueCoder()); previousIssuesLoader.load(project.getKeyWithBranch(), this::store); profiler.stopInfo(); }
/** * Only keep props that are not in parent */ private Map<String, String> collectModuleSpecificProps(DefaultInputModule module) { Map<String, String> moduleSpecificProps = new HashMap<>(); AbstractProjectOrModule parent = hierarchy.parent(module); if (parent == null) { moduleSpecificProps.putAll(module.properties()); } else { Map<String, String> parentProps = parent.properties(); for (Map.Entry<String, String> entry : module.properties().entrySet()) { if (!parentProps.containsKey(entry.getKey()) || !parentProps.get(entry.getKey()).equals(entry.getValue())) { moduleSpecificProps.put(entry.getKey(), entry.getValue()); } } } return moduleSpecificProps; }
public static DefaultInputFile newDefaultInputFile(Path projectBaseDir, AbstractProjectOrModule module, String relativePath) { return new TestInputFileBuilder(module.key(), relativePath) .setStatus(InputFile.Status.SAME) .setProjectBaseDir(projectBaseDir) .setModuleBaseDir(module.getBaseDir()) .build(); } }
.setAnalysisDate(projectAnalysisInfo.analysisDate().getTime()) .setProjectKey(rootProject.key()) .setCrossProjectDuplicationActivated(cpdSettings.isCrossProjectDuplicationEnabled()) .setRootComponentRef(rootProject.scannerId()); Optional.ofNullable(rootProject.getBranch()).ifPresent(builder::setDeprecatedBranch);
@Override @CheckForNull public String relativePath(DefaultInputModule module) { AbstractProjectOrModule parent = parent(module); if (parent == null) { return ""; } Path parentBaseDir = parent.getBaseDir(); Path moduleBaseDir = module.getBaseDir(); return PathResolver.relativize(parentBaseDir, moduleBaseDir).orElse(null); }
private void store(ServerIssue issue) { String moduleKeyWithBranch = issue.getModuleKey(); AbstractProjectOrModule moduleOrProject = componentStore.getModule(moduleKeyWithBranch); if (moduleOrProject != null) { String componentKeyWithoutBranch = ComponentKeys.createEffectiveKey(moduleOrProject.key(), issue.hasPath() ? issue.getPath() : null); DefaultInputComponent r = (DefaultInputComponent) componentStore.getByKey(componentKeyWithoutBranch); if (r != null) { issuesCache.put(r.scannerId(), issue.getKey(), issue); return; } } // Deleted resource issuesCache.put(0, issue.getKey(), issue); }
@CheckForNull private static String getDescription(AbstractProjectOrModule module) { return module.definition().getDescription(); }
public ProjectLock(AbstractProjectOrModule project) { Path directory = project.getWorkDir(); try { if (!directory.toFile().exists()) { Files.createDirectories(directory); } } catch (IOException e) { throw new IllegalStateException("Failed to create work directory", e); } this.lock = new DirectoryLock(directory.toAbsolutePath()); }
public void load() { Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG); this.issuesCache = caches.createCache("previousIssues"); caches.registerValueCoder(ServerIssue.class, new ServerIssueValueCoder()); previousIssuesLoader.load(project.getKeyWithBranch(), this::store); profiler.stopInfo(); }
/** * Only keep props that are not in parent */ private Map<String, String> collectModuleSpecificProps(DefaultInputModule module) { Map<String, String> moduleSpecificProps = new HashMap<>(); AbstractProjectOrModule parent = hierarchy.parent(module); if (parent == null) { moduleSpecificProps.putAll(module.properties()); } else { Map<String, String> parentProps = parent.properties(); for (Map.Entry<String, String> entry : module.properties().entrySet()) { if (!parentProps.containsKey(entry.getKey()) || !parentProps.get(entry.getKey()).equals(entry.getValue())) { moduleSpecificProps.put(entry.getKey(), entry.getValue()); } } } return moduleSpecificProps; }
@Test public void testCreateInputModule() throws IOException { File baseDir = temp.newFolder(); AbstractProjectOrModule module = TestInputFileBuilder.newDefaultInputModule("key", baseDir); assertThat(module.key()).isEqualTo("key"); assertThat(module.getBaseDir()).isEqualTo(baseDir.toPath()); } }
public static DefaultInputModule newDefaultInputModule(AbstractProjectOrModule parent, String key) throws IOException { Path basedir = parent.getBaseDir().resolve(key); Files.createDirectory(basedir); return newDefaultInputModule(key, basedir.toFile()); }