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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@
.factorypath
.vscode/
repo/
/*.svg
/*.svg
.pmd/.cache
136 changes: 136 additions & 0 deletions .pmd/exclude.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
org.apache.maven.ReactorReader=UselessParentheses
org.apache.maven.api.DependencyScope=UnnecessaryFullyQualifiedName
org.apache.maven.api.JavaPathType=UnnecessaryFullyQualifiedName,UnnecessaryModifier
org.apache.maven.api.MonotonicClock=UnnecessaryFullyQualifiedName
org.apache.maven.api.plugin.testing.Foo=UnnecessaryFullyQualifiedName
org.apache.maven.api.plugin.testing.MojoExtension=CollapsibleIfStatements
org.apache.maven.api.plugin.testing.stubs.SessionMock=TooManyStaticImports
org.apache.maven.api.services.ArtifactCoordinatesFactoryRequest=UnnecessaryFullyQualifiedName
org.apache.maven.api.services.ArtifactFactoryRequest=UnnecessaryFullyQualifiedName
org.apache.maven.api.services.DependencyCoordinatesFactoryRequest=UnnecessaryFullyQualifiedName
org.apache.maven.artifact.ArtifactUtils=UnnecessaryFullyQualifiedName
org.apache.maven.artifact.DefaultArtifact=UselessParentheses
org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager=CollapsibleIfStatements
org.apache.maven.artifact.handler.manager.LegacyArtifactHandlerManager=CollapsibleIfStatements
org.apache.maven.artifact.metadata.AbstractArtifactMetadata=UnnecessaryFullyQualifiedName
org.apache.maven.artifact.repository.ArtifactRepositoryPolicy=UnnecessaryFullyQualifiedName
org.apache.maven.artifact.repository.DefaultArtifactRepository=UnusedFormalParameter
org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata=UnnecessaryFullyQualifiedName
org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager=CollapsibleIfStatements
org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer=UnnecessaryFullyQualifiedName
org.apache.maven.artifact.resolver.DaemonThreadCreator=AvoidThreadGroup
org.apache.maven.artifact.resolver.filter.ExclusionArtifactFilter=UnusedPrivateField
org.apache.maven.artifact.versioning.ComparableVersion=UselessParentheses
org.apache.maven.artifact.versioning.ListItem=UselessParentheses
org.apache.maven.artifact.versioning.VersionRange=CollapsibleIfStatements
org.apache.maven.bridge.MavenRepositorySystem=AvoidUsingHardCodedIP,UnnecessaryFullyQualifiedName,UselessParentheses
org.apache.maven.cli.CLIReportingUtils=UselessParentheses
org.apache.maven.cli.MavenCli=UnnecessaryFullyQualifiedName,UselessParentheses
org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor=UnusedFormalParameter
org.apache.maven.cli.props.MavenProperties=CollapsibleIfStatements
org.apache.maven.cli.props.MavenPropertiesLoader=UselessParentheses
org.apache.maven.cli.transfer.AbstractMavenTransferListener=UselessParentheses
org.apache.maven.cli.transfer.ConsoleMavenTransferListener=UnusedFormalParameter
org.apache.maven.cli.transfer.Slf4jMavenTransferListener=UselessParentheses
org.apache.maven.cling.executor.embedded.Context=UnusedPrivateField
org.apache.maven.cling.invoker.BaseParser=TooManyStaticImports
org.apache.maven.cling.invoker.LookupInvoker=SimplifiedTernary
org.apache.maven.cling.invoker.mvnenc.CommonsCliEncryptOptions=UnnecessaryFullyQualifiedName
org.apache.maven.cling.invoker.mvnsh.CommonsCliShellOptions=UnnecessaryFullyQualifiedName
org.apache.maven.cling.invoker.mvnsh.builtin.BuiltinShellCommandRegistry=UnusedFormalParameter
org.apache.maven.cling.logging.Slf4jLoggerManager=UselessParentheses
org.apache.maven.cling.logging.impl.UnsupportedSlf4jBindingConfiguration=UnusedFormalParameter
org.apache.maven.cling.props.MavenProperties=CollapsibleIfStatements
org.apache.maven.cling.props.MavenPropertiesLoader=UselessParentheses
org.apache.maven.cling.transfer.AbstractMavenTransferListener=UselessParentheses
org.apache.maven.cling.transfer.ConsoleMavenTransferListener=UnusedFormalParameter
org.apache.maven.cling.transfer.Slf4jMavenTransferListener=UselessParentheses
org.apache.maven.cling.utils.CLIReportingUtils=UnusedPrivateField,UselessParentheses
org.apache.maven.configuration.BasedirBeanConfigurationPathTranslator=EmptyControlStatement
org.apache.maven.di.impl.Binding=UnnecessaryFullyQualifiedName
org.apache.maven.di.impl.ReflectionUtils=UnnecessaryFullyQualifiedName
org.apache.maven.di.impl.SingletonScope=UnnecessaryFullyQualifiedName
org.apache.maven.di.impl.Types=JumbledIncrementer,UnnecessaryFullyQualifiedName
org.apache.maven.exception.DefaultExceptionHandler=UselessParentheses
org.apache.maven.execution.MavenSession=UnusedFormalParameter
org.apache.maven.graph.DefaultGraphBuilder=UselessParentheses
org.apache.maven.impl.DefaultNode=UnnecessaryFullyQualifiedName,UselessParentheses
org.apache.maven.impl.DefaultRepositoryFactory=UnnecessaryFullyQualifiedName
org.apache.maven.impl.DefaultSettingsBuilder=UnusedFormalParameter
org.apache.maven.impl.DefaultToolchainsBuilder=UnusedFormalParameter
org.apache.maven.impl.DefaultTransportProvider=UnnecessaryFullyQualifiedName
org.apache.maven.impl.InternalSession=UnnecessaryFullyQualifiedName
org.apache.maven.impl.PathSelector=CollapsibleIfStatements
org.apache.maven.impl.PropertiesAsMap=UnnecessaryFullyQualifiedName
org.apache.maven.impl.SettingsUtilsV4=UnnecessaryFullyQualifiedName
org.apache.maven.impl.model.DefaultInheritanceAssembler=UselessParentheses
org.apache.maven.impl.model.DefaultModelBuilder=UnnecessaryFullyQualifiedName
org.apache.maven.impl.model.DefaultModelInterpolator=EmptyControlStatement
org.apache.maven.impl.model.DefaultModelValidator=UnnecessaryFullyQualifiedName
org.apache.maven.impl.model.MavenModelMerger=CollapsibleIfStatements,UselessOverridingMethod
org.apache.maven.impl.model.ModelBuilderSessionState=CollapsibleIfStatements
org.apache.maven.impl.resolver.LocalSnapshotMetadataGenerator=UnusedFormalParameter
org.apache.maven.impl.resolver.scopes.Maven3ScopeManagerConfiguration=TooManyStaticImports,UnnecessaryFullyQualifiedName
org.apache.maven.impl.resolver.scopes.Maven4ScopeManagerConfiguration=TooManyStaticImports,UnnecessaryFullyQualifiedName
org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory=EmptyControlStatement
org.apache.maven.internal.impl.CleanLifecycle=UnnecessaryFullyQualifiedName
org.apache.maven.internal.impl.DefaultLifecycle=UnnecessaryFullyQualifiedName
org.apache.maven.internal.impl.DefaultLifecycleRegistry=TooManyStaticImports,UnnecessaryFullyQualifiedName
org.apache.maven.internal.impl.DefaultTypeRegistry=CollapsibleIfStatements
org.apache.maven.internal.impl.SiteLifecycle=UnnecessaryFullyQualifiedName
org.apache.maven.internal.transformation.impl.DefaultConsumerPomArtifactTransformer=UnusedPrivateMethod
org.apache.maven.internal.transformation.impl.DefaultConsumerPomBuilder=UnusedFormalParameter
org.apache.maven.jline.DefaultPrompter=UselessParentheses
org.apache.maven.jline.MessageUtils=UnnecessaryFullyQualifiedName
org.apache.maven.lifecycle.DefaultLifecycles=UnusedFormalParameter
org.apache.maven.lifecycle.LifecycleExecutionException=UnusedFormalParameter
org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator=UselessParentheses
org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator=UselessParentheses
org.apache.maven.lifecycle.internal.builder.BuilderCommon=EmptyControlStatement
org.apache.maven.lifecycle.internal.concurrent.BuildContext=CollapsibleIfStatements,EmptyControlStatement,UnusedLocalVariable
org.apache.maven.lifecycle.internal.concurrent.BuildPlanExecutor=TooManyStaticImports,UselessParentheses
org.apache.maven.lifecycle.internal.concurrent.ConcurrentLifecycleStarter=UselessParentheses
org.apache.maven.logging.LoggingExecutionListener=UselessParentheses
org.apache.maven.model.building.DefaultModelBuilder.java=UnnecessaryFullyQualifiedName
org.apache.maven.model.building.DefaultModelBuilder=UnnecessaryFullyQualifiedName
org.apache.maven.model.inheritance.DefaultInheritanceAssembler=UselessParentheses
org.apache.maven.model.io.xpp3.MavenXpp3ReaderEx=UselessOverridingMethod
org.apache.maven.model.io.xpp3.MavenXpp3WriterEx=UselessOverridingMethod
org.apache.maven.model.merge.MavenModelMerger=CollapsibleIfStatements
org.apache.maven.model.merge.ModelMerger=CollapsibleIfStatements
org.apache.maven.model.validation.DefaultModelValidator=UnusedFormalParameter
org.apache.maven.plugin.CycleDetectedInPluginGraphException=UnusedFormalParameter
org.apache.maven.plugin.PluginConfigurationException=UnusedPrivateField
org.apache.maven.plugin.PluginParameterException=UselessParentheses
org.apache.maven.plugin.PluginParameterExpressionEvaluator=UselessParentheses
org.apache.maven.plugin.PluginParameterExpressionEvaluatorV4=CollapsibleIfStatements,UselessParentheses
org.apache.maven.plugin.internal.DefaultLegacySupport=UnnecessaryFullyQualifiedName
org.apache.maven.plugin.prefix.internal.DefaultPluginPrefixResolver=UselessParentheses
org.apache.maven.project.BuildSession=UselessParentheses
org.apache.maven.project.DefaultProjectBuilder=UnusedFormalParameter
org.apache.maven.project.MavenProject=CollapsibleIfStatements,UnusedFormalParameter,UselessParentheses
org.apache.maven.project.ProjectSorter=UselessParentheses
org.apache.maven.project.collector.DefaultProjectsSelector=UselessParentheses
org.apache.maven.project.interpolation.RegexBasedModelInterpolator=UnusedFormalParameter
org.apache.maven.project.path.DefaultPathTranslator=CollapsibleIfStatements
org.apache.maven.repository.DefaultMirrorSelector=AvoidUsingHardCodedIP,UselessParentheses
org.apache.maven.repository.internal.DefaultModelResolver=UnnecessaryFullyQualifiedName
org.apache.maven.repository.internal.LocalSnapshotMetadataGenerator=UnusedFormalParameter
org.apache.maven.repository.internal.scopes.Maven3ScopeManagerConfiguration=TooManyStaticImports,UnnecessaryFullyQualifiedName
org.apache.maven.repository.internal.scopes.Maven4ScopeManagerConfiguration=TooManyStaticImports,UnnecessaryFullyQualifiedName
org.apache.maven.repository.legacy.DefaultWagonManager=UnusedFormalParameter
org.apache.maven.repository.legacy.LegacyRepositorySystem=UnnecessaryFullyQualifiedName
org.apache.maven.repository.legacy.resolver.DefaultLegacyArtifactCollector=CollapsibleIfStatements
org.apache.maven.repository.legacy.resolver.transform.SnapshotTransformation=UselessParentheses
org.apache.maven.repository.metadata.ArtifactMetadata=UnusedFormalParameter
org.apache.maven.repository.metadata.DefaultGraphConflictResolver=UnusedFormalParameter
org.apache.maven.repository.metadata.MetadataGraph=UnusedFormalParameter
org.apache.maven.repository.metadata.MetadataGraphEdge=OverrideBothEqualsAndHashcode,UselessParentheses
org.apache.maven.settings.DefaultMavenSettingsBuilder=UnnecessaryFullyQualifiedName
org.apache.maven.settings.building.DefaultSettingsBuilder=UnusedFormalParameter
org.apache.maven.slf4j.DefaultLogLevelRecorder=AvoidBranchingStatementAsLastInLoop,CollapsibleIfStatements
org.apache.maven.slf4j.MavenBaseLogger=UselessParentheses
org.apache.maven.slf4j.SimpleLoggerConfiguration=UselessParentheses
org.apache.maven.toolchain.DefaultToolchainManagerV3=UnnecessaryFullyQualifiedName
org.apache.maven.toolchain.building.DefaultToolchainsBuilder=UnusedFormalParameter
org.apache.maven.toolchain.java.DefaultJavaToolChain=UselessOverridingMethod
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,7 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.LegacyLocalRepositoryManager;
import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.MetadataBridge;
import org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata;
import org.apache.maven.plugin.LegacySupport;
import org.apache.maven.project.artifact.ProjectArtifactMetadata;
import org.codehaus.plexus.logging.AbstractLogEnabled;
Expand Down Expand Up @@ -106,9 +104,6 @@ public void deploy(
org.eclipse.aether.artifact.Artifact pomArtifact = new SubArtifact(mainArtifact, "", "pom");
pomArtifact = pomArtifact.setFile(projectArtifactMetadata.getFile());
request.addArtifact(pomArtifact);
} else if (metadata instanceof SnapshotArtifactRepositoryMetadata
|| metadata instanceof ArtifactRepositoryMetadata) {
// eaten, handled by repo system
} else {
request.addMetadata(new MetadataBridge(metadata));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,6 @@ public void install(File source, Artifact artifact, ArtifactRepository localRepo
org.eclipse.aether.artifact.Artifact pomArtifact = new SubArtifact(mainArtifact, "", "pom");
pomArtifact = pomArtifact.setFile(projectArtifactMetadata.getFile());
request.addArtifact(pomArtifact);
} else if (metadata instanceof SnapshotArtifactRepositoryMetadata
|| metadata instanceof ArtifactRepositoryMetadata) {
// eaten, handled by repo system
} else {
request.addMetadata(new MetadataBridge(metadata));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ private Properties read(File touchfile) {
Properties props = new Properties();

try (FileInputStream in = new FileInputStream(touchfile)) {
try (FileLock lock = in.getChannel().lock(0, Long.MAX_VALUE, true)) {
try (FileLock ignored = in.getChannel().lock(0, Long.MAX_VALUE, true)) {
getLogger().debug("Reading resolution-state from: " + touchfile);
props.load(in);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ private void doExecute(MavenSession session, MojoExecution mojoExecution, Depend

ensureDependenciesAreResolved(mojoDescriptor, session, dependencyContext);

try (NoExceptionCloseable lock = getProjectLock(session, mojoDescriptor)) {
try (NoExceptionCloseable ignored = getProjectLock(session, mojoDescriptor)) {
doExecute2(session, mojoExecution);
} finally {
for (MavenProject forkedProject : forkedProjects) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -347,9 +347,7 @@ public File alignToBaseDirectory(File file) {
// TODO Copied from the DefaultInterpolator. We likely want to resurrect the PathTranslator or at least a
// similar component for re-usage
if (file != null) {
if (file.isAbsolute()) {
// path was already absolute, just normalize file separator and we're done
} else if (file.getPath().startsWith(File.separator)) {
if (file.getPath().startsWith(File.separator)) {
// drive-relative Windows path, don't align with project directory but with drive root
file = file.getAbsoluteFile();
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,9 +227,7 @@ public File alignToBaseDirectory(File file) {
// TODO Copied from the DefaultInterpolator. We likely want to resurrect the PathTranslator or at least a
// similar component for re-usage
if (file != null) {
if (file.isAbsolute()) {
// path was already absolute, just normalize file separator and we're done
} else if (file.getPath().startsWith(File.separator)) {
if (file.getPath().startsWith(File.separator)) {
// drive-relative Windows path, don't align with project directory but with drive root
file = file.getAbsoluteFile();
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,34 +392,6 @@ private static String getChildCombinationMode(Map<String, String> attributes) {
return !isEmpty(value) ? value : DEFAULT_CHILDREN_COMBINATION_MODE;
}

@Nullable
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

private static XmlNode findNodeById(@Nonnull List<XmlNode> nodes, @Nonnull String id) {
return nodes.stream()
.filter(n -> id.equals(n.attribute(ID_COMBINATION_MODE_ATTRIBUTE)))
.findFirst()
.orElse(null);
}

@Nullable
private static XmlNode findNodeByKeys(
@Nonnull List<XmlNode> nodes, @Nonnull XmlNode target, @Nonnull String[] keys) {
return nodes.stream()
.filter(n -> matchesKeys(n, target, keys))
.findFirst()
.orElse(null);
}

private static boolean matchesKeys(@Nonnull XmlNode node1, @Nonnull XmlNode node2, @Nonnull String[] keys) {
for (String key : keys) {
String value1 = node1.attribute(key);
String value2 = node2.attribute(key);
if (!Objects.equals(value1, value2)) {
return false;
}
}
return true;
}

static class IndentingXMLStreamWriter extends StreamWriterDelegate {

int depth = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,13 @@ public void run() {
getLog().info("[MAVEN-CORE-IT-LOG] Thread " + this + " uses " + tccl);
Thread.currentThread().setContextClassLoader(tccl);
while (go.isEmpty()) {
// wait for start
// [WARNING] PMD Failure: Rule:EmptyControlStatement Priority:3 Empty while statement.
try {
Thread.sleep(100);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
// wait for the start
}
for (int j = 0; j < 10 * 1000; j++) {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,8 @@ private String calcChecksum(File jarFile) throws IOException, NoSuchAlgorithmExc
MessageDigest digester = MessageDigest.getInstance("SHA-1");

try (FileInputStream is = new FileInputStream(jarFile)) {
DigestInputStream dis = new DigestInputStream(is, digester);

for (byte[] buffer = new byte[1024 * 4]; dis.read(buffer) >= 0; ) {
// just read it
}
// [WARNING] PMD Failure: Rule:EmptyControlStatement Priority:3 Empty for statement.
new DigestInputStream(is, digester).read(new byte[1024 * 4]);
}

byte[] digest = digester.digest();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -665,24 +665,6 @@ public String getArtifactPath(String gid, String aid, String version, String ext
+ executorTool.artifactPath(executorHelper.executorRequest(), gav, null);
}

private String getSupportArtifactPath(String artifact) {
StringTokenizer tok = new StringTokenizer(artifact, ":");
if (tok.countTokens() != 4) {
throw new IllegalArgumentException("Artifact must have 4 tokens: '" + artifact + "'");
}

String[] a = new String[4];
for (int i = 0; i < 4; i++) {
a[i] = tok.nextToken();
}

String groupId = a[0];
String artifactId = a[1];
String version = a[2];
String ext = a[3];
return getSupportArtifactPath(groupId, artifactId, version, ext);
}

public String getSupportArtifactPath(String groupId, String artifactId, String version, String ext) {
return getSupportArtifactPath(groupId, artifactId, version, ext, null);
}
Expand Down
Loading