Search in sources :

Example 1 with GlobalProperties

use of org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties in project sonarlint-core by SonarSource.

the class SettingsDownloaderTest method testFetchGlobalProperties.

@Test
public void testFetchGlobalProperties() throws Exception {
    SonarLintWsClient wsClient = WsClientTestUtils.createMockWithReaderResponse("/api/properties?format=json", new StringReader("[{\"key\": \"sonar.core.treemap.colormetric\",\"value\": \"violations_density\"}," + "{\"key\": \"sonar.core.treemap.sizemetric\",\"value\": \"ncloc\"}," + "{\"key\": \"views.servers\",\"value\": \"135817900907501\",\"values\": [\"135817900907501\"]}]"));
    new SettingsDownloader(wsClient).fetchGlobalSettingsTo("6.2", destDir);
    GlobalProperties properties = ProtobufUtil.readFile(destDir.resolve(StoragePaths.PROPERTIES_PB), GlobalProperties.parser());
    assertThat(properties.getPropertiesMap()).containsOnly(entry("sonar.core.treemap.colormetric", "violations_density"), entry("sonar.core.treemap.sizemetric", "ncloc"), entry("views.servers", "135817900907501"));
}
Also used : GlobalProperties(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties) StringReader(java.io.StringReader) SonarLintWsClient(org.sonarsource.sonarlint.core.container.connected.SonarLintWsClient) Test(org.junit.Test)

Example 2 with GlobalProperties

use of org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties in project sonarlint-core by SonarSource.

the class SettingsDownloaderTest method testFetchGlobalSettings.

@Test
public void testFetchGlobalSettings() throws Exception {
    SonarLintWsClient wsClient = WsClientTestUtils.createMock();
    ValuesWsResponse response = ValuesWsResponse.newBuilder().addSettings(Setting.newBuilder().setKey("sonar.core.treemap.colormetric").setValue("violations_density").setInherited(true)).addSettings(Setting.newBuilder().setKey("sonar.core.treemap.sizemetric").setValue("ncloc")).addSettings(Setting.newBuilder().setKey("views.servers").setValues(Values.newBuilder().addValues("135817900907501"))).build();
    PipedInputStream in = new PipedInputStream();
    final PipedOutputStream out = new PipedOutputStream(in);
    response.writeTo(out);
    out.close();
    WsClientTestUtils.addResponse(wsClient, "/api/settings/values.protobuf", in);
    new SettingsDownloader(wsClient).fetchGlobalSettingsTo("6.3", destDir);
    GlobalProperties properties = ProtobufUtil.readFile(destDir.resolve(StoragePaths.PROPERTIES_PB), GlobalProperties.parser());
    assertThat(properties.getPropertiesMap()).containsOnly(entry("sonar.core.treemap.sizemetric", "ncloc"), entry("views.servers", "135817900907501"));
}
Also used : ValuesWsResponse(org.sonarqube.ws.Settings.ValuesWsResponse) GlobalProperties(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties) PipedOutputStream(java.io.PipedOutputStream) PipedInputStream(java.io.PipedInputStream) SonarLintWsClient(org.sonarsource.sonarlint.core.container.connected.SonarLintWsClient) Test(org.junit.Test)

Example 3 with GlobalProperties

use of org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties in project sonarlint-core by SonarSource.

the class ModuleStorageUpdateChecker method checkForUpdates.

public StorageUpdateCheckResult checkForUpdates(String moduleKey, ProgressWrapper progress) {
    DefaultStorageUpdateCheckResult result = new DefaultStorageUpdateCheckResult();
    String serverVersion = storageReader.readServerInfos().getVersion();
    GlobalProperties globalProps = settingsDownloader.fetchGlobalSettings(serverVersion);
    ModuleConfiguration serverModuleConfiguration = moduleConfigurationDownloader.fetchModuleConfiguration(serverVersion, moduleKey, globalProps, progress);
    ModuleConfiguration storageModuleConfiguration = storageReader.readModuleConfig(moduleKey);
    checkForSettingsUpdates(result, serverModuleConfiguration, storageModuleConfiguration);
    checkForQualityProfilesUpdates(result, serverModuleConfiguration, storageModuleConfiguration);
    return result;
}
Also used : ModuleConfiguration(org.sonarsource.sonarlint.core.proto.Sonarlint.ModuleConfiguration) GlobalProperties(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties)

Example 4 with GlobalProperties

use of org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties in project sonarlint-core by SonarSource.

the class ModuleStorageUpdateExecutor method update.

public void update(String moduleKey, ProgressWrapper progress) {
    GlobalProperties globalProps = storageReader.readGlobalProperties();
    FileUtils.replaceDir(temp -> {
        updateModuleConfiguration(moduleKey, globalProps, temp, progress);
        updateRemoteIssues(moduleKey, temp);
        updateStatus(temp);
    }, storagePaths.getModuleStorageRoot(moduleKey), tempFolder.newDir().toPath());
}
Also used : GlobalProperties(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties)

Example 5 with GlobalProperties

use of org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties in project sonarlint-core by SonarSource.

the class StorageFileExclusions method getExcludedFiles.

public Set<String> getExcludedFiles(String moduleKey, Collection<String> filePaths, Predicate<String> testFilePredicate) {
    GlobalProperties globalProps = storageReader.readGlobalProperties();
    ModuleConfiguration moduleConfig = storageReader.readModuleConfig(moduleKey);
    MapSettings settings = new MapSettings();
    settings.addProperties(globalProps.getProperties());
    settings.addProperties(moduleConfig.getProperties());
    ExclusionFilters exclusionFilters = new ExclusionFilters(new ConfigurationBridge(settings));
    exclusionFilters.prepare();
    return filePaths.stream().filter(filePath -> !exclusionFilters.accept(filePath, testFilePredicate.test(filePath) ? Type.TEST : Type.MAIN)).collect(Collectors.toSet());
}
Also used : GlobalProperties(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties) Predicate(java.util.function.Predicate) Collection(java.util.Collection) Set(java.util.Set) Type(org.sonar.api.batch.fs.InputFile.Type) ConfigurationBridge(org.sonar.api.config.internal.ConfigurationBridge) ModuleConfiguration(org.sonarsource.sonarlint.core.proto.Sonarlint.ModuleConfiguration) MapSettings(org.sonar.api.config.internal.MapSettings) Collectors(java.util.stream.Collectors) ExclusionFilters(org.sonarsource.sonarlint.core.container.analysis.ExclusionFilters) ModuleConfiguration(org.sonarsource.sonarlint.core.proto.Sonarlint.ModuleConfiguration) GlobalProperties(org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties) MapSettings(org.sonar.api.config.internal.MapSettings) ExclusionFilters(org.sonarsource.sonarlint.core.container.analysis.ExclusionFilters) ConfigurationBridge(org.sonar.api.config.internal.ConfigurationBridge)

Aggregations

GlobalProperties (org.sonarsource.sonarlint.core.proto.Sonarlint.GlobalProperties)6 Test (org.junit.Test)2 SonarLintWsClient (org.sonarsource.sonarlint.core.container.connected.SonarLintWsClient)2 ModuleConfiguration (org.sonarsource.sonarlint.core.proto.Sonarlint.ModuleConfiguration)2 ValueDifference (com.google.common.collect.MapDifference.ValueDifference)1 PipedInputStream (java.io.PipedInputStream)1 PipedOutputStream (java.io.PipedOutputStream)1 StringReader (java.io.StringReader)1 Collection (java.util.Collection)1 Map (java.util.Map)1 Set (java.util.Set)1 Predicate (java.util.function.Predicate)1 Collectors (java.util.stream.Collectors)1 Type (org.sonar.api.batch.fs.InputFile.Type)1 ConfigurationBridge (org.sonar.api.config.internal.ConfigurationBridge)1 MapSettings (org.sonar.api.config.internal.MapSettings)1 ValuesWsResponse (org.sonarqube.ws.Settings.ValuesWsResponse)1 ExclusionFilters (org.sonarsource.sonarlint.core.container.analysis.ExclusionFilters)1