more updates to docs

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@320958 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2005-10-14 01:09:16 +00:00
parent 61d71e17ff
commit 5421754a17
9 changed files with 129 additions and 31 deletions

View File

@ -22,6 +22,7 @@
<filters>
<filter>src/main/filters/filters.properties</filter>
</filters>
<outputDirectory>${pom.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>

View File

@ -8,14 +8,17 @@
Documentation
* Guides
* Getting Started Guide
* {{{getting-started/index.html}Getting Started Guide}}
* {{{plugin/guide-plugin-development.html}Plug-in Developer's Guide}}
* Developer Guides
* {{{development/guide-m2-development.html}Guide to Developing Maven 2.x}}
* {{{development/guide-building-m2.html}Guide to Building Maven 2.x}}
* Plug-in Guides
* {{{plugin/guide-plugin-development.html}Plug-in Developer's Guide}}

View File

@ -15,6 +15,26 @@ What is Archetype?
provides a consistent means of generating Maven projects. Archetype will help authors create
Maven project templates for users, and provides users with the means to generate parameterized versions
of those project templates.
Using archetypes provides a great way to enable developers quickly in a way consistent with best practices employed
by your project or organization. Within the Maven project we use archetypes to try and get our users up and running
as quickly as possible by providing a sample project that demonstrates many of the features of Maven while introducing
new users to the best practices employed by Maven. In a matter of seconds a new user can have a working Maven project
to use a jumping board for investigating more of the features in Maven. We have also tried to make the Archetype
mechanism additive and by that we mean allowing portions of a project to captured in an archetype so that pieces
or aspects of a project can be added to existing projects. A good example of this is the Maven site archetype.
If, for example, you have used the quick start archetype to generate a working project you can then quickly
create a site for that project by using the site archetype within that existing project. You can do anything like
this with archetypes.
You may want to standardize J2EE development within your organization so you may want to provide archetypes
for EJBs, or WARs, or for your web services. Once these archetypes are created and deployed in your organizations
repository they are available for use by all developers within your organization.
* What makes up an Archetype?
Archetypes are packaged up in a JAR and they consist of the archetype metadata which describes the contents of
archetype and a set of {{{http://jakarta.apache.org/velocity}Velocity}} templates which make up the prototype
project. If you would like to know how to make your archetypes please refer to our
{{{../mini/guide-creating-archetypes.html}Guide to creating archetypes}}.

View File

@ -1,36 +1,97 @@
------
Introduction to Dependency Management
Introduction to dependency management
------
Jason van Zyl
------
12 October 2005
------
Introduction to Dependency Management
Introduction to dependency management
* How to Maintain Versions of Dependencies
Dependency management is one of the features of Maven that is best know to users and is one of the areas where
Maven excels. There is not much difficulty in managing dependencies for a single a project, but when you start
getting into dealing with multi-module projects and applications that consist of tens or hundreds of modules this
is where Maven can help you a great deal in maintaining a high degree of control and stability.
In a multi-project
* How to maintain versions of dependencies in a multi-module
so using something as geronimo/continuum/cargo as an example i can document that placing all deps used by the overall project in a TLP depMan section is the way to go?
+----+
o use TLP for all deps used in a project
o in each project declare the dep and using groupId/artifactId and scope
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Application</name>
<url>http://app.mycompany.com</url>
if you provide exclusions in your dependency, and exclusions in your depMgmt, the exclusions are NOT merged...local always wins
<jdcasey> it's only an issue for exclusions, because it's a complex element
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<!-- Will the scope be inherited? -->
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
so exclusions in the depMan element at the parent level and child level are not merged? is that correct?
<jason> and the child level will win for a given dependency?
<jdcasey> um, not sure how that works...haven't looked at it, but I believe that's correct...
<jdcasey> I'd have to look at the code
+----+
and injection only happens if there isn't something in the way
<jdcasey> :)
+----+
injection in depMan
<project>
<parent>
<groupId>com.mycompany.app</groupId>
<artifactId>app</artifactId>
<!-- how to manage this version -->
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>app-module-foo</artifactId>
<packaging>jar</packaging>
<!-- Is this inherited -->
<version>1.0-SNAPSHOT</version>
<name>Application Foo Module</name>
-----
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
-----
+----+
+----+
<project>
<parent>
<groupId>com.mycompany.app</groupId>
<artifactId>app</artifactId>
<!-- how to manage this version -->
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>app-module-foo</artifactId>
<packaging>jar</packaging>
<!-- Is this inherited -->
<version>1.0-SNAPSHOT</version>
<name>Application Foo Module</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
+----+
~~ Exclusions in depMan and exclusions in child dep are not merged
~~ What other gotchas?

View File

@ -6,7 +6,8 @@
12 October 2005
------
* repoclean
~~ merge in the m1 FAQ
~~ repoclean
** Projects using multiproject or project properties
@ -21,4 +22,4 @@
http://blogs.codehaus.org/people/vmassol/archives/001170_javazone_2005.html
~~ doco coming from jay hartley
~~ doco coming from jay hartley

View File

@ -6,6 +6,8 @@
12 October 2005
-----
~~ integrate releasing document
Releasing
The release plugin provides some basic functionality for making releases, and updating

View File

@ -1,5 +1,5 @@
------
Generating a Site
Guide to creating a site
------
Brett Porter
Jason van Zyl
@ -7,7 +7,7 @@
13 May 2005
------
Building a Site
Creating a site
* Creating Content

View File

@ -8,17 +8,20 @@
Documentation
* Guides
* Getting Started Guide
* {{{getting-started/index.html}Getting Started Guide}}
* {{{plugin/guide-plugin-development.html}Plug-in Developer's Guide}}
* Developer Guides
* {{{development/guide-m2-development.html}Guide to Developing Maven 2.x}}
* {{{development/guide-building-m2.html}Guide to Building Maven 2.x}}
* Plug-in Guides
* {{{plugin/guide-plugin-development.html}Plug-in Developer's Guide}}
* Mini Guides
* {{{mini/guide-apt-format.html}Guide to the APT Format}}
@ -63,6 +66,10 @@ Documentation
* {{{mini/guide-proxies.html}Guide to using proxies}}
* {{{mini/guide-releasing.html}Guide to Releasing}}
* {{{mini/guide-site.html}Guide to creating a site}}
* {{{mini/guide-test-customization.html}Guide to test customization}}
* {{{mini/guide-using-extensions.html}Guide to using Extensions}}
@ -74,7 +81,7 @@ Documentation
* {{{introduction/introduction-to-archetypes.html}Introduction to Archetypes}}
* {{{introduction/introduction-to-dependency-management.html}Introduction to Dependency Management}}
* {{{introduction/introduction-to-dependency-management.html}Introduction to dependency management}}
* {{{introduction/introduction-to-repositories.html}Introduction to Repositories}}

View File

@ -42,6 +42,7 @@
</menu>
-->
<!--
<menu name="Plugin Developers">
<item name="Plugin Development Guide" href="/developers/plugin-development-guide.html"/>
</menu>
@ -50,6 +51,8 @@
<item name="Documentation Needed" href="/docs-required.html"/>
<item name="Building Maven 2.0" href="/developers/building.html"/>
</menu>
-->
<menu name="Reference">
<item name="Project Descriptor" href="/maven-model/maven.html"/>
<item name="Settings Descriptor" href="/maven-settings/settings.html"/>