o Adding a part on how to get into development of m2 itself.

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@231258 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Trygve Laugstol 2005-08-10 15:06:03 +00:00
parent 7fa0cc72c3
commit 6db67ef76e
6 changed files with 134 additions and 21 deletions

View File

@ -53,7 +53,11 @@ svn co http://svn.apache.org/repos/asf/maven/components/trunk maven-components
----
export M2_HOME=/usr/local/maven-2.0-SNAPSHOT
PATH=$M2_HOME/bin:$PATH
----
or
----
set M2_HOME=c:\maven-2.0-SNAPSHOT
set PATH=%M2_HOME%\bin;%PATH%
----
@ -62,7 +66,11 @@ set PATH=%M2_HOME%\bin;%PATH%
----
sh m2-bootstrap-all.sh
----
or
----
m2-bootstrap-all.bat
----
@ -79,5 +87,3 @@ m2-bootstrap-all.bat
If you have any problems or get any failures during the run, please report them to the
{{{/mail-lists.html} Maven Developers List}}.

View File

@ -2,11 +2,12 @@
Development Guide
------
Emmanuel Venisse
Trygve Laugstol
------
8 July 2005
------
~~ Copyright 2001-2004 The Apache Software Foundation.
~~ Copyright 2005 The Apache Software Foundation.
~~
~~ Licensed under the Apache License, Version 2.0 (the "License");
~~ you may not use this file except in compliance with the License.
@ -20,9 +21,116 @@ Emmanuel Venisse
~~ See the License for the specific language governing permissions and
~~ limitations under the License.
Subversion configuration
Developing Maven 2
Before committing files in subversion repository, you need to read the
{{{http://www.apache.org/dev/version-control.html#https-svn}Committer Subversion Access}}
document and you must set your svn client
with these properties file : {{svn-eol-style.txt}}
This document describes how to get started into developing Maven 2 itself. There is a separate page describing how
to {{{building.html}building Maven 2}}.
* Finding some work to do
First of all you need something to work on! Unless you have found a particular issue you would like to work on
the Maven team has categorized a few issues that we could use <your> help to solve them. The list is on our
{{{http://docs.codehaus.org/display/MAVEN/How+to+help}Conflucene wiki}} and will be updated every 60 minutes.
JIRA also has RSS feeds available if you'd like to include those in your favorite feed aggregator.
We categorize the issues in three different categories:
* <<Noice>>: No previous exposure to the code needed.
<({{{http://jira.codehaus.org/secure/IssueNavigator.jspa?view=rss&pid=10500&resolutionIds=-1&customfield_10010=Novice&sorter/field=priority&sorter/order=ASC&sorter/field=issuekey&sorter/order=ASC&tempMax=25&reset=true&decorator=none}rss feed}})>
* <<Intermediate>>: Exposure to Maven pluins and/or internals required.
<({{{http://jira.codehaus.org/secure/IssueNavigator.jspa?view=rss&pid=10500&resolutionIds=-1&customfield_10010=Intermediate&sorter/field=priority&sorter/order=ASC&sorter/field=issuekey&sorter/order=ASC&tempMax=25&reset=true&decorator=none}rss feed}})>
* <<Expert>>: Good knowledge of Maven internals and it's dependencies required.
<({{{http://jira.codehaus.org/secure/IssueNavigator.jspa?view=rss&pid=10500&resolutionIds=-1&customfield_10010=Expert&sorter/field=priority&sorter/order=ASC&sorter/field=issuekey&sorter/order=ASC&tempMax=25&reset=true&decorator=none}rss feed}})>
[]
When you find a issue you would like to work on add a comment in the issue log so the core developers and other
people looking for work know that someone is already working on it.
* Creating and submitting a patch
When you have either completed an issue or just want some feedback on the work you have done, create a patch
and attache the patch to the issue in question. We have a couple of guidelines when creating patches:
* Always create the patch from the root of the maven project, i.e. where the pom.xml file is.
* Name the file <<<MNG-<issue number>-<artifact id>.patch>>>.
[]
An example on how to create a patch from the command line:
---
$ svn diff > MNG-123-maven-core.patch
---
If you are picking up an issue with a existing patch attached to the issue you can apply the patch to your working
directory directly from JIRA like this. The <<<wget>>> and <<<patch>>> commands will only be available if you are
on a UNIX platform or Cygwin on windows.
---
$ wget -O - -q <URL to the patch from JIRA> | patch -p0
---
If the patch is in a local file <<<MNG-123.patch>>> and you want to apply that use this command:
---
$ patch -p0 < MNG-123.patch
---
* Other useful Subversion commands while developing
If you've done a chunk of work and you would like ditch your changes and start from scratch use this command to
revert to the original checkout:
---
$ svn revert -R .
---
The <<<-R>>> argument means that the command will recurse down all directories and revert all changes.
Before committing code to the Subversion repository we always set the <<<svn:ignore>>> property on the directory
to prevent some files and directories to be checked in. We always exclude the IDE project files and the <<<target/>>>
directory. Instead of keeping all of the excludes in mind all the time it's useful to put them all in a file and
reference the file with the <<<-F>>> option:
---
$ svn propset . svn:ignore -F ~/bin/svnignore
---
An example svnignore file:
---
target
*~
*.log
.classpath
.project
*.ipr
*.iws
*.iml
---
* Dependent Projects
Maven 2 has a few dependencies on other projects. TODO: Write more details here.
* Modello
* Surefire
* Plexus
* Doxia
* Mojo
* Subversion Configuration
Before committing files in subversion repository, you need to read the
{{{http://www.apache.org/dev/version-control.html#https-svn}Committer Subversion Access}}
document and you must set your svn client
with these properties file : {{svn-eol-style.txt}}

View File

@ -135,7 +135,7 @@
</p>
<p>
For instructions on checking out and building Maven 2.0, see
<a href="building.html">Building Maven 2.0</a>.
<a href="/developers/building.html">Building Maven 2.0</a>.
</p>
<p>
For more information, please see

View File

@ -107,7 +107,7 @@
The source code can be found in subversion: <a href="http://svn.apache.org/repos/asf/maven/components/trunk">http://svn.apache.org/repos/asf/maven/components/trunk</a>.
</p>
<p>
For more information, see <a href="building.html">Building Maven 2.0</a>.
For more information, see <a href="/developers/building.html">Building Maven 2.0</a>.
</p>
</answer>
</faq>

View File

@ -40,6 +40,11 @@
<item name="Plugin Development Guide" href="/developers/plugin-development-guide.html"/>
<item name="Developing Plugins with Marmalade" href="/developers/developing-plugins-with-marmalade.html"/>
</menu>
<menu name="Developers">
<item name="Developers Guide" href="/developers/development-guide.html"/>
<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"/>
@ -49,10 +54,5 @@
<item name="APT Reference" href="/apt-format.html"/>
</menu>
${reports}
<menu name="Developers">
<item name="Developers Guide" href="/developers/development-guide.html"/>
<item name="Documentation Needed" href="/docs-required.html"/>
<item name="Building Maven 2.0" href="/building.html"/>
</menu>
</body>
</project>

View File

@ -169,7 +169,7 @@
</li>
<li>
<i>How do I
<a href="building.html">build Maven 2.0</a>?
<a href="/developers/building.html">build Maven 2.0</a>?
</i>
</li>
<li>
@ -182,4 +182,3 @@
</section>
</body>
</document>