List of usage examples for org.apache.maven.model.building ModelBuildingRequest VALIDATION_LEVEL_MAVEN_2_0
int VALIDATION_LEVEL_MAVEN_2_0
To view the source code for org.apache.maven.model.building ModelBuildingRequest VALIDATION_LEVEL_MAVEN_2_0.
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); }//www .j av a2 s . co 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 validateEffectiveDependencies(ModelProblemCollector problems, List<Dependency> dependencies, boolean management, ModelBuildingRequest request) { Severity errOn30 = getSeverity(request, ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_3_0); String prefix = management ? "dependencyManagement.dependencies.dependency." : "dependencies.dependency."; for (Dependency d : dependencies) { this.validateEffectiveDependency(problems, d, management, prefix, request); if (request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0) { this.validateBoolean(prefix + "optional", problems, errOn30, d.getOptional(), d.getManagementKey(), d);/*from w w w. j a va 2 s. c o m*/ if (!management) { this.validateVersion(prefix + "version", problems, errOn30, d.getVersion(), d.getManagementKey(), d); this.validateEnum(prefix + "scope", problems, Severity.WARNING, d.getScope(), d.getManagementKey(), d, "merged", "external", "internal", "caching", "rsl", "theme", "provided", "compile", "runtime", "test", "system"); } } } }
From source file:com.doublefx.maven.utils.flexmojos.mavenValidator.FlexMojosCompatibleModelValidator.java
License:Apache License
private void validateEffectiveDependency(ModelProblemCollector problems, Dependency d, boolean management, String prefix, ModelBuildingRequest request) { this.validateId(prefix + "artifactId", problems, Severity.ERROR, d.getArtifactId(), d.getManagementKey(), d);//from www . j a v a2 s.c o m this.validateId(prefix + "groupId", problems, Severity.ERROR, d.getGroupId(), d.getManagementKey(), d); if (!management) { this.validateStringNotEmpty(prefix + "type", problems, Severity.ERROR, d.getType(), d.getManagementKey(), d); this.validateStringNotEmpty(prefix + "version", problems, Severity.ERROR, d.getVersion(), d.getManagementKey(), d); } if ("system".equals(d.getScope())) { String systemPath = d.getSystemPath(); if (StringUtils.isEmpty(systemPath)) { addViolation(problems, Severity.ERROR, prefix + "systemPath", d.getManagementKey(), "is missing.", d); } else { File exclusion = new File(systemPath); if (!exclusion.isAbsolute()) { addViolation(problems, Severity.ERROR, prefix + "systemPath", d.getManagementKey(), "must specify an absolute path but is " + systemPath, d); } else if (!exclusion.isFile()) { String msg = "refers to a non-existing file " + exclusion.getAbsolutePath(); systemPath = systemPath.replace('/', File.separatorChar).replace('\\', File.separatorChar); String jdkHome = request.getSystemProperties().getProperty("java.home", "") + File.separator + ".."; if (systemPath.startsWith(jdkHome)) { msg = msg + ". Please verify that you run Maven using a JDK and not just a JRE."; } addViolation(problems, Severity.WARNING, prefix + "systemPath", d.getManagementKey(), msg, d); } } } else if (StringUtils.isNotEmpty(d.getSystemPath())) { addViolation(problems, Severity.ERROR, prefix + "systemPath", d.getManagementKey(), "must be omitted. This field may only be specified for a dependency with system scope.", d); } if (request.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0) { for (Exclusion exclusion1 : d.getExclusions()) { this.validateId(prefix + "exclusions.exclusion.groupId", problems, Severity.WARNING, exclusion1.getGroupId(), d.getManagementKey(), exclusion1); this.validateId(prefix + "exclusions.exclusion.artifactId", problems, Severity.WARNING, exclusion1.getArtifactId(), d.getManagementKey(), exclusion1); } } }
From source file:org.jvnet.hudson.test.MavenUtil.java
License:Open Source License
/** * Create MavenRequest given only a TaskListener. Used by HudsonTestCase. * /*from w w w. j a v a 2s. com*/ * @param listener * @return MavenRequest * @throws MavenEmbedderException * @throws IOException */ public static MavenRequest createMavenRequest(TaskListener listener) throws MavenEmbedderException, IOException { Properties systemProperties = new Properties(); MavenRequest mavenRequest = new MavenRequest(); // make sure ~/.m2 exists to avoid http://www.nabble.com/BUG-Report-tf3401736.html File m2Home = new File(MavenEmbedder.userHome, ".m2"); m2Home.mkdirs(); if (!m2Home.exists()) throw new AbortException("Failed to create " + m2Home); mavenRequest.setUserSettingsFile(new File(m2Home, "settings.xml").getAbsolutePath()); mavenRequest.setGlobalSettingsFile(new File("conf/settings.xml").getAbsolutePath()); mavenRequest.setUpdateSnapshots(false); // TODO olamy check this sould be userProperties mavenRequest.setSystemProperties(systemProperties); EmbedderLoggerImpl logger = new EmbedderLoggerImpl(listener, debugMavenEmbedder ? org.codehaus.plexus.logging.Logger.LEVEL_DEBUG : org.codehaus.plexus.logging.Logger.LEVEL_INFO); mavenRequest.setMavenLoggerManager(logger); ClassLoader mavenEmbedderClassLoader = new MaskingClassLoader(MavenUtil.class.getClassLoader()); {// are we loading the right components.xml? (and not from Maven that's running Jetty, if we are running in "mvn hudson-dev:run" or "mvn hpi:run"? Enumeration<URL> e = mavenEmbedderClassLoader.getResources("META-INF/plexus/components.xml"); while (e.hasMoreElements()) { URL url = e.nextElement(); LOGGER.fine("components.xml from " + url); } } mavenRequest.setProcessPlugins(false); mavenRequest.setResolveDependencies(false); mavenRequest.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0); return mavenRequest; }