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   * @since 0.3
21   */
22  final class DefaultValidatorsProvider implements ValidatorsProvider {
23  
24      /**
25       * Environment to use for validation.
26       */
27      private final Environment env;
28  
29      /**
30       * Constructor.
31       * @param env Environment to use for validation
32       */
33      DefaultValidatorsProvider(final Environment env) {
34          this.env = env;
35      }
36  
37      @Override
38      public Set<MavenValidator> internal() {
39          final Set<MavenValidator> validators = new LinkedHashSet<>();
40          validators.add(new PomXpathValidator());
41          validators.add(new EnforcerValidator());
42          validators.add(new DuplicateFinderValidator());
43          validators.add(new DependenciesValidator());
44          validators.add(new SnapshotsValidator());
45          return validators;
46      }
47  
48      @Override
49      public Set<Validator> external() {
50          return new LinkedHashSet<>();
51      }
52  
53      @Override
54      public Collection<ResourceValidator> externalResource() {
55          return Arrays.asList(
56              new CheckstyleValidator(this.env),
57              new PmdValidator(this.env),
58              new ErrorProneValidator(this.env)
59          );
60      }
61  }