Return-Path: Delivered-To: apmail-maven-m2-dev-archive@www.apache.org Received: (qmail 56342 invoked from network); 16 Sep 2004 14:26:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 16 Sep 2004 14:26:22 -0000 Received: (qmail 53822 invoked by uid 500); 16 Sep 2004 14:26:22 -0000 Delivered-To: apmail-maven-m2-dev-archive@maven.apache.org Received: (qmail 53775 invoked by uid 500); 16 Sep 2004 14:26:21 -0000 Mailing-List: contact m2-dev-help@maven.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: List-Id: "Maven 2 Developers List" Reply-To: "Maven 2 Developers List" Delivered-To: mailing list m2-dev@maven.apache.org Received: (qmail 53756 invoked by uid 500); 16 Sep 2004 14:26:21 -0000 Delivered-To: apmail-maven-components-cvs@apache.org Received: (qmail 53745 invoked by uid 99); 16 Sep 2004 14:26:21 -0000 X-ASF-Spam-Status: No, hits=-10.0 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Thu, 16 Sep 2004 07:26:19 -0700 Received: (qmail 56317 invoked by uid 1881); 16 Sep 2004 14:26:18 -0000 Date: 16 Sep 2004 14:26:18 -0000 Message-ID: <20040916142618.56316.qmail@minotaur.apache.org> From: jdcasey@apache.org To: maven-components-cvs@apache.org Subject: cvs commit: maven-components/maven-core/src/main/resources/org/apache/maven/project pom-4.0.0.xml pom.xml X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N jdcasey 2004/09/16 07:26:18 Modified: maven-core/src/main/java/org/apache/maven/project DefaultMavenProjectBuilder.java maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar JarMojo.java Added: maven-core/src/main/resources/org/apache/maven/project pom-4.0.0.xml Removed: maven-core/src/main/resources/org/apache/maven/project pom.xml Log: o Changed maven-core's super-pom from pom.xml to pom-4.0.0.xml o Added validation logic for non-heritable pom elements to the default project builder o Changed default builder to select the correct super-pom from the project pom's modelVersion. Revision Changes Path 1.12 +34 -3 maven-components/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Index: DefaultMavenProjectBuilder.java =================================================================== RCS file: /home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- DefaultMavenProjectBuilder.java 15 Sep 2004 12:34:16 -0000 1.11 +++ DefaultMavenProjectBuilder.java 16 Sep 2004 14:26:18 -0000 1.12 @@ -101,9 +101,6 @@ try { - // TODO: rename to super-pom.xml so it is not used by the reactor - superModel = modelReader.read( new InputStreamReader( DefaultMavenProjectBuilder.class.getResourceAsStream( "pom.xml" ) ) ); - Model userModel = null; // TODO: use maven home local instead of user.home/.m2 File userModelFile = new File( System.getProperty( "user.home" ) + "/.m2", "override.xml" ); @@ -119,6 +116,12 @@ { localRepositoryValue = userModel.getLocal().getRepository(); } + + validateLeafModel(userModel); + + // TODO: rename to super-pom.xml so it is not used by the reactor + superModel = modelReader.read( new InputStreamReader( DefaultMavenProjectBuilder.class.getResourceAsStream( "pom-" + userModel.getModelVersion() + ".xml" ) ) ); + superModel.getRepositories().addAll( userModel.getRepositories() ); } @@ -216,6 +219,34 @@ { throw new ProjectBuildingException( "Error building project from " + projectDescriptor, e ); } + } + + private void validateLeafModel( Model userModel ) + { + String modelVersion = userModel.getModelVersion(); + if ( modelVersion == null || modelVersion.length() < 1 ) + { + throw new IllegalStateException( "POM element \'modelVersion\' must be specified; it may not be inherited" ); + } + + String name = userModel.getName(); + if ( name == null || name.length() < 1 ) + { + throw new IllegalStateException( "POM element \'name\' must be specified; it may not be inherited" ); + } + + String artifactId = userModel.getArtifactId(); + if ( artifactId == null || artifactId.length() < 1 ) + { + throw new IllegalStateException( "POM element \'artifactId\' must be specified; it may not be inherited" ); + } + + String version = userModel.getVersion(); + if ( version == null || version.length() < 1 ) + { + throw new IllegalStateException( "POM element \'version\' must be specified; it may not be inherited" ); + } + } private MavenProject assembleLineage( File projectDescriptor, 1.12 +12 -1 maven-components/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarMojo.java Index: JarMojo.java =================================================================== RCS file: /home/cvs/maven-components/maven-plugins/maven-jar-plugin/src/main/java/org/apache/maven/plugin/jar/JarMojo.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- JarMojo.java 8 Sep 2004 04:05:40 -0000 1.11 +++ JarMojo.java 16 Sep 2004 14:26:18 -0000 1.12 @@ -18,6 +18,7 @@ import org.apache.maven.plugin.PluginExecutionRequest; import org.apache.maven.plugin.PluginExecutionResponse; +import org.apache.maven.project.MavenProject; import java.io.File; import java.util.LinkedHashMap; @@ -52,6 +53,13 @@ * validator="" * expression="#project.build.directory" * description="" + * @parameter + * name="project" + * type="org.apache.maven.project.MavenProject" + * required="true" + * validator="" + * expression="#project" + * description="current MavenProject instance" * * @author Michal Maczka * @version $Id$ @@ -82,6 +90,9 @@ Map includes = new LinkedHashMap(); addDirectory(includes, "**/**", "**/package.html", "", new File( outputDirectory ) ); + + MavenProject project = (MavenProject)request.getParameter("project"); + includes.put("META-INF/maven/pom.xml", project.getFile()); createJar( jarFile, includes ); } 1.1 maven-components/maven-core/src/main/resources/org/apache/maven/project/pom-4.0.0.xml Index: pom-4.0.0.xml =================================================================== 4.0.0 Maven Super Model central Maven Central Repository at ibiblio http://www.ibiblio.org/maven target target/classes target/test-classes src/main/java src/test/java **/*Test.java **/*Abstract*.java src/test/resources src/main/resources