Return-Path: Delivered-To: apmail-maven-archiva-commits-archive@locus.apache.org Received: (qmail 66094 invoked from network); 21 May 2007 01:26:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 May 2007 01:26:50 -0000 Received: (qmail 20347 invoked by uid 500); 21 May 2007 01:26:56 -0000 Delivered-To: apmail-maven-archiva-commits-archive@maven.apache.org Received: (qmail 20298 invoked by uid 500); 21 May 2007 01:26:56 -0000 Mailing-List: contact archiva-commits-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: archiva-dev@maven.apache.org Delivered-To: mailing list archiva-commits@maven.apache.org Received: (qmail 20283 invoked by uid 99); 21 May 2007 01:26:56 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 20 May 2007 18:26:56 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 20 May 2007 18:26:46 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 3D9001A981A; Sun, 20 May 2007 18:26:26 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r539989 - in /maven/archiva/trunk/archiva-site/src/site: resources/css/ resources/css/site.css resources/images/scheduling.svg site.xml xdoc/hacking/ xdoc/hacking/index.xml xdoc/index.xml Date: Mon, 21 May 2007 01:26:26 -0000 To: archiva-commits@maven.apache.org From: joakime@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070521012626.3D9001A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: joakime Date: Sun May 20 18:26:25 2007 New Revision: 539989 URL: http://svn.apache.org/viewvc?view=rev&rev=539989 Log: Adding some docs for 'Hacking Archiva' Added: maven/archiva/trunk/archiva-site/src/site/resources/css/ maven/archiva/trunk/archiva-site/src/site/resources/css/site.css (with props) maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg (with props) maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/ maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml (with props) Modified: maven/archiva/trunk/archiva-site/src/site/site.xml maven/archiva/trunk/archiva-site/src/site/xdoc/index.xml Added: maven/archiva/trunk/archiva-site/src/site/resources/css/site.css URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-site/src/site/resources/css/site.css?view=auto&rev=539989 ============================================================================== --- maven/archiva/trunk/archiva-site/src/site/resources/css/site.css (added) +++ maven/archiva/trunk/archiva-site/src/site/resources/css/site.css Sun May 20 18:26:25 2007 @@ -0,0 +1,63 @@ +a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { + background: none; + padding-right: 0; +} + +body ul { + list-style-type: square; +} + +#downloadbox { + float: right; + margin-left: 2em; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + border: 1px solid #999; + background-color: #eee; + width: 17.5em; +} + +#downloadbox h5 { + color: #000; + margin: 0; + border-bottom: 1px solid #aaaaaa; + font-size: smaller; + padding: 0; + margin-top: 1em; +} + +#downloadbox p { + margin-top: 1em; + margin-bottom: 0; +} + +#downloadbox li { + text-indent: inherit; +} + +div.p { + margin-top: 5px; + margin-bottom: 10px; +} + +pre.commandline { + border: 1px solid #bbb; + background-color: white; + margin-top: 5px; + margin-bottom: 5px; + font-size: 10pt; + padding: 15px; + color: gray; +} + +pre.commandline .input { + color: #55f; +} + +pre.commandline .command { + color: black; + font-weight: bold; +} + + Propchange: maven/archiva/trunk/archiva-site/src/site/resources/css/site.css ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/archiva/trunk/archiva-site/src/site/resources/css/site.css ------------------------------------------------------------------------------ svn:executable = * Propchange: maven/archiva/trunk/archiva-site/src/site/resources/css/site.css ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Propchange: maven/archiva/trunk/archiva-site/src/site/resources/css/site.css ------------------------------------------------------------------------------ svn:mime-type = text/css Added: maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg?view=auto&rev=539989 ============================================================================== --- maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg (added) +++ maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg Sun May 20 18:26:25 2007 @@ -0,0 +1,154 @@ + + + + + + + + + image/svg+xml + + + + + + + + Scheduler + + + + Task Queue + + + + Task Executor + + + + Task Executor + + + Propchange: maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg ------------------------------------------------------------------------------ svn:executable = * Propchange: maven/archiva/trunk/archiva-site/src/site/resources/images/scheduling.svg ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Modified: maven/archiva/trunk/archiva-site/src/site/site.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-site/src/site/site.xml?view=diff&rev=539989&r1=539988&r2=539989 ============================================================================== --- maven/archiva/trunk/archiva-site/src/site/site.xml (original) +++ maven/archiva/trunk/archiva-site/src/site/site.xml Sun May 20 18:26:25 2007 @@ -31,9 +31,9 @@ - + - + Added: maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml?view=auto&rev=539989 ============================================================================== --- maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml (added) +++ maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml Sun May 20 18:26:25 2007 @@ -0,0 +1,386 @@ + + + + + + Hacking Maven Archiva + + +
+
+ So, you wanna start hacking away at Archiva huh? +
+ +
+ These pages are for you! +
+ +
+ Be sure to read the sections for Database, Configuration, and + Concepts. Beyond that, the javadoc is your friend. +
+ +
+ If you don't see the topic covered here, ask! Ask in the + archiva-dev mailing list, + or in the #archiva + irc channel. +
+ + +

+ First, you'll need the source code. It is stored in subversion on + the public svn.apache.org site. You can use the + basic subversion access steps, + or follow the steps below... +

+ +
+[code]$ svn checkout http://svn.apache.org/repos/asf/maven/archiva/trunk archiva
+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.
+
+[code]$ ls
+archiva
+
+[code]$ cd archiva
+
+[code/archiva]$ ls
+archiva-base/      archiva-reporting/  archiva-web/       maven-meeper/
+archiva-cli/       archiva-scheduled/  archiva-workflow/  pom.xml
+archiva-database/  archiva-site/       design/
+
+
+ + +

+ You will need the following tools. +

+
    +
  • Maven 2.0.5 (or newer)
  • +
  • Java SDK 1.5.0_10 (or newer)
  • +
  • An IDE (or plain editor) of your choice.
  • +
+
+ + +

+ Archiva uses the Maven tool suite to do all things within + the build. (compile, test, archive, install, deploy, etc...) + The standard goals apply here. +

+

+ 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. +

+
    +
  • The javax.resource:connector:1.0:jar artifact
  • +
      +
    1. Download the 1.0 connector zip from: http://java.sun.com/j2ee/connector/download.html
    2. +
    3. Unpack the zip to gain access to the jar file.
    4. +
    5. Install it: mvn install:install-file -DgroupId=javax.resource -DartifactId=connector -Dversion=1.0 -Dpackaging=jar -Dfile=connector.jar
    6. +
    +
  • The javax.transaction:jta:1.0.1B:jar artifact
  • +
      +
    1. Download the 1.0.1B jta zip from: http://java.sun.com/products/jta/
    2. +
    3. Install it: mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1_0_1B-classes.zip
    4. +
    +
+
+ + +

+ Archiva uses the standard maven goals. Use them. +

+
+[archiva]$ mvn clean install
+[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] ------------------------------------------------------------------------
+
+ +

+ NOTE: Your first compile will take the longest, as maven will + download all the missing dependencies into your local repository + at this point. +

+
+ + +

+ You have a few ways (in development time) to run archiva. +

+ +
    +
  • +

    Using the jetty:run plugin w/default settings.

    + +
    +[archiva]$ cd archiva-web/archiva-webapp
    +
    +[archiva-webapp]$ mvn clean jetty:run
    +[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.
    +
    +

    At this point you can use your browser to goto http://localhost:9091/

    +
  • + +
  • Using the jetty:run plugin w/mysql settings. + +
    +[archiva]$ cd archiva-web/archiva-webapp
    +
    +[archiva-webapp]$ mvn -Pmysql clean jetty:run
    +[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.
    +
    +
  • +
  • Using the built plexus-application standalone binary. + +
    +[archiva]$ cd archiva-web/archiva-standalone/archiva-plexus-runtime/target
    +
    +[target]$ tar -zxvf archiva-1.0-alpha-1-SNAPSHOT-bin.tar.gz
    +
    +[target]$ cd archiva-1.0-alpha-1-SNAPSHOT/bin
    +
    +[bin]$ ls
    +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
    +
    +[bin]$ cd linux-x86-32
    +
    +[linux-x86-32]$ ls
    +libwrapper.so  run.sh  wrapper  wrapper.conf
    +
    +[linux-x86-32]$ ./run.sh start
    +
    +
  • +
+
+
+ +
+

There are 2 databases in use by archiva.

+
    +
  1. redback (security) - the database for security related information + such as Users, Roles, Permissions, Login Keys, etc...
  2. +
  3. archiva - the database that contains the repository information, + reports, statistics, etc...
  4. +
+

+ See the general database use and + care section about this. +

+
+ +
+

The configuration of archiva is accomplished via the + $HOME/.m2/archiva.xml file. +

+

+ See the general configuration + section on details about this. +

+
+ +
+
    +
  • Modules & Source Tree
  • +
  • Plexus Basics
  • +
      +
    • Purpose
    • +
    • Role & Hint
    • +
    • Descriptors
    • +
        +
      • META-INF/plexus/components.xml
      • +
      • META-INF/plexus/application.xml
      • +
      • src/test/resources/${package}/${test}.xml
      • +
      +
    • plexus-maven-plugin
    • +
        +
      • generated and/or merge
      • +
      • javadoc tags
      • +
      +
    +
  • Model
  • +
      +
    • Heirarchy of artifacts.
    • +
        +
      • Project: ( group Id + artifact Id )
      • +
      • Versioned: ( project + version )
      • +
      • Artifact: ( versioned + classifier + type )
      • +
      +
    • Types of objects.
    • +
        +
      • Archiva Project Model
      • +
      • Archiva Artifact
      • +
          +
        • Java Platform Extension
        • +
        +
      • Archiva Repository
      • +
      • Archiva Reposiotry Metadata
      • +
      • Repository Statistics
      • +
      • Repository Problem
      • +
      +
    • Types of Repositories
    • +
        +
      • Local / Managed
      • +
          +
        • file://... URLs only
        • +
        • Indexed
        • +
        • Statistics
        • +
        +
      • Remote
      • +
      +
    +
  • Database / Persistence
  • +
      +
    • JDO / JPox
    • +
    • Query / Constraints
    • +
        +
      • Declarative
      • +
      • Simple
      • +
      +
    +
  • Scheduling
  • +
      +
    • How plexus-quartz & plexus-taskqueue fit in.
    • +
    • Types of Jobs
    • +
        +
      • Repository Scanning
      • +
          +
        • Known Files
        • +
        • Ignored Files
        • +
        • Unknown Files
        • +
        +
      • Database Updates
      • +
          +
        • Periodic
        • +
            +
          • Unprocesed Process
          • +
          • Cleanup
          • +
          +
        • Nightly
        • +
        +
      +
    +
  • Consumers
  • +
      +
    • Purpose
    • +
    • Discovery
    • +
    • Configuration
    • +
    • Types of Consumers
    • +
        +
      • Repository Artifact
      • +
      • Database Unprocessed
      • +
      • Database Cleanup
      • +
      +
    +
  • Repository Connectors
  • +
      +
    • Proxy Connector
    • +
        +
      • Pre Download Policies
      • +
      • Post Download Policies
      • +
      +
    +
  • Maven Artifact / Project Libraries
  • +
      +
    • Bidirectional Repository Layout
    • +
    • Project Readers
    • +
    • Project Filters
    • +
    • Project Resolvers
    • +
    +
  • Indexer
  • +
      +
    • Bytecode
    • +
    • File Content
    • +
    • Hashcodes
    • +
    • Analyze / Index
    • +
    • Search / Query
    • +
    +
  • Reporting
  • +
      +
    • Reporting Manager
    • +
    • Artifact Reports
    • +
    • Metadata Reports
    • +
    • Project Reports
    • +
    +
  • Web Framework
  • +
      +
    • Webwork & XWork
    • +
    • <archiva: /> taglib
    • +
        +
      • <archiva:copy-paste />
      • +
      • <archiva:download />
      • +
      • <archiva:group-id-link />
      • +
      +
    +
+
+ +
Propchange: maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Propchange: maven/archiva/trunk/archiva-site/src/site/xdoc/hacking/index.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: maven/archiva/trunk/archiva-site/src/site/xdoc/index.xml URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-site/src/site/xdoc/index.xml?view=diff&rev=539989&r1=539988&r2=539989 ============================================================================== --- maven/archiva/trunk/archiva-site/src/site/xdoc/index.xml (original) +++ maven/archiva/trunk/archiva-site/src/site/xdoc/index.xml Sun May 20 18:26:25 2007 @@ -23,68 +23,129 @@ Welcome to Maven Archiva -
-
-
Get Archiva 0.9 Alpha 2
-

- - - Download - - Archiva - (20Mb) -

- -
- -

Archiva (the Maven repository manager) is currently under development. It provides several pieces of - functionality for your remote repository:

- +
+
Get Archiva 0.9 Alpha 2
+

+ + + Download + + Archiva + (20Mb) +

    -
  • Browsing on POM information by group and artifact ID
  • -
  • Search over various information in the POM and filename
  • -
  • Locate JAR by checksum
  • -
  • Repository management through reporting and maintenance
  • +
  • + System Requirements +
  • +
  • + Installation Instructions +
  • +
+
-

We welcome developers to the Maven community who are interested in contributing. If you'd like to discuss - archiva, subscribe and post to the development mailing list - archiva-dev@maven.apache.org.

- -

If you'd like to obtain the code, you can get it from Subversion. - See SCM details for more information.

+
+
+ Archiva is currently under development.
-

Bugs, issues and new ideas should be reported in the issue tracker - - see this page.

+
+ Archiva is a build artifact repository manager for use with + build tools such as maven, + continuum, + and ant.
-

See the the Archiva wiki - for more information, or log onto the IRC channel #archiva:irc.codehaus.org.

+
+ It provides the following benefits:
+
    +
  • A place for like-minded developers to share artifacts + that are private in nature, such as found in proprietary + development shops.
  • +
  • The ability to act as a nearby (proxy) cache of popular global + repositories for better build performance.
  • +
  • Secure your repositories! by user, by role, by repository, + read vs write access controls.
  • +
  • A tool to browse the repository information, and present it + in a user friendly way.
  • +
  • Maximize code reuse via a search / research tool to help + find artifacts that might be of the most use for your + immediate problem.
  • +
  • Implement controls on the artifacts that the developers + in your organization use.
  • +
  • Identify unknown artifacts based on large database of + known checksums for known artifacts.
  • +
  • Reporting on artifact usage, to help identify those + projects that are using your code.
  • +
  • Reporting tools.
  • +
  • Maintenance tools.
  • +
+

  • Archiva 0.9 Alpha 2 Release Available - May 18, 2007

+
+ +
+

Join the conversation!

+ +
+ +
+
+ We welcome developers to the Maven community who are interested + in contributing. If you'd like to discuss Archiva, subscribe and + post to the development mailing list + archiva-dev@maven.apache.org. +
+ +
+ Read the Hacking Archiva document. +
+ +
+ If you'd like to obtain the code, you can get it from Subversion. + See SCM details for more + information. +
+ +
+ Bugs, issues and new ideas should be reported in the issue tracker - + see this page. +
+ +
+ A user managed wiki of alternative documentation is available a + the + Archiva wiki. +
+ +
+ Want to chat live with some of the developers? join us in + the #archiva + channel on irc.codehaus.org. +