blob: 70a8a21b589c4b8a0cca078da79ac1c2e0e623f6 [file] [log] [blame]
-----
Building Archiva
-----
-----
2017-08-01
-----
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/guides/mini/guide-apt-format.html
Building Archiva
To build the very latest code available...
[[1]] Check out the source code as described on the {{{../source-repository.html}Source Repository}} page.
[[2]] In the 'parent' directory, execute <<<mvn clean install>>> to build the parent pom. (only needed if we depend on a new parent)
[[3]] In the 'archiva' directory, execute <<<mvn clean install>>> to build the Archiva modules and distribution.
[]
After the build completes, you can find the Archiva distribution in <<<archiva-jetty/target>>> and the Archiva
webapp in <<<archiva-modules/archiva-web/archiva-webapp/target>>>
Usually, it's that simple. :) Occasionally, Archiva may depend on a snapshot of another project such as
{{{http://archiva.apache.org/redback}Redback}}, and you may need to build that first, or configure a snapshot repository.
If you're having trouble building Archiva, ask on the {{{../mail-lists.html}Development mailing list}} and we'll point
you in the right direction.
Merging Github Pull requests
When somebody creats a pull request for archiva on github an email is sent to the developer list.
First review the changes and check for style and impact of the changes. And check the build on the jenkins
server for this pull request (archiva-master-build-pr-builder).
If you have not added the github repository to your git config do the following:
+--
git remote add github https://github.com/apache/archiva.git
+--
When review and jenkins build are OK, then checkout the pull request branch:
+--
ID=30 # Set this to the number of the pull request
git fetch github pull/${ID}/head:pr-${ID}
git checkout pr-${ID}
mvn clean install
+--
And merge into the master. If a JIRA ticket is opened for this, add the ticket number to the commit message.
+--
git checkout master
git merge pr-${ID}
mvn clean install
git push # If all is going fine
+--
Documentation
The version-specific documentation for the latest version of Archiva can be found in <<<archiva/archiva-docs>>>,
and the top-level Archiva website --including the page you're reading now -- is in the <<<site>>> directory.
To work on the documentation, execute <<<mvn site:run>>> in one of these directories, and then visit
{{http://localhost:8080}} to view pages as you edit them. When you're done, submit a patch in the
{{{../issue-tracking.html}issue tracker}}.
git clone
+--
git clone git://github.com/apache/archiva.git
or trough https
git clone https://github.com/apache/archiva.git
+--
Running Javascript webapp with jetty-maven-plugin
You can use {{{https://www.eclipse.org/jetty/documentation/current/maven-and-jetty.html}jetty-maven-plugin}} to run the webapp without installing
the war in a container.
With maven3 in the top directory :
+--
mvn jetty:run -pl :archiva-webapp -am # use mvnDebug if you want to attach a debugger
or
sh ./jetty.sh # use sh ./jetty-debug.sh if you want to attach a debugger
+--
Hit your browser: {{http://localhost:9091/archiva/index.html}}