Skip to content
Closed
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
82 changes: 71 additions & 11 deletions gradle/error-prone.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,90 @@ apply plugin: 'net.ltgt.errorprone'
dependencies {
errorprone('com.google.errorprone:error_prone_core:2.42.0')
errorprone('tech.picnic.error-prone-support:error-prone-contrib:0.25.0')
constraints {
errorprone('com.google.guava:guava') {
version {
require('33.4.8-jre')
}
because('Older versions use deprecated methods in sun.misc.Unsafe')
// https://github.com/junit-team/junit-framework/pull/5039#discussion_r2414490581
}
}
}

tasks.withType(JavaCompile).configureEach {
options.errorprone {
disableAllChecks = true // consider removal to avoid error prone error´s, following convention over configuration.
disable( // not patchable
'FormatStringConcatenation',
'FunctionalInterfaceMethodChanged',
'JavaxInjectOnAbstractMethod',
'OverridesJavaxInjectableMethod',
'ReturnValueIgnored',
'Slf4jLogStatement',
'MissingSummary',
// patchable
'LexicographicalAnnotationAttributeListing',
'LexicographicalAnnotationListing',
'Slf4jLoggerDeclaration', // logger -> log
// critical, finds lots of bugs... unused configs and stuff.
'Unused',
'UnusedMethod',
'UnusedParameters',
'UnusedVariable',
)
error(
'AmbiguousJsonCreator',
'AssertJNullnessAssertion',
'AutowiredConstructor',
'CanonicalAnnotationSyntax',
'CollectorMutability',
'ConstantNaming',
'DirectReturn',
'EmptyMethod',
'ExplicitArgumentEnumeration',
'ExplicitEnumOrdering',
'IdentityConversion',
'ImmutablesSortedSetComparator',
'IsInstanceLambdaUsage',
'MockitoMockClassReference',
'MockitoStubbing',
'NestedOptionals',
'NonStaticImport',
'PrimitiveComparison',
'RedundantStringConversion',
'RedundantStringEscape',
'SelfAssignment',
'StaticImport',
'StringJoin',
'StringJoining',
)
// fixme bug: this only happens when the file is dirty!
// up2date checking (caching) must consider file changes, as file is currently corrupt!
// fix SelfTest.java:L22 ForbidGradleInternal(import org.gradle.api.internal.project.ProjectInternal;)
errorproneArgs.add('-XepExcludedPaths:.*/SelfTest.java')
if (!getenv().containsKey('CI') && getenv('IN_PLACE')?.toBoolean()) {
errorproneArgs.addAll(
'-XepPatchLocation:IN_PLACE',
'-XepPatchChecks:' +
'AmbiguousJsonCreator,' +
'ArrayEquals,' +
'AssertJNullnessAssertion,' +
'AutowiredConstructor,' +
'CanonicalAnnotationSyntax,' +
'CollectorMutability,' +
'ConstantNaming,' +
'RedundantStringConversion,'
'DirectReturn,' +
'EmptyMethod,' +
'ExplicitArgumentEnumeration,' +
'ExplicitEnumOrdering,' +
'FormatStringConcatenation,' +
'IdentityConversion,' +
'ImmutablesSortedSetComparator,' +
'IsInstanceLambdaUsage,' +
'MockitoMockClassReference,' +
'MockitoStubbing,' +
'NestedOptionals,' +
'NonStaticImport,' +
'PrimitiveComparison,' +
'RedundantStringConversion,' +
'RedundantStringEscape,' +
'SelfAssignment,' +
'Slf4jLogStatement,' +
'StaticImport,' +
'StringJoin,' +
'StringJoining,' +
'TimeZoneUsage,'
)
}
}
Expand Down
1 change: 0 additions & 1 deletion gradle/rewrite.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ apply plugin: 'org.openrewrite.rewrite'

rewrite {
activeRecipe('com.diffplug.spotless.openrewrite.SanityCheck')
activeStyle('com.diffplug.spotless.openrewrite.SpotlessFormat')
exclusions.addAll(
'**.dirty.java',
'**FormatterProperties.java',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@
*/
package com.diffplug.spotless.extra.glue.cdt;

import static java.util.stream.Collectors.toMap;

import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.stream.Collectors;
import java.util.stream.Stream;

import org.eclipse.cdt.core.formatter.CodeFormatter;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
Expand All @@ -32,7 +33,7 @@ public class EclipseCdtFormatterStepImpl {

public EclipseCdtFormatterStepImpl(Properties settings) throws Exception {
Stream<Entry<Object, Object>> stream = settings.entrySet().stream();
Map<String, String> settingsMap = stream.collect(Collectors.toMap(
Map<String, String> settingsMap = stream.collect(toMap(
e -> String.valueOf(e.getKey()),
e -> String.valueOf(e.getValue())));
codeFormatter = org.eclipse.cdt.core.ToolFactory.createDefaultCodeFormatter(settingsMap);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@
*/
package com.diffplug.spotless.extra.glue.groovy;

import static java.util.Collections.synchronizedList;

import dev.equo.solstice.NestedJars;
import dev.equo.solstice.ShimIdeBootstrapServices;
import dev.equo.solstice.Solstice;
import dev.equo.solstice.p2.CacheLocations;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
Expand All @@ -24,7 +30,6 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;

import org.codehaus.groovy.eclipse.GroovyLogManager;
import org.codehaus.groovy.eclipse.IGroovyLogger;
import org.codehaus.groovy.eclipse.TraceCategory;
Expand All @@ -43,11 +48,6 @@
import org.eclipse.text.edits.TextEdit;
import org.osgi.framework.Constants;

import dev.equo.solstice.NestedJars;
import dev.equo.solstice.ShimIdeBootstrapServices;
import dev.equo.solstice.Solstice;
import dev.equo.solstice.p2.CacheLocations;

/** Spotless-Formatter step which calls out to the Groovy-Eclipse formatter. */
public class GrEclipseFormatterStepImpl {
static {
Expand Down Expand Up @@ -111,7 +111,7 @@ public GroovyErrorListener() {
* We need a synchronized list here, in case multiple instantiations
* run in parallel.
*/
errors = Collections.synchronizedList(new ArrayList<>());
errors = synchronizedList(new ArrayList<>());
ILog groovyLogger = GroovyCoreActivator.getDefault().getLog();
groovyLogger.addLogListener(this);
synchronized (GroovyLogManager.manager) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@
*/
package com.diffplug.spotless.extra.glue.jdt;

import static java.util.stream.Collectors.toMap;

import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.stream.Collectors;

import org.eclipse.jdt.core.formatter.CodeFormatter;
import org.eclipse.jdt.internal.compiler.env.IModule;
import org.eclipse.jdt.internal.formatter.DefaultCodeFormatter;
Expand All @@ -37,7 +38,7 @@ public class EclipseJdtFormatterStepImpl {
private final EclipseJdtSortMembers.SortProperties sortProperties;

public EclipseJdtFormatterStepImpl(Properties formatterSettings, Map<String, String> sortProperties) {
Map<String, String> options = formatterSettings.entrySet().stream().collect(Collectors.toMap(
Map<String, String> options = formatterSettings.entrySet().stream().collect(toMap(
e -> String.valueOf(e.getKey()),
e -> String.valueOf(e.getValue()),
(prev, next) -> next,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@
*/
package com.diffplug.spotless.extra;

import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.Objects.requireNonNull;

import com.diffplug.common.base.Errors;
import com.diffplug.spotless.FileSignature;
import com.diffplug.spotless.FormatterFunc;
import com.diffplug.spotless.FormatterProperties;
import com.diffplug.spotless.FormatterStep;
import com.diffplug.spotless.JarState;
import com.diffplug.spotless.Provisioner;
import com.diffplug.spotless.SerializedFunction;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
Expand All @@ -26,15 +37,6 @@
import java.util.Objects;
import java.util.Properties;

import com.diffplug.common.base.Errors;
import com.diffplug.spotless.FileSignature;
import com.diffplug.spotless.FormatterFunc;
import com.diffplug.spotless.FormatterProperties;
import com.diffplug.spotless.FormatterStep;
import com.diffplug.spotless.JarState;
import com.diffplug.spotless.Provisioner;
import com.diffplug.spotless.SerializedFunction;

/**
* Generic Eclipse based formatter step {@link State} builder.
*/
Expand Down Expand Up @@ -69,10 +71,10 @@ public EclipseBasedStepBuilder(String formatterName, Provisioner jarProvisioner,

/** Initialize valid default configuration, taking latest version */
public EclipseBasedStepBuilder(String formatterName, String formatterStepExt, Provisioner jarProvisioner, SerializedFunction<State, FormatterFunc> stateToFormatter) {
this.formatterName = Objects.requireNonNull(formatterName, "formatterName");
this.formatterStepExt = Objects.requireNonNull(formatterStepExt, "formatterStepExt");
this.jarProvisioner = Objects.requireNonNull(jarProvisioner, "jarProvisioner");
this.stateToFormatter = Objects.requireNonNull(stateToFormatter, "stateToFormatter");
this.formatterName = requireNonNull(formatterName, "formatterName");
this.formatterStepExt = requireNonNull(formatterStepExt, "formatterStepExt");
this.jarProvisioner = requireNonNull(jarProvisioner, "jarProvisioner");
this.stateToFormatter = requireNonNull(stateToFormatter, "stateToFormatter");
formatterVersion = "No version set"; //Will fail creation
}

Expand All @@ -91,7 +93,7 @@ public void setVersion(String version) {
throw new IllegalArgumentException("No such version " + version + ", expected at " + url);
}
byte[] content = toByteArray(depsFile);
String allLines = new String(content, StandardCharsets.UTF_8);
String allLines = new String(content, UTF_8);
String[] lines = allLines.split("\n");
dependencies.clear();
for (String line : lines) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,9 @@
*/
package com.diffplug.spotless.extra;

import static java.util.Objects.requireNonNullElse;
import static java.util.stream.Collectors.toMap;

import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;

import javax.annotation.Nullable;

import com.diffplug.common.collect.ImmutableMap;
import com.diffplug.spotless.FileSignature;
import com.diffplug.spotless.FormatterFunc;
Expand All @@ -37,13 +26,22 @@
import com.diffplug.spotless.JarState;
import com.diffplug.spotless.Provisioner;
import com.diffplug.spotless.SerializedFunction;

import dev.equo.solstice.NestedJars;
import dev.equo.solstice.p2.CacheLocations;
import dev.equo.solstice.p2.P2ClientCache;
import dev.equo.solstice.p2.P2Model;
import dev.equo.solstice.p2.P2QueryCache;
import dev.equo.solstice.p2.P2QueryResult;
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;
import javax.annotation.Nullable;

/**
* Generic Eclipse based formatter step {@link State} builder.
Expand Down Expand Up @@ -190,8 +188,8 @@ static class EquoStep implements Serializable {
ImmutableMap<String, String> stepProperties) {

this.semanticVersion = semanticVersion;
this.settingProperties = Objects.requireNonNullElse(settingProperties, new ArrayList<>());
this.settingXml = Objects.requireNonNullElse(settingXml, new ArrayList<>());
this.settingProperties = requireNonNullElse(settingProperties, new ArrayList<>());
this.settingXml = requireNonNullElse(settingXml, new ArrayList<>());
this.settingsPromise = settingsPromise;
this.jarPromise = jarPromise;
this.stepProperties = stepProperties;
Expand All @@ -218,8 +216,8 @@ public static class State implements Serializable {
public State(String semanticVersion, JarState jarState, List<String> settingProperties, List<String> settingXml, FileSignature settingsFiles, ImmutableMap<String, String> stepProperties) {
this.semanticVersion = semanticVersion;
this.jarState = jarState;
this.settingProperties = Objects.requireNonNullElse(settingProperties, new ArrayList<>());
this.settingXml = Objects.requireNonNullElse(settingXml, new ArrayList<>());
this.settingProperties = requireNonNullElse(settingProperties, new ArrayList<>());
this.settingXml = requireNonNullElse(settingXml, new ArrayList<>());
this.settingsFiles = settingsFiles;
this.stepProperties = stepProperties;
}
Expand Down
Loading
Loading