You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2003/12/09 07:21:34 UTC

cvs commit: maven-components/maven-project/xdocs index.xml

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="jason@maven.org">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="jason@zenplex.com">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="jason@zenplex.com">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: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org