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 com.qulice.checkstyle.CheckstyleValidator;
8   import com.qulice.errorprone.ErrorProneValidator;
9   import com.qulice.pmd.PmdValidator;
10  import com.qulice.spi.Environment;
11  import com.qulice.spi.ResourceValidator;
12  import com.qulice.spi.Validator;
13  import java.util.Arrays;
14  import java.util.Collection;
15  import java.util.LinkedHashSet;
16  import java.util.Set;
17  
18  /**
19   * Provider of validators.
20   *
21   * @since 0.3
22   */
23  final class DefaultValidatorsProvider implements ValidatorsProvider {
24  
25      /**
26       * Environment to use for validation.
27       */
28      private final Environment env;
29  
30      /**
31       * Constructor.
32       *
33       * @param env Environment to use for validation
34       */
35      DefaultValidatorsProvider(final Environment env) {
36          this.env = env;
37      }
38  
39      @Override
40      public Set<MavenValidator> internal() {
41          final Set<MavenValidator> validators = new LinkedHashSet<>();
42          validators.add(new PomXpathValidator());
43          validators.add(new EnforcerValidator());
44          validators.add(new DuplicateFinderValidator());
45          validators.add(new DependenciesValidator());
46          validators.add(new SnapshotsValidator());
47          return validators;
48      }
49  
50      @Override
51      public Set<Validator> external() {
52          return new LinkedHashSet<>();
53      }
54  
55      @Override
56      public Collection<ResourceValidator> externalResource() {
57          return Arrays.asList(
58              new CheckstyleValidator(this.env),
59              new PmdValidator(this.env),
60              new ErrorProneValidator(this.env)
61          );
62      }
63  }