Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,10 @@ dependencies {
intellijIdeaCommunity("2024.1.7")

bundledPlugin("com.intellij.java")
bundledPlugin("org.jetbrains.idea.maven")

testFramework(TestFrameworkType.Platform)
testFramework(TestFrameworkType.Plugin.Maven)
}

implementation("commons-io:commons-io:2.20.0")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ public class PluginConfiguration {
private final List<String> thirdPartyClasspath;
private final SortedSet<String> activeLocationIds;
private final boolean scanBeforeCheckin;
private final boolean importSettingsFromMaven;

PluginConfiguration(@NotNull final String checkstyleVersion,
@NotNull final ScanScope scanScope,
Expand All @@ -33,7 +34,8 @@ public class PluginConfiguration {
@NotNull final SortedSet<ConfigurationLocation> locations,
@NotNull final List<String> thirdPartyClasspath,
@NotNull final SortedSet<String> activeLocationIds,
final boolean scanBeforeCheckin) {
final boolean scanBeforeCheckin,
final boolean importSettingsFromMaven) {
this.checkstyleVersion = checkstyleVersion;
this.scanScope = scanScope;
this.suppressErrors = suppressErrors;
Expand All @@ -45,6 +47,7 @@ public class PluginConfiguration {
.filter(Objects::nonNull)
.collect(Collectors.toCollection(TreeSet::new));
this.scanBeforeCheckin = scanBeforeCheckin;
this.importSettingsFromMaven = importSettingsFromMaven;
}

@NotNull
Expand Down Expand Up @@ -103,6 +106,10 @@ public boolean isScanBeforeCheckin() {
return scanBeforeCheckin;
}

public boolean isImportSettingsFromMaven() {
return importSettingsFromMaven;
}

public boolean hasChangedFrom(final Object other) {
return this.equals(other) && locationsAreEqual((PluginConfiguration) other);
}
Expand Down Expand Up @@ -137,13 +144,14 @@ public boolean equals(final Object other) {
&& Objects.equals(locations, otherDto.locations)
&& Objects.equals(thirdPartyClasspath, otherDto.thirdPartyClasspath)
&& Objects.equals(activeLocationIds, otherDto.activeLocationIds)
&& Objects.equals(scanBeforeCheckin, otherDto.scanBeforeCheckin);
&& Objects.equals(scanBeforeCheckin, otherDto.scanBeforeCheckin)
&& Objects.equals(importSettingsFromMaven, otherDto.importSettingsFromMaven);
}

@Override
public int hashCode() {
return Objects.hash(checkstyleVersion, scanScope, suppressErrors, copyLibs, scrollToSource,
locations, thirdPartyClasspath, activeLocationIds, scanBeforeCheckin);
locations, thirdPartyClasspath, activeLocationIds, scanBeforeCheckin, importSettingsFromMaven);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public final class PluginConfigurationBuilder {
private List<String> thirdPartyClasspath;
private SortedSet<String> activeLocationIds;
private boolean scanBeforeCheckin;
private boolean importSettingsFromMaven;

private PluginConfigurationBuilder(@NotNull final String checkstyleVersion,
@NotNull final ScanScope scanScope,
Expand All @@ -30,7 +31,8 @@ private PluginConfigurationBuilder(@NotNull final String checkstyleVersion,
@NotNull final SortedSet<ConfigurationLocation> locations,
@NotNull final List<String> thirdPartyClasspath,
@NotNull final SortedSet<String> activeLocationIds,
final boolean scanBeforeCheckin) {
final boolean scanBeforeCheckin,
final boolean importSettingsFromMaven) {
this.checkstyleVersion = checkstyleVersion;
this.scanScope = scanScope;
this.suppressErrors = suppressErrors;
Expand All @@ -40,6 +42,7 @@ private PluginConfigurationBuilder(@NotNull final String checkstyleVersion,
this.thirdPartyClasspath = thirdPartyClasspath;
this.activeLocationIds = activeLocationIds;
this.scanBeforeCheckin = scanBeforeCheckin;
this.importSettingsFromMaven = importSettingsFromMaven;
}

public static PluginConfigurationBuilder defaultConfiguration(@NotNull final Project project) {
Expand All @@ -60,6 +63,7 @@ public static PluginConfigurationBuilder defaultConfiguration(@NotNull final Pro
defaultLocations,
Collections.emptyList(),
Collections.emptySortedSet(),
false,
false);
}

Expand All @@ -73,6 +77,7 @@ public static PluginConfigurationBuilder testInstance(@NotNull final String chec
Collections.emptySortedSet(),
Collections.emptyList(),
Collections.emptySortedSet(),
false,
false);
}

Expand All @@ -85,7 +90,8 @@ public static PluginConfigurationBuilder from(@NotNull final PluginConfiguration
source.getLocations(),
source.getThirdPartyClasspath(),
source.getActiveLocationIds(),
source.isScanBeforeCheckin());
source.isScanBeforeCheckin(),
source.isImportSettingsFromMaven());
}

public PluginConfigurationBuilder withCheckstyleVersion(@NotNull final String newCheckstyleVersion) {
Expand Down Expand Up @@ -133,6 +139,11 @@ public PluginConfigurationBuilder withScanScope(@NotNull final ScanScope newScan
return this;
}

public PluginConfigurationBuilder withImportSettingsFromMaven(final boolean importSettingsFromMaven) {
this.importSettingsFromMaven = importSettingsFromMaven;
return this;
}

public PluginConfiguration build() {
return new PluginConfiguration(
checkstyleVersion,
Expand All @@ -143,7 +154,8 @@ public PluginConfiguration build() {
Objects.requireNonNullElseGet(locations, TreeSet::new),
Objects.requireNonNullElseGet(thirdPartyClasspath, ArrayList::new),
Objects.requireNonNullElseGet(activeLocationIds, TreeSet::new),
scanBeforeCheckin);
scanBeforeCheckin,
importSettingsFromMaven);
}

private static ConfigurationLocationFactory configurationLocationFactory(final Project project) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ static class ProjectSettings {
private boolean scrollToSource;
@Tag
private boolean scanBeforeCheckin;
@Tag
private boolean importSettingsFromMaven;
@XCollection
private List<String> thirdPartyClasspath;
@XCollection
Expand All @@ -105,6 +107,7 @@ static ProjectSettings create(@NotNull final PluginConfiguration currentPluginCo
projectSettings.copyLibs = currentPluginConfig.isCopyLibs();
projectSettings.scrollToSource = currentPluginConfig.isScrollToSource();
projectSettings.scanBeforeCheckin = currentPluginConfig.isScanBeforeCheckin();
projectSettings.importSettingsFromMaven = currentPluginConfig.isImportSettingsFromMaven();

projectSettings.thirdPartyClasspath = new ArrayList<>(currentPluginConfig.getThirdPartyClasspath());
projectSettings.activeLocationIds = new ArrayList<>(currentPluginConfig.getActiveLocationIds());
Expand Down Expand Up @@ -151,7 +154,8 @@ PluginConfigurationBuilder populate(@NotNull final PluginConfigurationBuilder bu
.withScanBeforeCheckin(scanBeforeCheckin)
.withThirdPartyClassPath(requireNonNullElseGet(thirdPartyClasspath, ArrayList::new))
.withLocations(deserialiseLocations(project))
.withActiveLocationIds(new TreeSet<>(requireNonNullElseGet(activeLocationIds, ArrayList::new)));
.withActiveLocationIds(new TreeSet<>(requireNonNullElseGet(activeLocationIds, ArrayList::new)))
.withImportSettingsFromMaven(importSettingsFromMaven);
}

return new LegacyProjectConfigurationStateDeserialiser(project)
Expand Down
Loading
Loading