diff options
Diffstat (limited to 'archiva-docs/src/site/xdoc')
-rw-r--r-- | archiva-docs/src/site/xdoc/hacking/index.xml | 394 | ||||
-rw-r--r-- | archiva-docs/src/site/xdoc/tour/admin.xml | 26 | ||||
-rw-r--r-- | archiva-docs/src/site/xdoc/tour/index.xml | 78 | ||||
-rw-r--r-- | archiva-docs/src/site/xdoc/tour/project.xml | 26 | ||||
-rw-r--r-- | archiva-docs/src/site/xdoc/tour/proxy.xml | 26 | ||||
-rw-r--r-- | archiva-docs/src/site/xdoc/tour/reports.xml | 26 | ||||
-rw-r--r-- | archiva-docs/src/site/xdoc/tour/search.xml | 26 | ||||
-rw-r--r-- | archiva-docs/src/site/xdoc/tour/security.xml | 26 |
8 files changed, 628 insertions, 0 deletions
diff --git a/archiva-docs/src/site/xdoc/hacking/index.xml b/archiva-docs/src/site/xdoc/hacking/index.xml new file mode 100644 index 000000000..75df98742 --- /dev/null +++ b/archiva-docs/src/site/xdoc/hacking/index.xml @@ -0,0 +1,394 @@ +<?xml version="1.0"?> +<!-- + ~ 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. + --> + +<document> + <properties> + <title>Hacking Maven Archiva</title> + </properties> + <body> + <section name="Hacking Maven Archiva"> + <div class="p"> + So, you wanna start hacking away at Archiva huh? + </div> + + <div class="p"> + These pages are for you! + </div> + + <div class="p"> + Be sure to read the sections for Database, Configuration, and + Concepts. Beyond that, the + <a href="../ref/latest/apidocs/index.html">Javadoc</a> + is your friend. + </div> + + <div class="p"> + Developer reference docs for the latest snapshot + can be found starting + <a href="../ref/latest/index.html">here</a>. + </div> + + <div class="p"> + If you don't see the topic covered here, ask! Ask in the + <a href="../mail-lists.html">archiva-dev mailing list</a>, + or in the <a href="irc://irc.codehaus.org/#archiva">#archiva</a> + irc channel. + </div> + + <subsection name="Getting the Source Code"> + <p> + First, you'll need the source code. It is stored in subversion on + the public svn.apache.org site. You can use the + <a href="/source-repository.html">basic subversion access steps</a>, + or follow the steps below... + </p> + +<pre class="commandline"> +<span class="input">[code]$ <span class="command">svn checkout http://svn.apache.org/repos/asf/maven/archiva/trunk archiva</span></span> +A archiva/archiva-database +A archiva/archiva-database/src +A archiva/archiva-database/src/test +A archiva/archiva-database/src/test/java +... (snip hundreds of checkout entries) ... +A archiva/archiva-scheduled/src/main/resources/META-INF/plexus +A archiva/archiva-scheduled/src/main/resources/META-INF/plexus/components.xml +A archiva/archiva-scheduled/pom.xml + U archiva +Checked out revision 539934. + +<span class="input">[code]$ <span class="command">ls</span></span> +archiva + +<span class="input">[code]$ <span class="command">cd archiva</span></span> + +<span class="input">[code/archiva]$ <span class="command">ls</span></span> +archiva-base/ archiva-reporting/ archiva-web/ maven-meeper/ +archiva-cli/ archiva-scheduled/ archiva-workflow/ pom.xml +archiva-database/ archiva-site/ design/ +</pre> + </subsection> + + <subsection name="The Tools"> + <p> + You will need the following tools. + </p> + <ul> + <li>Maven 2.0.5 (or newer)</li> + <li>Java SDK 1.5.0_10 (or newer)</li> + <li>An IDE (or plain editor) of your choice.</li> + </ul> + </subsection> + + <subsection name="Building Archiva"> + <p> + Archiva uses the Maven tool suite to do all things within + the build. (compile, test, archive, install, deploy, etc...) + The standard goals apply here. + </p> + <p> + There are 2 non-distributable artifacts in use within archiva, + that cannot be placed on the public / global repository system + by anyone but Sun. In order to build archiva, you will need to + manually install these artifact into your local repository. + Follow the steps below. + </p> + <ul> + <li>The <code>javax.resource:connector:1.0:jar</code> artifact</li> + <ol> + <li>Download the 1.0 connector zip from: <a href="http://java.sun.com/j2ee/connector/download.html">http://java.sun.com/j2ee/connector/download.html</a></li> + <li>Unpack the zip to gain access to the jar file.</li> + <li>Install it: <code>mvn install:install-file -DgroupId=javax.resource -DartifactId=connector -Dversion=1.0 -Dpackaging=jar -Dfile=connector.jar</code></li> + </ol> + <li>The <code>javax.transaction:jta:1.0.1B:jar</code> artifact</li> + <ol> + <li>Download the 1.0.1B jta zip from: <a href="http://java.sun.com/products/jta/">http://java.sun.com/products/jta/</a></li> + <li>Install it: <code>mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1_0_1B-classes.zip</code></li> + </ol> + </ul> + </subsection> + + <subsection name="Compile / Test"> + <p> + Archiva uses the standard maven goals. Use them. + </p> +<pre class="commandline"> +<span class="input">[archiva]$ <span class="command">mvn clean install</span></span> +[INFO] Scanning for projects... +[INFO] Reactor build order: +[INFO] Archiva + +... (snip output) ... + +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESSFUL +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 4 minutes 29 seconds +[INFO] Finished at: Sun May 20 17:00:09 EDT 2007 +[INFO] Final Memory: 50M/61M +[INFO] ------------------------------------------------------------------------ +</pre> + + <p> + NOTE: Your first compile will take the longest, as maven will + download all the missing dependencies into your local repository + at this point. + </p> + </subsection> + + <subsection name="Running Archiva"> + <p> + You have a few ways (in development time) to run archiva. + </p> + + <ul> + <li> + <p>Using the jetty:run plugin w/default settings.</p> + +<pre class="commandline"> +<span class="input">[archiva]$ <span class="command">cd archiva-web/archiva-webapp</span></span> + +<span class="input">[archiva-webapp]$ <span class="command">mvn clean jetty:run</span></span> +[INFO] Scanning for projects... +[INFO] Searching repository for plugin with prefix: 'jetty'. +[INFO] --------------------------------------------------------------------- +[INFO] Building Archiva Web :: Application +[INFO] task-segment: [clean, jetty:run] +[INFO] --------------------------------------------------------------------- +[INFO] [clean:clean] + +... ( snip lots of output ) ... + +2007-05-20 18:47:49.790:/:INFO: Initializing org.codehaus.plexus.webdav.simple.SimpleDavServerComponent +2007-05-20 18:47:49.813::INFO: Started SelectChannelConnector @ 0.0.0.0:9091 +[INFO] Started Jetty Server +[INFO] Starting scanner at interval of 10 seconds. +</pre> + <p>At this point you can use your browser to goto <a href="http://localhost:9091/">http://localhost:9091/</a></p> + </li> + + <li>Using the jetty:run plugin w/mysql settings. + +<pre class="commandline"> +<span class="input">[archiva]$ <span class="command">cd archiva-web/archiva-webapp</span></span> + +<span class="input">[archiva-webapp]$ <span class="command">mvn -Pmysql clean jetty:run</span></span> +[INFO] Scanning for projects... +[INFO] Searching repository for plugin with prefix: 'jetty'. +[INFO] --------------------------------------------------------------------- +[INFO] Building Archiva Web :: Application +[INFO] task-segment: [clean, jetty:run] +[INFO] --------------------------------------------------------------------- +[INFO] [clean:clean] + +... ( snip lots of output ) ... + +2007-05-20 18:47:49.790:/:INFO: Initializing org.codehaus.plexus.webdav.simple.SimpleDavServerComponent +2007-05-20 18:47:49.813::INFO: Started SelectChannelConnector @ 0.0.0.0:9091 +[INFO] Started Jetty Server +[INFO] Starting scanner at interval of 10 seconds. +</pre> + </li> + <li>Using the built plexus-application standalone binary. + +<pre class="commandline"> +<span class="input">[archiva]$ <span class="command">cd archiva-web/archiva-standalone/archiva-plexus-runtime/target</span></span> + +<span class="input">[target]$ <span class="command">tar -zxvf archiva-1.0-alpha-1-SNAPSHOT-bin.tar.gz</span></span> + +<span class="input">[target]$ <span class="command">cd archiva-1.0-alpha-1-SNAPSHOT/bin</span></span> + +<span class="input">[bin]$ <span class="command">ls</span></span> +linux-x86-32 plexus.bat solaris-sparc-64 +linux-x86-64 plexus.sh solaris-x86-32 +macosx-universal-32 solaris-sparc-32 windows-x86-32 + +<span class="input">[bin]$ <span class="command">cd linux-x86-32</span></span> + +<span class="input">[linux-x86-32]$ <span class="command">ls</span></span> +libwrapper.so run.sh wrapper wrapper.conf + +<span class="input">[linux-x86-32]$ <span class="command">./run.sh start</span></span> +</pre> + </li> + </ul> + </subsection> + </section> + + <section name="Databases"> + <p>There are 2 databases in use by archiva.</p> + <ol> + <li>redback (security) - the database for security related information + such as Users, Roles, Permissions, Login Keys, etc...</li> + <li>archiva - the database that contains the repository information, + reports, statistics, etc...</li> + </ol> + <p> + See the general <a href="/database/index.html">database use and + care</a> section about this. + </p> + </section> + + <section name="Configuration"> + <p>The configuration of archiva is accomplished via the + <code>$HOME/.m2/archiva.xml</code> file. + </p> + <p> + See the general <a href="/configuration/index.html">configuration</a> + section on details about this. + </p> + </section> + + <section name="Concepts"> + <ul> + <li>Modules & Source Tree</li> + <li>Plexus Basics</li> + <ul> + <li>Purpose</li> + <li>Role & Hint</li> + <li>Descriptors</li> + <ul> + <li>META-INF/plexus/components.xml</li> + <li>META-INF/plexus/application.xml</li> + <li>src/test/resources/${package}/${test}.xml</li> + </ul> + <li>plexus-maven-plugin</li> + <ul> + <li>generated and/or merge</li> + <li>javadoc tags</li> + </ul> + </ul> + <li>Model</li> + <ul> + <li>Heirarchy of artifacts.</li> + <ul> + <li>Project: ( group Id + artifact Id )</li> + <li>Versioned: ( project + version )</li> + <li>Artifact: ( versioned + classifier + type )</li> + </ul> + <li>Types of objects.</li> + <ul> + <li>Archiva Project Model</li> + <li>Archiva Artifact</li> + <ul> + <li>Java Platform Extension</li> + </ul> + <li>Archiva Repository</li> + <li>Archiva Reposiotry Metadata</li> + <li>Repository Statistics</li> + <li>Repository Problem</li> + </ul> + <li>Types of Repositories</li> + <ul> + <li>Managed</li> + <ul> + <li>file://... URLs only</li> + <li>Indexed</li> + <li>Statistics</li> + </ul> + <li>Remote</li> + </ul> + </ul> + <li>Database / Persistence</li> + <ul> + <li>JDO / JPox</li> + <li>Query / Constraints</li> + <ul> + <li>Declarative</li> + <li>Simple</li> + </ul> + </ul> + <li>Scheduling</li> + <ul> + <li>How plexus-quartz & plexus-taskqueue fit in.</li> + <li>Types of Jobs</li> + <ul> + <li>Repository Scanning</li> + <ul> + <li>Known Files</li> + <li>Ignored Files</li> + <li>Unknown Files</li> + </ul> + <li>Database Updates</li> + <ul> + <li>Periodic</li> + <ul> + <li>Unprocesed Process</li> + <li>Cleanup</li> + </ul> + <li>Nightly</li> + </ul> + </ul> + </ul> + <li>Consumers</li> + <ul> + <li>Purpose</li> + <li>Discovery</li> + <li>Configuration</li> + <li>Types of Consumers</li> + <ul> + <li>Repository Artifact</li> + <li>Database Unprocessed</li> + <li>Database Cleanup</li> + </ul> + </ul> + <li>Repository Connectors</li> + <ul> + <li>Proxy Connector</li> + <ul> + <li>Pre Download Policies</li> + <li>Post Download Policies</li> + </ul> + </ul> + <li>Maven Artifact / Project Libraries</li> + <ul> + <li>Bidirectional Repository Layout</li> + <li>Project Readers</li> + <li>Project Filters</li> + <li>Project Resolvers</li> + </ul> + <li>Indexer</li> + <ul> + <li>Bytecode</li> + <li>File Content</li> + <li>Hashcodes</li> + <li>Analyze / Index</li> + <li>Search / Query</li> + </ul> + <li>Reporting</li> + <ul> + <li>Reporting Manager</li> + <li>Artifact Reports</li> + <li>Metadata Reports</li> + <li>Project Reports</li> + </ul> + <li>Web Framework</li> + <ul> + <li>Webwork & XWork</li> + <li><archiva: /> taglib</li> + <ul> + <li><archiva:copy-paste /></li> + <li><archiva:download /></li> + <li><archiva:group-id-link /></li> + </ul> + </ul> + </ul> + </section> + </body> +</document> diff --git a/archiva-docs/src/site/xdoc/tour/admin.xml b/archiva-docs/src/site/xdoc/tour/admin.xml new file mode 100644 index 000000000..610618e6e --- /dev/null +++ b/archiva-docs/src/site/xdoc/tour/admin.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<document> + <properties> + <title>Graphical Administration</title> + <author email="brett@apache.org">Brett Porter</author> + </properties> + <head> + </head> + <body> + <section name="Graphical Administration"> + <div style="text-align: center"> + <img src="../images/tour/admin.png" width="640" height="401" alt="" /> + <p> + Archiva has a comprehensive web-based administration interface for configuring repositories, + remote proxies, scheduled jobs and more. The configuration is kept in sync with the XML + configuration files so that they can also be hand-edited if necessary. + </p> + <p> + <a href="proxy.html">Previous: Remote Proxying Cache</a> | + <strong>Graphical Administration</strong> | + <a href="security.html">Next: Role-based Security</a> + </p> + </div> + </section> + </body> +</document> diff --git a/archiva-docs/src/site/xdoc/tour/index.xml b/archiva-docs/src/site/xdoc/tour/index.xml new file mode 100644 index 000000000..45b222989 --- /dev/null +++ b/archiva-docs/src/site/xdoc/tour/index.xml @@ -0,0 +1,78 @@ +<?xml version="1.0"?> +<document> + <properties> + <title>Feature Tour</title> + <author email="brett@apache.org">Brett Porter</author> + </properties> + <head> + </head> + <body> + <style type="text/css"> +table { + width: inherit; + margin-left: 5em; +} +tr { + text-align: center; +} +td { + font-size: inherit; +} +table.bodyTable tr.a { + background-color: inherit; +} +table.bodyTable tr.b { + background-color: inherit; +} + </style> + <section name="Archiva Feature Tour"> + + <p> + Archiva is a feature rich repository manager. Below is a short tour of some of the features that are available. + </p> + + <table> + <tr> + <td> + <a href="project.html"> + <img src="../images/tour/project.png" width="150" height="93" style="border: 1px solid silver; margin-bottom: 0.25em" alt="" /><br/> + 1. Project Information + </a> + </td> + <td> + <a href="search.html"> + <img src="../images/tour/search.png" width="150" height="93" style="border: 1px solid silver; margin-bottom: 0.25em" alt="" /><br/> + 2. Artifact Search + </a> + </td> + <td> + <a href="proxy.html"> + <img src="../images/tour/proxy.png" width="150" height="93" style="border: 1px solid silver; margin-bottom: 0.25em" alt="" /><br/> + 3. Remote Proxying Cache + </a> + </td> + </tr> + <tr> + <td> + <a href="admin.html"> + <img src="../images/tour/admin.png" width="150" height="93" style="border: 1px solid silver; margin-left: 0.25em; margin-bottom: 0.25em" alt="" /><br/> + 4. Graphical Administration + </a> + </td> + <td> + <a href="security.html"> + <img src="../images/tour/security.png" width="150" height="93" style="border: 1px solid silver; margin-left: 0.25em; margin-bottom: 0.25em" alt="" /><br/> + 5. Role-based Security + </a> + </td> + <td> + <a href="reports.html"> + <img src="../images/tour/reports.png" width="150" height="93" style="border: 1px solid silver; margin-left: 0.25em; margin-bottom: 0.25em" alt="" /><br/> + 6. Integrity Reports + </a> + </td> + </tr> + </table> + </section> + </body> +</document> diff --git a/archiva-docs/src/site/xdoc/tour/project.xml b/archiva-docs/src/site/xdoc/tour/project.xml new file mode 100644 index 000000000..00300b489 --- /dev/null +++ b/archiva-docs/src/site/xdoc/tour/project.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<document> + <properties> + <title>Project Information</title> + <author email="brett@apache.org">Brett Porter</author> + </properties> + <head> + </head> + <body> + <section name="Project Information"> + <div style="text-align: center"> + <img src="../images/tour/project.png" width="640" height="401" alt="" /> + <p> + Archiva provides an informative display for projects and artifacts stored in the repository. + This includes a user-friendly display of the Maven project information, as well as the relationships + between projects. + </p> + <p> + <a href="index.html">Previous: Feature Tour</a> | + <strong>Project Information</strong> | + <a href="search.html">Next: Artifact Search</a> + </p> + </div> + </section> + </body> +</document> diff --git a/archiva-docs/src/site/xdoc/tour/proxy.xml b/archiva-docs/src/site/xdoc/tour/proxy.xml new file mode 100644 index 000000000..9e1073b38 --- /dev/null +++ b/archiva-docs/src/site/xdoc/tour/proxy.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<document> + <properties> + <title>Remote Proxying Cache</title> + <author email="brett@apache.org">Brett Porter</author> + </properties> + <head> + </head> + <body> + <section name="Remote Proxying Cache"> + <div style="text-align: center"> + <img src="../images/tour/proxy.png" width="640" height="401" alt="" /> + <p> + Archiva can operate as a proxy for remote repositories, allowing you to improve build + performance by caching artifacts in a closer network location, and control artifact + usage through the use of white and black lists on proxy connectors. + </p> + <p> + <a href="search.html">Previous: Artifact Search</a> | + <strong>Remote Proxying Cache</strong> | + <a href="admin.html">Next: Graphical Administration</a> + </p> + </div> + </section> + </body> +</document> diff --git a/archiva-docs/src/site/xdoc/tour/reports.xml b/archiva-docs/src/site/xdoc/tour/reports.xml new file mode 100644 index 000000000..99800a5e8 --- /dev/null +++ b/archiva-docs/src/site/xdoc/tour/reports.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<document> + <properties> + <title>Integrity Reports</title> + <author email="brett@apache.org">Brett Porter</author> + </properties> + <head> + </head> + <body> + <section name="Integrity Reports"> + <div style="text-align: center"> + <img src="../images/tour/reports.png" width="640" height="401" alt="" /> + <p> + Archiva monitors the state of the managed repositories and keeps track of + potential problems to allow improvement of metadata and to assist in + troubleshooting problems. + </p> + <p> + <a href="security.html">Previous: Role-based Security</a> | + <strong>Integrity Reports</strong> | + <a href="index.html">Next: Feature Tour</a> + </p> + </div> + </section> + </body> +</document> diff --git a/archiva-docs/src/site/xdoc/tour/search.xml b/archiva-docs/src/site/xdoc/tour/search.xml new file mode 100644 index 000000000..e144873e9 --- /dev/null +++ b/archiva-docs/src/site/xdoc/tour/search.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<document> + <properties> + <title>Artifact Search</title> + <author email="brett@apache.org">Brett Porter</author> + </properties> + <head> + </head> + <body> + <section name="Artifact Search"> + <div style="text-align: center"> + <img src="../images/tour/search.png" width="640" height="401" alt="" /> + <p> + Archiva has both a user-friendly browsing interface, and powerful search functionalities. The contents of all artifacts are indexed, + including Maven project information and Java class information to facilitate locating code within any repository. + By using the "Find Artifact" feature, you can identify unknown artifacts based on the database of known checksums for known artifacts. + </p> + <p> + <a href="project.html">Previous: Project Information</a> | + <strong>Artifact Search</strong> | + <a href="proxy.html">Next: Remote Proxying Cache</a> + </p> + </div> + </section> + </body> +</document> diff --git a/archiva-docs/src/site/xdoc/tour/security.xml b/archiva-docs/src/site/xdoc/tour/security.xml new file mode 100644 index 000000000..1e49c9fa9 --- /dev/null +++ b/archiva-docs/src/site/xdoc/tour/security.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<document> + <properties> + <title>Role-based Security</title> + <author email="brett@apache.org">Brett Porter</author> + </properties> + <head> + </head> + <body> + <section name="Role-based Security"> + <div style="text-align: center"> + <img src="../images/tour/security.png" width="640" height="401" alt="" /> + <p> + Archiva uses the Redback security framework to provide flexible role-based security controls for repositories. + You can use the graphical interface to maintain user accounts, as well as secure repositories for read and/or write + access for individuals, or given roles. + </p> + <p> + <a href="admin.html">Previous: Graphical Administration</a> | + <strong>Role-based Security</strong> | + <a href="reports.html">Next: Integrity Reports</a> + </p> + </div> + </section> + </body> +</document> |