starting the reorg

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@295081 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2005-10-05 18:53:57 +00:00
parent 79cad82736
commit bdfa5a4812
16 changed files with 180 additions and 101 deletions

View File

@ -6,41 +6,6 @@
12 October 2005
-----
Guides
* Guide to using multiple repositories
There are two different ways that you can specify the use of multiple repositories. The first
is to specify
+----+
<project>
...
<repositories>
<repository>
<id>my-repo1</id>
<name>your custom repo</name>
<url>http://jarsm2.dyndns.dk</url>
</repository>
<repository>
<id>my-repo2</id>
<name>your custom repo</name>
<url>http://jarsm2.dyndns.dk</url>
</repository>
</repositories>
...
</project>
+----+
if you specify repositories in profiles you must remember to activate that
particular profile! and the use of mirrors
*
* Guide to using project properties
Actually, no. It's *like* the properties defined in profiles in syntax,
@ -58,19 +23,6 @@ the <project> element. So:
+----+
* Guide to project inheritance
Profile inheritance the same as standard inheritence and resources sets are currently not
inherited.
DefaultModelInheritenceAssembler.
Merged:
- dependencies
- developers and contributors
- plugin lists (including reports)
- plugin executions with matching ids
- plugin configuration
* Guide to system properties
@ -115,59 +67,13 @@ support ntmlv2:
http://www.mail-archive.com/httpclient-dev@jakarta.apache.org/msg01861.html
==
Using extensions and why they are needed.
==
How to use Ant constructs from m2.
==
* How maven's classloaders work
To add a bit of detail for a volunteer to submit as documentation... :)
m2/core/boot is what is in the java classpath (ie, just classworlds,
which constructs classloaders for the rest of the system)
the top level classloader contains plexus container and plexus utils
(see m2/core), and also has access to classworlds
the next classloader has the libraries in m2/lib (a bug in beta 1
incorporated commons-logging and -lang, sorry about that!) In general
these are just maven libraries. We hope to further separate these in
future to just be maven apis.
after that, each plugin has its own classloader, including its
dependencies, itself, and the libraries above. It *does not* contain
the project dependencies like in m1, but instead has access to a list
of JAR files in case they are needed.
In addition, a project can list "extensions". These are loaded into
the same place as m2/lib and so available to the maven core and all
plugins for the currnet project and subsequent projects (in future, we
plan to remove it from subsequent projects).
==
How artifact resolution works, this would be a long one more advanced in
scope.
==
==
When creating your own lifecycles:
This is a missing instruction on the build lifecycle page. You need to
add the plugin to the project, <extensions>true</extensions>
==
How snapshots works
==
@ -228,10 +134,6 @@ How to modify the manifest.
~~ * How do I deal with a dependency that is already supplied by my runtime?
~~* How do I deploy my jar in Ibiblio?
~~* How do I internationalize my site?
+-----+
~~ How to do a test release and deployment. Trying to work through this with raphael at the moment.

View File

@ -14,6 +14,8 @@ Introduction to the POM
o Explain the notion of the Super POM
o Show what a minimal POM can look like
* {{Super POM}}
%{snippet|id=superpom|url=http://svn.apache.org/repos/asf/maven/components/trunk/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml}
+-----+
@ -35,3 +37,20 @@ Introduction to the POM
</project>
+-----+
* Project Inheritance
Elements in the POM that are merged are the following:
* dependencies
* developers and contributors
* plugin lists (including reports)
* plugin executions with matching ids
* plugin configuration
<<NOTE:>> Profile inheritance the same inheritance strategy as used for the POM itself.

View File

@ -1,5 +1,5 @@
------
Configuring Deployment Security Settings
Guide to Deployment and Security Settings
------
Jason van Zyl
------

View File

@ -0,0 +1,7 @@
------
Guide
------
Jason van Zyl
------
12 October 2005
------

View File

@ -0,0 +1,32 @@
------
Guide to Maven Classloading
------
Jason van Zyl
------
12 October 2005
------
How maven's classloaders work
To add a bit of detail for a volunteer to submit as documentation... :)
m2/core/boot is what is in the java classpath (ie, just classworlds,
which constructs classloaders for the rest of the system)
the top level classloader contains plexus container and plexus utils
(see m2/core), and also has access to classworlds
the next classloader has the libraries in m2/lib (a bug in beta 1
incorporated commons-logging and -lang, sorry about that!) In general
these are just maven libraries. We hope to further separate these in
future to just be maven apis.
after that, each plugin has its own classloader, including its
dependencies, itself, and the libraries above. It *does not* contain
the project dependencies like in m1, but instead has access to a list
of JAR files in case they are needed.
In addition, a project can list "extensions". These are loaded into
the same place as m2/lib and so available to the maven core and all
plugins for the currnet project and subsequent projects (in future, we
plan to remove it from subsequent projects).

View File

@ -1,5 +1,5 @@
------
Configuring Mirror Settings
Guide to Mirror Settings
------
Jason van Zyl
------

View File

@ -0,0 +1,86 @@
------
Guide to using Multiple Repositories
------
Jason van Zyl
------
12 October 2005
------
Setting up Multiple Repositories
There are two different ways that you can specify the use of multiple repositories. The first
way is to specify in a POM which repositories you want to use:
+----+
<project>
...
<repositories>
<repository>
<id>my-repo1</id>
<name>your custom repo</name>
<url>http://jarsm2.dyndns.dk</url>
</repository>
<repository>
<id>my-repo2</id>
<name>your custom repo</name>
<url>http://jarsm2.dyndns.dk</url>
</repository>
</repositories>
...
</project>
+----+
The <<<repositories>>> element is inherited so you would usually specify the repositories
to use for a group of projects by defining a <<<repositories>>> element at the top of your
inheritance chain.
<<NOTE:>> You will also get the standard set of repositories as defined in the
{{{../getting-started/introduction-to-the-pom.html#Super POM}Super POM}}.
The other way you can specify the use of multiple repositories by creating a profile in
your <<<~/.m2/settings.xml>>> file like the following:
+----+
<settings>
...
<profiles>
...
<profile>
<id>myprofile</id>
<repositories>
<repository>
<id>my-repo2</id>
<name>your custom repo</name>
<url>http://jarsm2.dyndns.dk</url>
</repository>
</repositories>
</profile>
...
</profiles>
<activeProfiles>
<activeProfile>myprofile</activeProfile>
</activeProfiles>
...
</settings>
+----+
If you specify repositories in profiles you must remember to activate that
particular profile! As you can see above we do this by registering a profile
to be active in the <<<activeProfiles>>> element.
You could also activate this profile on the command like by executing the following
command:
+----+
m2 -Pmyprofile ...
+----+
In fact the <<<-P>>> option will take a CSV list of profiles to activate if you wish to
activate multiple profiles simultaneously.

View File

@ -1,5 +1,5 @@
------
Configuring Proxy Settings
Guide to Proxy Settings
------
Jason van Zyl
------

View File

@ -0,0 +1,7 @@
------
Guide
------
Jason van Zyl
------
12 October 2005
------

View File

@ -0,0 +1,17 @@
------
Guide to using Extensions
------
Jason van Zyl
------
12 October 2005
------
Using Extensions
* Maven Wagon Providers
* Maven SCM Providers
* Plug-ins that define their own lifecycle
When creating your own lifecycles:
This is a missing instruction on the build lifecycle page. You need to
add the plugin to the project, <extensions>true</extensions>

View File

@ -0,0 +1,9 @@
------
Maven Mini Guides
------
Jason van Zyl
------
12 October 2005
------
Maven Mini Guides