jvanzyl 2003/12/08 22:21:34 Modified: . MAVEN-2.x.txt maven-model-tools project.xml maven-project/src/java/org/apache/maven/project DefaultProjectBuilder.java Added: maven-model/xdocs index.xml maven-model-tools/xdocs index.xml maven-project/xdocs index.xml Log: o moving docs into individual components Revision Changes Path 1.5 +0 -35 maven-components/MAVEN-2.x.txt Index: MAVEN-2.x.txt =================================================================== RCS file: /home/cvs/maven-components/MAVEN-2.x.txt,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- MAVEN-2.x.txt 8 Dec 2003 04:41:51 -0000 1.4 +++ MAVEN-2.x.txt 9 Dec 2003 06:21:34 -0000 1.5 @@ -1,41 +1,6 @@ I have tried to separate each of the components by concern. We have the following: -maven-model: - -This is strictly the model for Maven, so really just plain objects. Eventually -I would like to be able to generate these from a UML model but that can -come later. In addition to generating the sources from a UML model I would -like to generate the XSD or any other artifacts that may be required. This way -we can keep things up-to-date instead of the disaster we have with the -current incarnation of Maven. - -maven-model-tools: - -There are two components in here. A model marshaller and unmarshaller. These -components simply do the mapping there are no notions of interpolation or -inheritance in these components. - -maven-project: - -The maven Project is really the runtime entity that people are used to -working with. The Project is created with a component called the -ProjectBuilder which is responsible for creating a Project which does carry -with it the notions of inheritance and interpolation. The Project contains a -copy of the model and a copy of the interpolated model. I did this because -the contents of the model cannot be contaminated with runtime notions. For -example you don't want interpolated values finding their way into the model -because when you write it to disk again you've obviously lost the real -values. The same goes with inherited values i.e. you do not want to write -back to disk the dependencies inherited from a parent project as that's -implicit using the <extend> element. - -The project also carries any runtime notions like artifacts (Michal this is -where your artifact tools will come in, the ProjectBuilder will use the -artifact component to create the list of artifacts), dependency maps, source -roots created by generative processes. Currrently in maven all those notions -are baked into the project and it's created a horrible mess. - maven: This is the actual maven thingy itself. Currently is very small but the 1.1 maven-components/maven-model/xdocs/index.xml Index: index.xml =================================================================== <?xml version="1.0"?> <document> <properties> <title>Maven Model</title> <author email="[EMAIL PROTECTED]">Jason van Zyl</author> </properties> <body> <section name="Maven Model"> <p> This is strictly the model for Maven, so really just plain objects. Eventually I would like to be able to generate these from a UML model but that can come later. In addition to generating the sources from a UML model I would like to generate the XSD or any other artifacts that may be required. This way we can keep things up-to-date instead of the disaster we have with the current incarnation of Maven. </p> </section> </body> </document> 1.6 +12 -0 maven-components/maven-model-tools/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/maven-components/maven-model-tools/project.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- project.xml 8 Dec 2003 04:38:23 -0000 1.5 +++ project.xml 9 Dec 2003 06:21:34 -0000 1.6 @@ -64,6 +64,18 @@ <!-- testing --> <dependency> + <groupId>plexus</groupId> + <artifactId>plexus-utils</artifactId> + <version>1.0-beta-1</version> + </dependency> + + <dependency> + <groupId>xstream</groupId> + <artifactId>xstream</artifactId> + <version>0.2</version> + </dependency> + + <dependency> <groupId>classworlds</groupId> <artifactId>classworlds</artifactId> <version>1.0</version> 1.1 maven-components/maven-model-tools/xdocs/index.xml Index: index.xml =================================================================== <?xml version="1.0"?> <document> <properties> <title>Maven Model Tools</title> <author email="[EMAIL PROTECTED]">Jason van Zyl</author> </properties> <body> <section name="Maven Model Tools"> <p> There are two components in here. A model marshaller and unmarshaller. These components simply do the mapping there are no notions of interpolation or inheritance in these components. </p> </section> </body> </document> 1.17 +4 -2 maven-components/maven-project/src/java/org/apache/maven/project/DefaultProjectBuilder.java Index: DefaultProjectBuilder.java =================================================================== RCS file: /home/cvs/maven-components/maven-project/src/java/org/apache/maven/project/DefaultProjectBuilder.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- DefaultProjectBuilder.java 8 Dec 2003 22:32:50 -0000 1.16 +++ DefaultProjectBuilder.java 9 Dec 2003 06:21:34 -0000 1.17 @@ -328,15 +328,15 @@ driverProperties } ); - System.out.println( "descriptorDirectory = " + descriptorDirectory ); - // Set the basedir value in the context. result.put( "basedir", descriptorDirectory.getPath() ); for ( Iterator i = result.keySet().iterator(); i.hasNext(); ) { String key = (String) i.next(); + String value = (String) result.get( key ); + result.put( key, StringUtils.interpolate( value, result ) ); } @@ -354,7 +354,9 @@ throws Exception { StringWriter writer = new StringWriter(); + marshaller.marshall( writer, project ); + return writer.toString(); } 1.1 maven-components/maven-project/xdocs/index.xml Index: index.xml =================================================================== <?xml version="1.0"?> <document> <properties> <title>Maven Project</title> <author email="[EMAIL PROTECTED]">Jason van Zyl</author> </properties> <body> <section name="Maven Project"> <p> The maven Project is really the runtime entity that people are used to working with. The Project is created with a component called the ProjectBuilder which is responsible for creating a Project which does carry with it the notions of inheritance and interpolation. The Project contains a copy of the model and a copy of the interpolated model. I did this because the contents of the model cannot be contaminated with runtime notions. For example you don't want interpolated values finding their way into the model because when you write it to disk again you've obviously lost the real values. The same goes with inherited values i.e. you do not want to write back to disk the dependencies inherited from a parent project as that's implicit using the <extend> element. </p> <p> The project also carries any runtime notions like artifacts (Michal this is where your artifact tools will come in, the ProjectBuilder will use the artifact component to create the list of artifacts), dependency maps, source roots created by generative processes. Currrently in maven all those notions are baked into the project and it's created a horrible mess. </p> </section> </body> </document>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]