mirror of https://github.com/apache/maven.git
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:
parent
7fa0cc72c3
commit
6db67ef76e
|
@ -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}}.
|
||||
|
||||
|
|
@ -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,7 +21,114 @@ Emmanuel Venisse
|
|||
~~ See the License for the specific language governing permissions and
|
||||
~~ limitations under the License.
|
||||
|
||||
Subversion configuration
|
||||
Developing Maven 2
|
||||
|
||||
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}}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
Loading…
Reference in New Issue