View Javadoc
1   /*
2    * SPDX-FileCopyrightText: Copyright (c) 2011-2026 Yegor Bugayenko
3    * SPDX-License-Identifier: MIT
4    */
5   package com.qulice.maven;
6   
7   import java.util.Collection;
8   import org.apache.maven.project.MavenProject;
9   import org.apache.maven.shared.dependency.analyzer.ProjectDependencyAnalysis;
10  import org.apache.maven.shared.dependency.analyzer.ProjectDependencyAnalyzer;
11  import org.apache.maven.shared.dependency.analyzer.ProjectDependencyAnalyzerException;
12  
13  /**
14   * A test fake {@link ProjectDependencyAnalyzer} that returns a
15   * pre-built {@link ProjectDependencyAnalysis} regardless of the
16   * arguments it is given.
17   *
18   * <p>Lets {@code DependenciesValidator} tests stage exactly the
19   * "used", "unused declared" and "used undeclared" artifact sets they
20   * want without having to drive a real Maven dependency analysis.</p>
21   *
22   * @since 0.27.0
23   */
24  final class FakeProjectDependencyAnalyzer implements ProjectDependencyAnalyzer {
25  
26      /**
27       * ProjectDependencyAnalysis.
28       */
29      private final ProjectDependencyAnalysis analysis;
30  
31      FakeProjectDependencyAnalyzer(final ProjectDependencyAnalysis alysis) {
32          this.analysis = alysis;
33      }
34  
35      @Override
36      public ProjectDependencyAnalysis analyze(
37          final MavenProject project,
38          final Collection<String> collection
39      ) throws ProjectDependencyAnalyzerException {
40          return this.analysis;
41      }
42  }