Class DefaultModelValidator
java.lang.Object
org.apache.maven.internal.impl.model.DefaultModelValidator
- All Implemented Interfaces:
ModelValidator
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final record
private static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
private static final String
private static final Pattern
private static final Pattern
private static final String
private static final String
private static final String
Fields inherited from interface org.apache.maven.api.services.model.ModelValidator
VALIDATION_LEVEL_MAVEN_2_0, VALIDATION_LEVEL_MAVEN_3_0, VALIDATION_LEVEL_MAVEN_3_1, VALIDATION_LEVEL_MAVEN_4_0, VALIDATION_LEVEL_MINIMAL, VALIDATION_LEVEL_STRICT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
addViolation
(ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String fieldName, String sourceHint, String message, InputLocationTracker tracker) private static Long
private static int
compareModelVersions
(String first, String second) Compares two model versions.private static boolean
private static InputLocation
getLocation
(String fieldName, InputLocationTracker tracker) private static BuilderProblem.Severity
getSeverity
(int validationLevel, int errorThreshold) private boolean
hasExpression
(String value) private boolean
hasProjectExpression
(String value) private boolean
private boolean
isValidCoordinatesIdCharacter
(char c) private boolean
private boolean
private boolean
private void
validate20EffectivePluginDependencies
(ModelProblemCollector problems, Plugin plugin, int validationLevel) private void
validate20EffectiveRepository
(ModelProblemCollector problems, Repository repository, String prefix, int validationLevel) private boolean
validate20PluginVersion
(String fieldName, ModelProblemCollector problems, String string, String sourceHint, InputLocationTracker tracker, int validationLevel) private boolean
validate20ProperSnapshotVersion
(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) private void
validate20RawDependencies
(ModelProblemCollector problems, List<Dependency> dependencies, String prefix, String prefix2, boolean is41OrBeyond, int validationLevel) private void
validate20RawDependenciesSelfReferencing
(ModelProblemCollector problems, Model m, List<Dependency> dependencies, String prefix) private void
validate20RawPlugins
(ModelProblemCollector problems, List<Plugin> plugins, String prefix, String prefix2, int validationLevel) private void
validate20RawResources
(ModelProblemCollector problems, List<Resource> resources, String prefix, int validationLevel) private void
validate30RawProfileActivation
(ModelProblemCollector problems, Activation activation, String prefix) private boolean
validateBannedCharacters
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker, String banned) private boolean
validateBoolean
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) private boolean
validateCoordinatesId
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String id, String sourceHint, InputLocationTracker tracker) private boolean
validateCoordinatesId
(String fieldName, ModelProblemCollector problems, String id, InputLocationTracker tracker) private boolean
validateCoordinatesIdWithWildcards
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String id, String sourceHint, InputLocationTracker tracker) protected void
validateDependencyVersion
(ModelProblemCollector problems, Dependency d, String prefix) private void
validateEffectiveDependencies
(ModelProblemCollector problems, Model m, List<Dependency> dependencies, boolean management, int validationLevel) private void
validateEffectiveDependency
(ModelProblemCollector problems, Dependency d, boolean management, String prefix, int validationLevel) void
validateEffectiveModel
(Model m, int validationLevel, ModelProblemCollector problems) Checks the specified (effective) model for missing or invalid values.private void
validateEffectiveModelAgainstDependency
(String prefix, ModelProblemCollector problems, Model m, Dependency d) private boolean
validateEnum
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker, String... validValues) void
validateFileModel
(Model m, int validationLevel, ModelProblemCollector problems) Checks the specified file model for missing or invalid values.private boolean
validateModelVersion
(ModelProblemCollector problems, String string, InputLocationTracker tracker, List<String> validVersions) private boolean
validateNotNull
(String prefix, String prefix2, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, Object object, String sourceHint, InputLocationTracker tracker) Asserts:private boolean
validateNotNull
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, Object object, String sourceHint, InputLocationTracker tracker) Asserts:private boolean
validateProfileId
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String id, String sourceHint, InputLocationTracker tracker) void
validateRawModel
(Model m, int validationLevel, ModelProblemCollector problems) Checks the specified (raw) model for missing or invalid values.private void
validateRawRepositories
(ModelProblemCollector problems, List<Repository> repositories, String prefix, String prefix2, int validationLevel) private boolean
validateStringNoExpression
(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, InputLocationTracker tracker) private boolean
validateStringNotEmpty
(String prefix, String prefix2, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) Asserts:private boolean
validateStringNotEmpty
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) Asserts:private boolean
validateStringNotEmpty
(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, InputLocationTracker tracker) private boolean
validateVersion
(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) private boolean
validateVersionNoExpression
(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, InputLocationTracker tracker)
-
Field Details
-
BUILD_ALLOW_EXPRESSION_IN_EFFECTIVE_PROJECT_VERSION
- See Also:
-
VALID_MODEL_VERSIONS
-
EXPRESSION_NAME_PATTERN
-
EXPRESSION_PROJECT_NAME_PATTERN
-
ILLEGAL_FS_CHARS
- See Also:
-
ILLEGAL_VERSION_CHARS
- See Also:
-
ILLEGAL_REPO_ID_CHARS
- See Also:
-
EMPTY
- See Also:
-
validCoordinatesIds
-
validProfileIds
-
-
Constructor Details
-
DefaultModelValidator
-
-
Method Details
-
validateFileModel
Description copied from interface:ModelValidator
Checks the specified file model for missing or invalid values. This model is directly created from the POM file and has not been subjected to inheritance, interpolation or profile/default injection.- Specified by:
validateFileModel
in interfaceModelValidator
- Parameters:
m
- The model to validate, must not benull
.validationLevel
- The validation level.problems
- The container used to collect problems that were encountered, must not benull
.
-
validateRawModel
Description copied from interface:ModelValidator
Checks the specified (raw) model for missing or invalid values. The raw model is the file model + buildpom filter transformation and has not been subjected to inheritance, interpolation or profile/default injection.- Specified by:
validateRawModel
in interfaceModelValidator
- Parameters:
m
- The model to validate, must not benull
.validationLevel
- The validation level.problems
- The container used to collect problems that were encountered, must not benull
.
-
validate30RawProfileActivation
private void validate30RawProfileActivation(ModelProblemCollector problems, Activation activation, String prefix) -
validate20RawPlugins
private void validate20RawPlugins(ModelProblemCollector problems, List<Plugin> plugins, String prefix, String prefix2, int validationLevel) -
validateEffectiveModel
Description copied from interface:ModelValidator
Checks the specified (effective) model for missing or invalid values. The effective model is fully assembled and has undergone inheritance, interpolation and other model operations.- Specified by:
validateEffectiveModel
in interfaceModelValidator
- Parameters:
m
- The model to validate, must not benull
.validationLevel
- The validation level.problems
- The container used to collect problems that were encountered, must not benull
.
-
validate20RawDependencies
private void validate20RawDependencies(ModelProblemCollector problems, List<Dependency> dependencies, String prefix, String prefix2, boolean is41OrBeyond, int validationLevel) -
validate20RawDependenciesSelfReferencing
private void validate20RawDependenciesSelfReferencing(ModelProblemCollector problems, Model m, List<Dependency> dependencies, String prefix) -
validateEffectiveDependencies
private void validateEffectiveDependencies(ModelProblemCollector problems, Model m, List<Dependency> dependencies, boolean management, int validationLevel) -
validateEffectiveModelAgainstDependency
private void validateEffectiveModelAgainstDependency(String prefix, ModelProblemCollector problems, Model m, Dependency d) -
validate20EffectivePluginDependencies
private void validate20EffectivePluginDependencies(ModelProblemCollector problems, Plugin plugin, int validationLevel) -
validateEffectiveDependency
private void validateEffectiveDependency(ModelProblemCollector problems, Dependency d, boolean management, String prefix, int validationLevel) -
validateDependencyVersion
protected void validateDependencyVersion(ModelProblemCollector problems, Dependency d, String prefix) - Since:
- 3.2.4
-
validateRawRepositories
private void validateRawRepositories(ModelProblemCollector problems, List<Repository> repositories, String prefix, String prefix2, int validationLevel) -
validate20EffectiveRepository
private void validate20EffectiveRepository(ModelProblemCollector problems, Repository repository, String prefix, int validationLevel) -
validate20RawResources
private void validate20RawResources(ModelProblemCollector problems, List<Resource> resources, String prefix, int validationLevel) -
validateCoordinatesId
private boolean validateCoordinatesId(String fieldName, ModelProblemCollector problems, String id, InputLocationTracker tracker) -
validateCoordinatesId
private boolean validateCoordinatesId(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String id, String sourceHint, InputLocationTracker tracker) -
isValidCoordinatesId
-
isValidCoordinatesIdCharacter
private boolean isValidCoordinatesIdCharacter(char c) -
validateProfileId
private boolean validateProfileId(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String id, String sourceHint, InputLocationTracker tracker) -
isValidProfileId
-
validateCoordinatesIdWithWildcards
private boolean validateCoordinatesIdWithWildcards(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String id, String sourceHint, InputLocationTracker tracker) -
isValidCoordinatesIdWithWildCards
-
isValidCoordinatesIdWithWildCardCharacter
private boolean isValidCoordinatesIdWithWildCardCharacter(char c) -
validateStringNoExpression
private boolean validateStringNoExpression(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, InputLocationTracker tracker) -
validateVersionNoExpression
private boolean validateVersionNoExpression(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, InputLocationTracker tracker) -
hasExpression
-
hasProjectExpression
-
validateStringNotEmpty
private boolean validateStringNotEmpty(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, InputLocationTracker tracker) -
validateStringNotEmpty
private boolean validateStringNotEmpty(String prefix, String prefix2, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) Asserts:string != null
string.length > 0
-
validateStringNotEmpty
private boolean validateStringNotEmpty(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) Asserts:string != null
string.length > 0
-
validateNotNull
private boolean validateNotNull(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, Object object, String sourceHint, InputLocationTracker tracker) Asserts:string != null
-
validateNotNull
private boolean validateNotNull(String prefix, String prefix2, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, Object object, String sourceHint, InputLocationTracker tracker) Asserts:string != null
-
validateBoolean
private boolean validateBoolean(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) -
validateEnum
private boolean validateEnum(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker, String... validValues) -
validateModelVersion
private boolean validateModelVersion(ModelProblemCollector problems, String string, InputLocationTracker tracker, List<String> validVersions) -
compareModelVersions
Compares two model versions.- Parameters:
first
- the first version.second
- the second version.- Returns:
- negative if the first version is newer than the second version, zero if they are the same or positive if the second version is the newer.
-
asLong
-
validateBannedCharacters
private boolean validateBannedCharacters(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker, String banned) -
validateVersion
private boolean validateVersion(String prefix, String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) -
validate20ProperSnapshotVersion
private boolean validate20ProperSnapshotVersion(String fieldName, ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String string, String sourceHint, InputLocationTracker tracker) -
validate20PluginVersion
private boolean validate20PluginVersion(String fieldName, ModelProblemCollector problems, String string, String sourceHint, InputLocationTracker tracker, int validationLevel) -
addViolation
private static void addViolation(ModelProblemCollector problems, BuilderProblem.Severity severity, ModelProblem.Version version, String fieldName, String sourceHint, String message, InputLocationTracker tracker) -
getLocation
-
equals
-
getSeverity
-