You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Brett Porter <br...@apache.org> on 2006/01/11 23:20:32 UTC

[discuss] change to parent hierachy

Hi,

I'd like to suggest we make the following changes to the parent hierarchy:
- maven/site/pom.xml will become the global root POM. It will be
versioned with a single digit (1, 2, etc) incremented whenever it is
changed.
- the parent will contain all the globally true info - the main site
descriptor, the foundation info, base version control, root site descriptor
- maven/components, /continuum, etc will inherit from it.
- the plugin parent will be versioned with a single digit. It will not
contain dependencies or dependency management information. The plugin
API version will be put into every plugin.

One thing I haven't thought through - how do we best set the project
info for the site.
- Do we put all committers and mailing lists on the main site?
- Do we exclude those reports from the main site, include them in the
product sites?
- Do we aggregate?

I think we should have all developers listed at the front, same with
mailing lists. I think contributors (which we haven't been adding),
should only be at the product level.

- Brett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: [discuss] change to parent hierachy

Posted by Brett Porter <br...@apache.org>.
Heads up - I'm going to start working on this on trunk after the 2.0.3
release goes out and things settle down.

Complain now or hold your peace :)

 -Brett

Brett Porter wrote:
> Here is how I propose this would go now. At the bottom, I have this
> mapped out as an SVN tree and a sitemap including Maven, the plugins,
> and Continuum.
> 
> - global root pom is stored somewhere else in the maven SCM repository.
> That could be in the /trunks externals gathering point for convenience,
> though maybe /maven or /maven/pom is more appropriate. I expect we'd
> rarely change this, except to add new developers or mailing lists. I
> think we should still have single digit versioning as described below.
> 
> - maven/components, maven/continuum, maven/site, etc will all inherit
> from it
> 
> - the root site descriptor will be with the root site: maven/site.
> 
> - the components parent will inherit from the maven project root, but
> the site will inherit from the site root. Here, we need to add this to
> the site descriptor since it diverges from the POM inheritance:
>  <parent>
>    <groupId>org.apache.maven</groupId>
>    <artifactId>maven-site</artifactId>
>    <version>1</version>
>  </parent>
>  This means that, logically, the components reference is a sibling to
> the user guide, not a subsite. I think that makes sense enough.
> 
> - the plugin parent will be versioned with a single digit. It will not
> contain dependencies or dependency management information. The plugin
> API version will be put into every plugin.
> 
> - the plugin parent will inherit from the Maven project root, not the
> "components" root.
> 
> - the plugin site descriptor will inherit from the maven site
> descriptor. At the root will be the generated list of modules. Each will
> still deploy as they do now, and can be the latest in SVN. We should add
> @since notation to the reference. I don't see multiple versions of the
> plugin reference, javadoc, or sources as a need here. The developer
> reports can be included on the site. More on this in another (!) email.
> 
> - the guides from maven/site should be moved to a documentation/ module
> under maven/components/trunk (and also copied to the branch).
> 
> - the documentation will inherit from the site POM and hence site
> descriptor.
> 
> - the documentation will not be versioned on the web site (only the
> reference material). Instead, we need to investigate adding some sort of
> @since markup on documentation so that one version can be relevant for
> all supported releases.
> 
> - maven should change to build the assembly at the root of the project,
> building a src tarball, binary tarball, and a documentation tarball
> (which should include the aggregated javadocs under /reference, and the
> documentation docs under /)
> 
> SVN:
> /repos/asf/maven/
> |-- components/
> |   `-- trunk/
> |       |-- documentation/
> |       |   |-- src/
> |       |   |   `-- site/
> |       |   |       |-- apt/
> |       |   |       |   |-- introductions/
> |       |   |       |   |-- mini/
> |       |   |       |   `-- index.apt
> |       |   |       `-- site.xml (inherits from /site/src/site/site.xml)
> |       |   `-- pom.xml (inherits from ../pom.xml)
> |       |-- maven-artifact/
> |       |   `-- pom.xml (inherits from ../pom.xml)
> |       |-- maven-core/
> |       |   `-- pom.xml (inherits from ../pom.xml)
> |       |-- src/
> |       |   |-- main/
> |       |   |   `-- assembly/
> |       |   |       |-- bin.xml
> |       |   |       `-- src.xml
> |       |   `-- site/
> |       |       |-- apt/
> |       |       |   `-- index.apt
> |       |       `-- site.xml (inherits from /site/src/site/site.xml)
> |       |-- target/
> |       |   |-- assembly-docs/
> |       |   |   |-- guides/
> |       |   |   |   `-- mini/
> |       |   |   |-- reference/
> |       |   |   |   `-- apidocs/
> |       |   |   |       `-- index.html
> |       |   |   `-- index.html
> |       |   |-- maven-2.0.2-bin.tar.gz
> |       |   |-- maven-2.0.2-docs.tar.gz
> |       |   `-- maven-2.0.2-src.tar.gz
> |       `-- pom.xml (inherits from /pom/pom.xml)
> |-- continuum/
> |   `-- trunk/
> |       |-- documentation/
> |       |   |-- src/
> |       |   |   `-- site/
> |       |   |       `-- site.xml (inherits from /site/src/site/site.xml)
> |       |   `-- pom.xml (inherits from ../pom.xml)
> |       `-- pom.xml (inherits from /pom/pom.xml)
> |-- plugins/
> |   `-- trunk/
> |       |-- maven-assembly-plugin/
> |       |   |-- src/
> |       |   |   `-- site/
> |       |   |       `-- site.xml (inherits from ../src/site/site.xml)
> |       |   `-- pom.xml (inherits from ../pom.xml)
> |       |-- src/
> |       |   `-- site/
> |       |       `-- site.xml (inherits from /site/src/site/site.xml)
> |       `-- pom.xml (inherits from /pom/pom.xml)
> |-- pom/
> |   `-- pom.xml (root - eventually inherits from Apache wide pom.xml)
> `-- site/
>     |-- src/
>     |   `-- site/
>     |       `-- site.xml (root - eventually inherits from Apache wide)
>     `-- pom.xml (inherits from /pom/pom.xml)
> 
> Site map:
> maven.apache.org/ (from /site)
> |-- continuum/ (from /continuum/trunk/documentation)
> |   |-- reference/
> |   |   `-- 1.0.2/ (from /continuum/trunk)
> |   |-- index.html
> |   `-- mail-lists.html
> |-- guides/ (from /components/trunk/documentation)
> |   |-- introductions/
> |   |-- mini/
> |   `-- index.html
> |-- plugins/
> |   |-- maven-assembly-plugin/
> |   `-- index.html
> |-- reference/
> |   `-- 2.0.2/ (from /components/trunk)
> |       |-- apidocs/
> |       |   `-- index.html
> |       `-- index.html
> |-- index.html
> `-- mail-lists.html
> 
> Phew!
> 
> - Brett
> 
> Brett Porter wrote:
>> anyone?
>>
>> Brett Porter wrote:
>>> Hi,
>>>
>>> I'd like to suggest we make the following changes to the parent hierarchy:
>>> - maven/site/pom.xml will become the global root POM. It will be
>>> versioned with a single digit (1, 2, etc) incremented whenever it is
>>> changed.
>>> - the parent will contain all the globally true info - the main site
>>> descriptor, the foundation info, base version control, root site descriptor
>>> - maven/components, /continuum, etc will inherit from it.
>>> - the plugin parent will be versioned with a single digit. It will not
>>> contain dependencies or dependency management information. The plugin
>>> API version will be put into every plugin.
>>>
>>> One thing I haven't thought through - how do we best set the project
>>> info for the site.
>>> - Do we put all committers and mailing lists on the main site?
>>> - Do we exclude those reports from the main site, include them in the
>>> product sites?
>>> - Do we aggregate?
>>>
>>> I think we should have all developers listed at the front, same with
>>> mailing lists. I think contributors (which we haven't been adding),
>>> should only be at the product level.
>>>
>>> - Brett
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: [discuss] change to parent hierachy

Posted by Brett Porter <br...@apache.org>.
Here is how I propose this would go now. At the bottom, I have this
mapped out as an SVN tree and a sitemap including Maven, the plugins,
and Continuum.

- global root pom is stored somewhere else in the maven SCM repository.
That could be in the /trunks externals gathering point for convenience,
though maybe /maven or /maven/pom is more appropriate. I expect we'd
rarely change this, except to add new developers or mailing lists. I
think we should still have single digit versioning as described below.

- maven/components, maven/continuum, maven/site, etc will all inherit
from it

- the root site descriptor will be with the root site: maven/site.

- the components parent will inherit from the maven project root, but
the site will inherit from the site root. Here, we need to add this to
the site descriptor since it diverges from the POM inheritance:
 <parent>
   <groupId>org.apache.maven</groupId>
   <artifactId>maven-site</artifactId>
   <version>1</version>
 </parent>
 This means that, logically, the components reference is a sibling to
the user guide, not a subsite. I think that makes sense enough.

- the plugin parent will be versioned with a single digit. It will not
contain dependencies or dependency management information. The plugin
API version will be put into every plugin.

- the plugin parent will inherit from the Maven project root, not the
"components" root.

- the plugin site descriptor will inherit from the maven site
descriptor. At the root will be the generated list of modules. Each will
still deploy as they do now, and can be the latest in SVN. We should add
@since notation to the reference. I don't see multiple versions of the
plugin reference, javadoc, or sources as a need here. The developer
reports can be included on the site. More on this in another (!) email.

- the guides from maven/site should be moved to a documentation/ module
under maven/components/trunk (and also copied to the branch).

- the documentation will inherit from the site POM and hence site
descriptor.

- the documentation will not be versioned on the web site (only the
reference material). Instead, we need to investigate adding some sort of
@since markup on documentation so that one version can be relevant for
all supported releases.

- maven should change to build the assembly at the root of the project,
building a src tarball, binary tarball, and a documentation tarball
(which should include the aggregated javadocs under /reference, and the
documentation docs under /)

SVN:
/repos/asf/maven/
|-- components/
|   `-- trunk/
|       |-- documentation/
|       |   |-- src/
|       |   |   `-- site/
|       |   |       |-- apt/
|       |   |       |   |-- introductions/
|       |   |       |   |-- mini/
|       |   |       |   `-- index.apt
|       |   |       `-- site.xml (inherits from /site/src/site/site.xml)
|       |   `-- pom.xml (inherits from ../pom.xml)
|       |-- maven-artifact/
|       |   `-- pom.xml (inherits from ../pom.xml)
|       |-- maven-core/
|       |   `-- pom.xml (inherits from ../pom.xml)
|       |-- src/
|       |   |-- main/
|       |   |   `-- assembly/
|       |   |       |-- bin.xml
|       |   |       `-- src.xml
|       |   `-- site/
|       |       |-- apt/
|       |       |   `-- index.apt
|       |       `-- site.xml (inherits from /site/src/site/site.xml)
|       |-- target/
|       |   |-- assembly-docs/
|       |   |   |-- guides/
|       |   |   |   `-- mini/
|       |   |   |-- reference/
|       |   |   |   `-- apidocs/
|       |   |   |       `-- index.html
|       |   |   `-- index.html
|       |   |-- maven-2.0.2-bin.tar.gz
|       |   |-- maven-2.0.2-docs.tar.gz
|       |   `-- maven-2.0.2-src.tar.gz
|       `-- pom.xml (inherits from /pom/pom.xml)
|-- continuum/
|   `-- trunk/
|       |-- documentation/
|       |   |-- src/
|       |   |   `-- site/
|       |   |       `-- site.xml (inherits from /site/src/site/site.xml)
|       |   `-- pom.xml (inherits from ../pom.xml)
|       `-- pom.xml (inherits from /pom/pom.xml)
|-- plugins/
|   `-- trunk/
|       |-- maven-assembly-plugin/
|       |   |-- src/
|       |   |   `-- site/
|       |   |       `-- site.xml (inherits from ../src/site/site.xml)
|       |   `-- pom.xml (inherits from ../pom.xml)
|       |-- src/
|       |   `-- site/
|       |       `-- site.xml (inherits from /site/src/site/site.xml)
|       `-- pom.xml (inherits from /pom/pom.xml)
|-- pom/
|   `-- pom.xml (root - eventually inherits from Apache wide pom.xml)
`-- site/
    |-- src/
    |   `-- site/
    |       `-- site.xml (root - eventually inherits from Apache wide)
    `-- pom.xml (inherits from /pom/pom.xml)

Site map:
maven.apache.org/ (from /site)
|-- continuum/ (from /continuum/trunk/documentation)
|   |-- reference/
|   |   `-- 1.0.2/ (from /continuum/trunk)
|   |-- index.html
|   `-- mail-lists.html
|-- guides/ (from /components/trunk/documentation)
|   |-- introductions/
|   |-- mini/
|   `-- index.html
|-- plugins/
|   |-- maven-assembly-plugin/
|   `-- index.html
|-- reference/
|   `-- 2.0.2/ (from /components/trunk)
|       |-- apidocs/
|       |   `-- index.html
|       `-- index.html
|-- index.html
`-- mail-lists.html

Phew!

- Brett

Brett Porter wrote:
> anyone?
> 
> Brett Porter wrote:
>> Hi,
>>
>> I'd like to suggest we make the following changes to the parent hierarchy:
>> - maven/site/pom.xml will become the global root POM. It will be
>> versioned with a single digit (1, 2, etc) incremented whenever it is
>> changed.
>> - the parent will contain all the globally true info - the main site
>> descriptor, the foundation info, base version control, root site descriptor
>> - maven/components, /continuum, etc will inherit from it.
>> - the plugin parent will be versioned with a single digit. It will not
>> contain dependencies or dependency management information. The plugin
>> API version will be put into every plugin.
>>
>> One thing I haven't thought through - how do we best set the project
>> info for the site.
>> - Do we put all committers and mailing lists on the main site?
>> - Do we exclude those reports from the main site, include them in the
>> product sites?
>> - Do we aggregate?
>>
>> I think we should have all developers listed at the front, same with
>> mailing lists. I think contributors (which we haven't been adding),
>> should only be at the product level.
>>
>> - Brett
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: [discuss] change to parent hierachy

Posted by Brett Porter <br...@apache.org>.
anyone?

Brett Porter wrote:
> Hi,
> 
> I'd like to suggest we make the following changes to the parent hierarchy:
> - maven/site/pom.xml will become the global root POM. It will be
> versioned with a single digit (1, 2, etc) incremented whenever it is
> changed.
> - the parent will contain all the globally true info - the main site
> descriptor, the foundation info, base version control, root site descriptor
> - maven/components, /continuum, etc will inherit from it.
> - the plugin parent will be versioned with a single digit. It will not
> contain dependencies or dependency management information. The plugin
> API version will be put into every plugin.
> 
> One thing I haven't thought through - how do we best set the project
> info for the site.
> - Do we put all committers and mailing lists on the main site?
> - Do we exclude those reports from the main site, include them in the
> product sites?
> - Do we aggregate?
> 
> I think we should have all developers listed at the front, same with
> mailing lists. I think contributors (which we haven't been adding),
> should only be at the product level.
> 
> - Brett
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org