vmassol 2003/11/13 12:14:37 Modified: . build-bootstrap.xml maven.xml build-bootstrap-core.xml src/java/org/apache/maven DefaultProjectUnmarshaller.java DefaultProjectMarshaller.java xdocs/reference project-descriptor.xml src/test/java/org/apache/maven/project ProjectTest.java src/java/org/apache/maven/project Project.java xdocs changes.xml Added: src/xsd maven-project-4.xsd maven-project-3.xsd Removed: src/xsd maven-project.xsd Log: Deprecated <currentVersion> element. It is now replaced by the <version> element. Created new version 4 of the POM and added support for several POM versions. Revision Changes Path 1.1 maven/src/xsd/maven-project-4.xsd Index: maven-project-4.xsd =================================================================== <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' elementFormDefault="qualified"> <xs:element name="project"> <xs:complexType> <xs:sequence> <xs:element ref="extend" minOccurs="0"/> <xs:element ref="pomVersion"/> <xs:element ref="id"/> <xs:element ref="name"/> <xs:element ref="groupId" minOccurs="0"/> <xs:element ref="version"/> <xs:element ref="organization"/> <xs:element ref="inceptionYear"/> <xs:element ref="package" minOccurs="0"/> <xs:element ref="logo" minOccurs="0"/> <xs:element ref="gumpRepositoryId" minOccurs="0"/> <xs:element ref="description" minOccurs="0"/> <xs:element ref="shortDescription"/> <xs:element ref="url" minOccurs="0" /> <xs:element ref="issueTrackingUrl" minOccurs="0"/> <xs:element ref="siteAddress" minOccurs="0"/> <xs:element ref="siteDirectory" minOccurs="0"/> <xs:element ref="distributionSite" minOccurs="0"/> <xs:element ref="distributionDirectory" minOccurs="0"/> <xs:element ref="repository" minOccurs="0"/> <xs:element ref="versions" minOccurs="0"/> <xs:element ref="branches" minOccurs="0"/> <xs:element ref="mailingLists" minOccurs="0"/> <xs:element ref="developers"/> <xs:element ref="contributors" minOccurs="0"/> <xs:element ref="licenses" minOccurs="0"/> <xs:element ref="dependencies" minOccurs="0"/> <xs:element ref="build"/> <xs:element ref="reports" minOccurs="0"/> <xs:element ref="properties" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="extend" type='xs:string'/> <xs:element name="connection" type='xs:string'/> <xs:element name="developerConnection" type='xs:string'/> <xs:element name="currentVersion" type='xs:string'/> <xs:element name="description" type='xs:string'/> <xs:element name="distributionSite" type='xs:string'/> <xs:element name="distributionDirectory" type='xs:string'/> <xs:element name="name" type='xs:string'/> <xs:element name="groupId" type='xs:string'/> <xs:element name="artifactId" type='xs:string'/> <xs:element name="gumpRepositoryId" type='xs:string'/> <xs:element name="id" type='xs:string'/> <xs:element name="inceptionYear" type='xs:gYear'/> <!-- not anyURI as it can contain ${pom....} --> <xs:element name="issueTrackingUrl" type='xs:string'/> <xs:element name="logo" type='xs:string'/> <xs:element name="package" type='xs:string'/> <xs:element name="pomVersion" type='xs:string'/> <xs:element name="shortDescription" type='xs:string'/> <xs:element name="siteAddress" type='xs:string'/> <xs:element name="siteDirectory" type='xs:string'/> <!-- not anyURI as it can contain ${pom....} --> <xs:element name="url" type='xs:string'/> <!-- /repository element --> <xs:element name="repository"> <xs:complexType> <xs:sequence> <xs:element ref="connection"/> <xs:element ref="developerConnection" minOccurs="0"/> <xs:element ref="url" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /organization element --> <xs:element name="organization"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="url" minOccurs="0" /> <xs:element ref="logo" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /versions element --> <xs:element name="versions"> <xs:complexType> <xs:sequence> <xs:element ref="version" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /versions/version element --> <xs:element name="version"> <xs:complexType> <xs:sequence> <xs:element ref="id"/> <xs:element ref="name"/> <xs:element ref="tag"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /versions/version/tag and branches/branch/tag--> <xs:element name="tag" type='xs:string'/> <!-- /branches element --> <xs:element name="branches"> <xs:complexType> <xs:sequence> <xs:element ref="branch" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /branches/branch element --> <xs:element name="branch"> <xs:complexType> <xs:sequence> <xs:element ref="tag"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /mailingLists element --> <xs:element name="mailingLists"> <xs:complexType> <xs:sequence> <xs:element ref="mailingList" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /mailingLists/mailingList element --> <xs:element name="mailingList"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="subscribe"/> <xs:element ref="unsubscribe"/> <xs:element ref="archive" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /mailingLists/mailingList/subscribe element --> <xs:element name="subscribe" type='xs:string'/> <!-- /mailingLists/mailingList/unsubscribe element --> <xs:element name="unsubscribe" type='xs:string'/> <!-- /mailingLists/mailingList/archive element --> <xs:element name="archive" type='xs:string'/> <!-- /developers element --> <xs:element name="developers"> <xs:complexType> <xs:sequence> <xs:element ref="developer" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /developers/developer element --> <xs:element name="developer"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="id"/> <xs:group ref="contactDetails" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /developers/developer/contactDetails group and /contributors/contributor/contactDetails group --> <xs:group name="contactDetails"> <xs:sequence> <xs:element ref="email"/> <xs:element name="organization" type='xs:string' minOccurs="0"/> <xs:element ref="roles" minOccurs="0" /> <xs:element ref="url" minOccurs="0" /> <xs:element ref="timezone" minOccurs="0" /> </xs:sequence> </xs:group> <!-- contactDetails/email element --> <xs:element name="email" type='xs:string'/> <!-- contactDetails/roles element --> <xs:element name="roles"> <xs:complexType> <xs:sequence> <xs:element ref="role" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- contactDetails/roles/role element --> <xs:element name="role" type='xs:string'/> <!-- type for contactDetails/roles/timezone element --> <xs:simpleType name="timezoneType"> <xs:restriction base="xs:decimal"> <xs:minInclusive value="-14"/> <xs:maxInclusive value="+14"/> </xs:restriction> </xs:simpleType> <!-- contactDetails/roles/timezone element Stores a decimal that is the offset to GMT. --> <xs:element name="timezone" type='timezoneType'/> <!-- /contributors element --> <xs:element name="contributors"> <xs:complexType> <xs:sequence> <xs:element ref="contributor" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /contributors/contributor element --> <xs:element name="contributor"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:group ref="contactDetails" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /licenses element --> <xs:element name="licenses"> <xs:complexType> <xs:sequence> <xs:element ref="license" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /licenses/license element --> <xs:element name="license"> <xs:complexType> <xs:sequence> <!-- name of the license, e.g. ASL 1.1 --> <xs:element ref="name" minOccurs="0"/> <!-- fetchable version of the license --> <xs:element ref="url" minOccurs="0" /> <!-- 'manual' or 'repo' --> <xs:element ref="distribution" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /licenses/license/distribution element --> <xs:element name="distribution"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="manual|repo"/> </xs:restriction> </xs:simpleType> </xs:element> <!-- /dependencies element --> <xs:element name="dependencies"> <xs:complexType> <xs:sequence> <xs:element ref="dependency" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /dependencies/dependency element --> <xs:element name="dependency"> <xs:complexType> <xs:sequence> <xs:element ref="id" minOccurs="0" /> <xs:element ref="groupId" minOccurs="0" /> <xs:element ref="artifactId" minOccurs="0" /> <xs:element name="version" type="xs:string" /> <xs:element ref="jar" minOccurs="0"/> <xs:element ref="type" minOccurs="0"/> <xs:element ref="url" minOccurs="0"/> <xs:element ref="properties" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /dependencies/dependency/type element --> <xs:element name="type" type='xs:string'/> <!-- /dependencies/dependency/jar element --> <xs:element name="jar" type='xs:string'/> <!-- /build element --> <xs:element name="build"> <xs:complexType> <xs:sequence> <xs:element ref="nagEmailAddress" minOccurs="0"/> <xs:element ref="sourceDirectory" minOccurs="0"/> <xs:element ref="sourceModifications" minOccurs="0"/> <xs:element ref="unitTestSourceDirectory" minOccurs="0"/> <xs:element ref="integrationUnitTestSourceDirectory" minOccurs="0"/> <xs:element ref="aspectSourceDirectory" minOccurs="0"/> <xs:element ref="unitTest" minOccurs="0"/> <!-- no longer appears in build.java <xs:element ref="integrationUnitTest" minOccurs="0"/> --> <xs:element ref="resources" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="nagEmailAddress" type='xs:string'/> <xs:element name="sourceDirectory" type='xs:string'/> <xs:element name="sourceModifications"> <xs:complexType> <xs:sequence> <xs:element ref="sourceModification" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sourceModification"> <xs:complexType> <xs:sequence> <xs:element name="className" type='xs:string'/> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="unitTestSourceDirectory" type='xs:string'/> <xs:element name="integrationUnitTestSourceDirectory" type='xs:string'/> <xs:element name="aspectSourceDirectory" type='xs:string'/> <xs:element name="unitTest"> <xs:complexType> <xs:sequence> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="resources" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="includes"> <xs:complexType> <xs:sequence> <xs:element ref="include" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="excludes"> <xs:complexType> <xs:sequence> <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="include" type='xs:string'/> <xs:element name="exclude" type='xs:string'/> <!-- no longer appears in build.java <xs:element name="integrationUnitTest"> <xs:complexType> <xs:sequence> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> --> <xs:element name="resources"> <xs:complexType> <xs:sequence> <xs:element ref="resource" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="directory" type='xs:string'/> <xs:element name="targetPath" type='xs:string'/> <xs:element name="filtering" type="xs:boolean" /> <xs:element name="resource"> <xs:complexType> <xs:sequence> <!-- FIXME: I think that this defaults to basedir, need a check --> <xs:element ref="directory" minOccurs="0"/> <xs:element ref="targetPath" minOccurs="0"/> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="filtering" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="reports"> <xs:complexType> <xs:sequence> <xs:element name="report" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="properties"> <xs:complexType> <xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="classloader"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="root|root.maven"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:schema> 1.1 maven/src/xsd/maven-project-3.xsd Index: maven-project-3.xsd =================================================================== <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' elementFormDefault="qualified"> <xs:element name="project"> <xs:complexType> <xs:sequence> <xs:element ref="extend" minOccurs="0"/> <xs:element ref="pomVersion"/> <xs:element ref="id"/> <xs:element ref="name"/> <xs:element ref="groupId" minOccurs="0"/> <xs:element ref="currentVersion"/> <xs:element ref="organization"/> <xs:element ref="inceptionYear"/> <xs:element ref="package" minOccurs="0"/> <xs:element ref="logo" minOccurs="0"/> <xs:element ref="gumpRepositoryId" minOccurs="0"/> <xs:element ref="description" minOccurs="0"/> <xs:element ref="shortDescription"/> <xs:element ref="url" minOccurs="0" /> <xs:element ref="issueTrackingUrl" minOccurs="0"/> <xs:element ref="siteAddress" minOccurs="0"/> <xs:element ref="siteDirectory" minOccurs="0"/> <xs:element ref="distributionSite" minOccurs="0"/> <xs:element ref="distributionDirectory" minOccurs="0"/> <xs:element ref="repository" minOccurs="0"/> <xs:element ref="versions" minOccurs="0"/> <xs:element ref="branches" minOccurs="0"/> <xs:element ref="mailingLists" minOccurs="0"/> <xs:element ref="developers"/> <xs:element ref="contributors" minOccurs="0"/> <xs:element ref="licenses" minOccurs="0"/> <xs:element ref="dependencies" minOccurs="0"/> <xs:element ref="build"/> <xs:element ref="reports" minOccurs="0"/> <xs:element ref="properties" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="extend" type='xs:string'/> <xs:element name="connection" type='xs:string'/> <xs:element name="developerConnection" type='xs:string'/> <xs:element name="currentVersion" type='xs:string'/> <xs:element name="description" type='xs:string'/> <xs:element name="distributionSite" type='xs:string'/> <xs:element name="distributionDirectory" type='xs:string'/> <xs:element name="name" type='xs:string'/> <xs:element name="groupId" type='xs:string'/> <xs:element name="artifactId" type='xs:string'/> <xs:element name="gumpRepositoryId" type='xs:string'/> <xs:element name="id" type='xs:string'/> <xs:element name="inceptionYear" type='xs:gYear'/> <!-- not anyURI as it can contain ${pom....} --> <xs:element name="issueTrackingUrl" type='xs:string'/> <xs:element name="logo" type='xs:string'/> <xs:element name="package" type='xs:string'/> <xs:element name="pomVersion" type='xs:string'/> <xs:element name="shortDescription" type='xs:string'/> <xs:element name="siteAddress" type='xs:string'/> <xs:element name="siteDirectory" type='xs:string'/> <!-- not anyURI as it can contain ${pom....} --> <xs:element name="url" type='xs:string'/> <!-- /repository element --> <xs:element name="repository"> <xs:complexType> <xs:sequence> <xs:element ref="connection"/> <xs:element ref="developerConnection" minOccurs="0"/> <xs:element ref="url" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /organization element --> <xs:element name="organization"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="url" minOccurs="0" /> <xs:element ref="logo" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /versions element --> <xs:element name="versions"> <xs:complexType> <xs:sequence> <xs:element ref="version" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /versions/version element --> <xs:element name="version"> <xs:complexType> <xs:sequence> <xs:element ref="id"/> <xs:element ref="name"/> <xs:element ref="tag"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /versions/version/tag and branches/branch/tag--> <xs:element name="tag" type='xs:string'/> <!-- /branches element --> <xs:element name="branches"> <xs:complexType> <xs:sequence> <xs:element ref="branch" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /branches/branch element --> <xs:element name="branch"> <xs:complexType> <xs:sequence> <xs:element ref="tag"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /mailingLists element --> <xs:element name="mailingLists"> <xs:complexType> <xs:sequence> <xs:element ref="mailingList" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /mailingLists/mailingList element --> <xs:element name="mailingList"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="subscribe"/> <xs:element ref="unsubscribe"/> <xs:element ref="archive" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /mailingLists/mailingList/subscribe element --> <xs:element name="subscribe" type='xs:string'/> <!-- /mailingLists/mailingList/unsubscribe element --> <xs:element name="unsubscribe" type='xs:string'/> <!-- /mailingLists/mailingList/archive element --> <xs:element name="archive" type='xs:string'/> <!-- /developers element --> <xs:element name="developers"> <xs:complexType> <xs:sequence> <xs:element ref="developer" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /developers/developer element --> <xs:element name="developer"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="id"/> <xs:group ref="contactDetails" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /developers/developer/contactDetails group and /contributors/contributor/contactDetails group --> <xs:group name="contactDetails"> <xs:sequence> <xs:element ref="email"/> <xs:element name="organization" type='xs:string' minOccurs="0"/> <xs:element ref="roles" minOccurs="0" /> <xs:element ref="url" minOccurs="0" /> <xs:element ref="timezone" minOccurs="0" /> </xs:sequence> </xs:group> <!-- contactDetails/email element --> <xs:element name="email" type='xs:string'/> <!-- contactDetails/roles element --> <xs:element name="roles"> <xs:complexType> <xs:sequence> <xs:element ref="role" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- contactDetails/roles/role element --> <xs:element name="role" type='xs:string'/> <!-- type for contactDetails/roles/timezone element --> <xs:simpleType name="timezoneType"> <xs:restriction base="xs:decimal"> <xs:minInclusive value="-14"/> <xs:maxInclusive value="+14"/> </xs:restriction> </xs:simpleType> <!-- contactDetails/roles/timezone element Stores a decimal that is the offset to GMT. --> <xs:element name="timezone" type='timezoneType'/> <!-- /contributors element --> <xs:element name="contributors"> <xs:complexType> <xs:sequence> <xs:element ref="contributor" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /contributors/contributor element --> <xs:element name="contributor"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:group ref="contactDetails" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /licenses element --> <xs:element name="licenses"> <xs:complexType> <xs:sequence> <xs:element ref="license" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /licenses/license element --> <xs:element name="license"> <xs:complexType> <xs:sequence> <!-- name of the license, e.g. ASL 1.1 --> <xs:element ref="name" minOccurs="0"/> <!-- fetchable version of the license --> <xs:element ref="url" minOccurs="0" /> <!-- 'manual' or 'repo' --> <xs:element ref="distribution" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /licenses/license/distribution element --> <xs:element name="distribution"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="manual|repo"/> </xs:restriction> </xs:simpleType> </xs:element> <!-- /dependencies element --> <xs:element name="dependencies"> <xs:complexType> <xs:sequence> <xs:element ref="dependency" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!-- /dependencies/dependency element --> <xs:element name="dependency"> <xs:complexType> <xs:sequence> <xs:element ref="id" minOccurs="0" /> <xs:element ref="groupId" minOccurs="0" /> <xs:element ref="artifactId" minOccurs="0" /> <xs:element name="version" type="xs:string" /> <xs:element ref="jar" minOccurs="0"/> <xs:element ref="type" minOccurs="0"/> <xs:element ref="url" minOccurs="0"/> <xs:element ref="properties" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- /dependencies/dependency/type element --> <xs:element name="type" type='xs:string'/> <!-- /dependencies/dependency/jar element --> <xs:element name="jar" type='xs:string'/> <!-- /build element --> <xs:element name="build"> <xs:complexType> <xs:sequence> <xs:element ref="nagEmailAddress" minOccurs="0"/> <xs:element ref="sourceDirectory" minOccurs="0"/> <xs:element ref="sourceModifications" minOccurs="0"/> <xs:element ref="unitTestSourceDirectory" minOccurs="0"/> <xs:element ref="integrationUnitTestSourceDirectory" minOccurs="0"/> <xs:element ref="aspectSourceDirectory" minOccurs="0"/> <xs:element ref="unitTest" minOccurs="0"/> <!-- no longer appears in build.java <xs:element ref="integrationUnitTest" minOccurs="0"/> --> <xs:element ref="resources" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="nagEmailAddress" type='xs:string'/> <xs:element name="sourceDirectory" type='xs:string'/> <xs:element name="sourceModifications"> <xs:complexType> <xs:sequence> <xs:element ref="sourceModification" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sourceModification"> <xs:complexType> <xs:sequence> <xs:element name="className" type='xs:string'/> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="unitTestSourceDirectory" type='xs:string'/> <xs:element name="integrationUnitTestSourceDirectory" type='xs:string'/> <xs:element name="aspectSourceDirectory" type='xs:string'/> <xs:element name="unitTest"> <xs:complexType> <xs:sequence> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="resources" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="includes"> <xs:complexType> <xs:sequence> <xs:element ref="include" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="excludes"> <xs:complexType> <xs:sequence> <xs:element ref="exclude" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="include" type='xs:string'/> <xs:element name="exclude" type='xs:string'/> <!-- no longer appears in build.java <xs:element name="integrationUnitTest"> <xs:complexType> <xs:sequence> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> --> <xs:element name="resources"> <xs:complexType> <xs:sequence> <xs:element ref="resource" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="directory" type='xs:string'/> <xs:element name="targetPath" type='xs:string'/> <xs:element name="filtering" type="xs:boolean" /> <xs:element name="resource"> <xs:complexType> <xs:sequence> <!-- FIXME: I think that this defaults to basedir, need a check --> <xs:element ref="directory" minOccurs="0"/> <xs:element ref="targetPath" minOccurs="0"/> <xs:element ref="includes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="excludes" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="filtering" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="reports"> <xs:complexType> <xs:sequence> <xs:element name="report" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="properties"> <xs:complexType> <xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="classloader"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="root|root.maven"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:schema> 1.208 +6 -6 maven/build-bootstrap.xml Index: build-bootstrap.xml =================================================================== RCS file: /home/cvs/maven/build-bootstrap.xml,v retrieving revision 1.207 retrieving revision 1.208 diff -u -r1.207 -r1.208 --- build-bootstrap.xml 18 Sep 2003 10:25:56 -0000 1.207 +++ build-bootstrap.xml 13 Nov 2003 20:14:37 -0000 1.208 @@ -353,12 +353,12 @@ overwrite="yes" /> - <copy - file="${basedir}/src/xsd/maven-project.xsd" - todir="${maven.bootstrap.install.dir}" - overwrite="yes" - /> - + <copy todir="${maven.bootstrap.install.dir}" overwrite="yes"> + <fileset dir="${basedir}/src/xsd"> + <include name="maven-project-*.xsd"/> + </fileset> + </copy> + <copy file="${basedir}/src/xsd/maven-navigation-1.0.xsd" todir="${maven.bootstrap.install.dir}" 1.95 +1 -1 maven/maven.xml Index: maven.xml =================================================================== RCS file: /home/cvs/maven/maven.xml,v retrieving revision 1.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- maven.xml 28 Oct 2003 00:10:35 -0000 1.94 +++ maven.xml 13 Nov 2003 20:14:37 -0000 1.95 @@ -211,7 +211,7 @@ <include name="plugins/*.jar"/> <include name="bin/*"/> <include name="lib/**"/> - <include name="maven-project.xsd"/> + <include name="maven-project-*.xsd"/> </fileset> </copy> 1.7 +5 -5 maven/build-bootstrap-core.xml Index: build-bootstrap-core.xml =================================================================== RCS file: /home/cvs/maven/build-bootstrap-core.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- build-bootstrap-core.xml 20 Aug 2003 13:08:00 -0000 1.6 +++ build-bootstrap-core.xml 13 Nov 2003 20:14:37 -0000 1.7 @@ -345,11 +345,11 @@ overwrite="yes" /> - <copy - file="${basedir}/src/xsd/maven-project.xsd" - todir="${maven.bootstrap.install.dir}" - overwrite="yes" - /> + <copy todir="${maven.bootstrap.install.dir}" overwrite="yes"> + <fileset dir="${basedir}/src/xsd"> + <include name="maven-project-*.xsd"/> + </fileset> + </copy> <copy file="${basedir}/src/xsd/maven-navigation-1.0.xsd" 1.9 +7 -2 maven/src/java/org/apache/maven/DefaultProjectUnmarshaller.java Index: DefaultProjectUnmarshaller.java =================================================================== RCS file: /home/cvs/maven/src/java/org/apache/maven/DefaultProjectUnmarshaller.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DefaultProjectUnmarshaller.java 19 Aug 2003 04:31:38 -0000 1.8 +++ DefaultProjectUnmarshaller.java 13 Nov 2003 20:14:37 -0000 1.9 @@ -81,6 +81,7 @@ /** * @author Jason van Zyl + * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Massol</a> * @version $Id$ */ public class DefaultProjectUnmarshaller @@ -124,9 +125,13 @@ { project.setName( parser.nextText() ); } + else if ( parser.getName().equals( "version" ) ) + { + project.setVersion( parser.nextText() ); + } else if ( parser.getName().equals( "currentVersion" ) ) { - project.setCurrentVersion( parser.nextText() ); + project.setVersion( parser.nextText() ); } else if ( parser.getName().equals( "inceptionYear" ) ) { 1.9 +3 -3 maven/src/java/org/apache/maven/DefaultProjectMarshaller.java Index: DefaultProjectMarshaller.java =================================================================== RCS file: /home/cvs/maven/src/java/org/apache/maven/DefaultProjectMarshaller.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DefaultProjectMarshaller.java 21 Aug 2003 04:22:46 -0000 1.8 +++ DefaultProjectMarshaller.java 13 Nov 2003 20:14:37 -0000 1.9 @@ -81,8 +81,8 @@ /** * @author <a href="mailto:[EMAIL PROTECTED]">Gilles Dodinet</a> - * @version $Id: DefaultProjectMarshaller.java,v 1.4 2003/05/20 21:42:57 - * gdodinet Exp $ + * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Massol</a> + * @version $Id$ */ public class DefaultProjectMarshaller { @@ -142,7 +142,7 @@ marshallString( project.getGroupId(), "groupId" ); marshallString( project.getArtifactId(), "artifactId" ); - marshallRequiredString( project.getCurrentVersion(), "currentVersion" ); + marshallRequiredString( project.getVersion(), "version" ); marshallOrganization( project ); 1.30 +1 -1 maven/xdocs/reference/project-descriptor.xml Index: project-descriptor.xml =================================================================== RCS file: /home/cvs/maven/xdocs/reference/project-descriptor.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- project-descriptor.xml 9 Nov 2003 14:56:44 -0000 1.29 +++ project-descriptor.xml 13 Nov 2003 20:14:37 -0000 1.30 @@ -20,7 +20,7 @@ <p> For reference, the XML schema used to validate the project descriptor is available in the <a - href="http://cvs.apache.org/viewcvs.cgi/maven/src/xsd/maven-project.xsd">CVS + href="http://cvs.apache.org/viewcvs.cgi/maven/src/xsd">CVS Repository</a>. In addition, a sample project descriptor is presented in the <a href="../start/integrate.html">Integration</a> document. For those wondering, yes, Maven's build system is built 1.6 +5 -5 maven/src/test/java/org/apache/maven/project/ProjectTest.java Index: ProjectTest.java =================================================================== RCS file: /home/cvs/maven/src/test/java/org/apache/maven/project/ProjectTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ProjectTest.java 5 Sep 2003 15:28:42 -0000 1.5 +++ ProjectTest.java 13 Nov 2003 20:14:37 -0000 1.6 @@ -340,17 +340,17 @@ // JUnitDoclet end method hasRepository } - public void testSetGetCurrentVersion() throws Exception + public void testSetGetVersion() throws Exception { - // JUnitDoclet begin method setCurrentVersion getCurrentVersion + // JUnitDoclet begin method setVersion getVersion java.lang.String[] tests = {"", "a", "A", "ä", "ß", "0123456789", "012345678901234567890", null}; for ( int i = 0; i < tests.length; i++ ) { - project.setCurrentVersion( tests[i] ); - assertEquals( tests[i], project.getCurrentVersion() ); + project.setVersion( tests[i] ); + assertEquals( tests[i], project.getVersion() ); } - // JUnitDoclet end method setCurrentVersion getCurrentVersion + // JUnitDoclet end method setVersion getVersion } public void testSetGetOrganization() throws Exception 1.92 +29 -7 maven/src/java/org/apache/maven/project/Project.java Index: Project.java =================================================================== RCS file: /home/cvs/maven/src/java/org/apache/maven/project/Project.java,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- Project.java 5 Sep 2003 15:28:41 -0000 1.91 +++ Project.java 13 Nov 2003 20:14:37 -0000 1.92 @@ -981,14 +981,34 @@ } /** - * Sets the currentVersion attribute of the Project object. + * @see #setVersion(String) + * @deprecated use [EMAIL PROTECTED] #setVersion(String)} + */ + public void setCurrentVersion( String currentVersion ) + { + setVersion(currentVersion); + } + + /** + * Sets the version attribute of the Project object. * - * @param currentVersion the current version number of the project, e.g. + * @param version the current version number of the project, e.g. * <code>1.0</code>, <code>1.1-dev</code> + * + * @since 1.0 rc2 */ - public void setCurrentVersion( String currentVersion ) + public void setVersion(String version) { - this.currentVersion = StringTool.trim(currentVersion); + this.currentVersion = StringTool.trim(version); + } + + /** + * @see #getVersion() + * @deprecated use [EMAIL PROTECTED] #getVersion()} + */ + public String getCurrentVersion() + { + return getVersion(); } /** @@ -996,12 +1016,14 @@ * * @return the current version of the project e.g. <code>1.0</code>, * <code>1.1-dev</code> + * + * @since 1.0 rc2 */ - public String getCurrentVersion() + public String getVersion() { return currentVersion; } - + /** * Sets the project Organization. * 1.15 +8 -2 maven/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/maven/xdocs/changes.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- changes.xml 29 Aug 2003 06:26:23 -0000 1.14 +++ changes.xml 13 Nov 2003 20:14:37 -0000 1.15 @@ -7,12 +7,18 @@ <body> - <release version="1.0RC1" date="in CVS"> + <release version="1.0RC2" date="in CVS"> + <action dev="vmassol" type="add"> + Deprecated <currentVersion> element. It is now replaced by the + <version> element. Created new version 4 of the POM and added + support for several POM versions. + </action> + </release> + <release version="1.0RC1" date="2003-09-30"> <action dev='dion' type='fix'> Move maven.docs.* and maven.gen.docs to defaults.properties instead of xdoc plugin </action> - <action dev="jvanzyl" type="add"> Added the new POM marshaller and unmarshaller based on the xpp3 xmlpull parser. This eliminates betwixt and friends from the POM
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]