List of usage examples for org.apache.maven.model.building ModelBuildingRequest VALIDATION_LEVEL_MAVEN_3_1
int VALIDATION_LEVEL_MAVEN_3_1
To view the source code for org.apache.maven.model.building ModelBuildingRequest VALIDATION_LEVEL_MAVEN_3_1.
Click Source Link
From source file:com.doublefx.maven.utils.flexmojos.mavenValidator.FlexMojosCompatibleModelValidator.java
License:Apache License
@Override public void validateEffectiveModel(Model model, ModelBuildingRequest request, ModelProblemCollector problems) { validateStringNotEmpty("modelVersion", problems, Severity.ERROR, model.getModelVersion(), model); validateId("groupId", problems, model.getGroupId(), model); validateId("artifactId", problems, model.getArtifactId(), model); validateStringNotEmpty("packaging", problems, Severity.ERROR, model.getPackaging(), model); if (!model.getModules().isEmpty()) { if (!"pom".equals(model.getPackaging())) { addViolation(problems, Severity.ERROR, "packaging", null, "with value '" + model.getPackaging() + "' is invalid. Aggregator projects " + "require 'pom' as packaging.", model); }//w w w.ja va2s. c o m for (int i = 0, n = model.getModules().size(); i < n; i++) { String module = model.getModules().get(i); if (StringUtils.isBlank(module)) { addViolation(problems, Severity.WARNING, "modules.module[" + i + "]", null, "has been specified without a path to the project directory.", model.getLocation("modules")); } } } validateStringNotEmpty("version", problems, Severity.ERROR, model.getVersion(), model); Severity errOn30 = getSeverity(request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0); validateEffectiveDependencies(problems, model.getDependencies(), false, request); DependencyManagement mgmt = model.getDependencyManagement(); if (mgmt != null) { validateEffectiveDependencies(problems, mgmt.getDependencies(), true, request); } if (request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0) { Set<String> modules = new HashSet<String>(); for (int i = 0, n = model.getModules().size(); i < n; i++) { String module = model.getModules().get(i); if (!modules.add(module)) { addViolation(problems, Severity.ERROR, "modules.module[" + i + "]", null, "specifies duplicate child module " + module, model.getLocation("modules")); } } Severity errOn31 = getSeverity(request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1); validateBannedCharacters("version", problems, errOn31, model.getVersion(), null, model, ILLEGAL_VERSION_CHARS); Build build = model.getBuild(); if (build != null) { for (Plugin p : build.getPlugins()) { validateStringNotEmpty("build.plugins.plugin.artifactId", problems, Severity.ERROR, p.getArtifactId(), p); validateStringNotEmpty("build.plugins.plugin.groupId", problems, Severity.ERROR, p.getGroupId(), p); validatePluginVersion("build.plugins.plugin.version", problems, p.getVersion(), p.getKey(), p, request); validateBoolean("build.plugins.plugin.inherited", problems, errOn30, p.getInherited(), p.getKey(), p); validateBoolean("build.plugins.plugin.extensions", problems, errOn30, p.getExtensions(), p.getKey(), p); validateEffectivePluginDependencies(problems, p, request); } validateResources(problems, build.getResources(), "build.resources.resource", request); validateResources(problems, build.getTestResources(), "build.testResources.testResource", request); } Reporting reporting = model.getReporting(); if (reporting != null) { for (ReportPlugin p : reporting.getPlugins()) { validateStringNotEmpty("reporting.plugins.plugin.artifactId", problems, Severity.ERROR, p.getArtifactId(), p); validateStringNotEmpty("reporting.plugins.plugin.groupId", problems, Severity.ERROR, p.getGroupId(), p); validateStringNotEmpty("reporting.plugins.plugin.version", problems, errOn31, p.getVersion(), p.getKey(), p); } } for (Repository repository : model.getRepositories()) { validateRepository(problems, repository, "repositories.repository", request); } for (Repository repository : model.getPluginRepositories()) { validateRepository(problems, repository, "pluginRepositories.pluginRepository", request); } DistributionManagement distMgmt = model.getDistributionManagement(); if (distMgmt != null) { if (distMgmt.getStatus() != null) { addViolation(problems, Severity.ERROR, "distributionManagement.status", null, "must not be specified.", distMgmt); } validateRepository(problems, distMgmt.getRepository(), "distributionManagement.repository", request); validateRepository(problems, distMgmt.getSnapshotRepository(), "distributionManagement.snapshotRepository", request); } } }
From source file:com.doublefx.maven.utils.flexmojos.mavenValidator.FlexMojosCompatibleModelValidator.java
License:Apache License
private void validateRepository(ModelProblemCollector problems, Repository repository, String prefix, ModelBuildingRequest request) {/* w w w. jav a 2 s . c o m*/ if (repository != null) { Severity errOn31 = getSeverity(request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_1); this.validateBannedCharacters(prefix + ".id", problems, errOn31, repository.getId(), null, repository, ILLEGAL_REPO_ID_CHARS); if ("local".equals(repository.getId())) { addViolation(problems, errOn31, prefix + ".id", null, "must not be \'local\', this identifier is reserved for the local repository, using it for other repositories will corrupt your repository metadata.", repository); } if ("legacy".equals(repository.getLayout())) { addViolation(problems, Severity.WARNING, prefix + ".layout", repository.getId(), "uses the unsupported value \'legacy\', artifact resolution might fail.", repository); } } }