diff --git a/archiva-site/src/site/resources/css/site.css b/archiva-site/src/site/resources/css/site.css new file mode 100755 index 000000000..3ca753781 --- /dev/null +++ b/archiva-site/src/site/resources/css/site.css @@ -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; +} + + diff --git a/archiva-site/src/site/resources/images/scheduling.svg b/archiva-site/src/site/resources/images/scheduling.svg new file mode 100755 index 000000000..7e255690b --- /dev/null +++ b/archiva-site/src/site/resources/images/scheduling.svg @@ -0,0 +1,154 @@ + + + + + + + + + image/svg+xml + + + + + + + + Scheduler + + + + Task Queue + + + + Task Executor + + + + Task Executor + + + diff --git a/archiva-site/src/site/site.xml b/archiva-site/src/site/site.xml index 9c71480ce..9078f9b6d 100644 --- a/archiva-site/src/site/site.xml +++ b/archiva-site/src/site/site.xml @@ -31,9 +31,9 @@ - + - + diff --git a/archiva-site/src/site/xdoc/hacking/index.xml b/archiva-site/src/site/xdoc/hacking/index.xml new file mode 100644 index 000000000..7628e6676 --- /dev/null +++ b/archiva-site/src/site/xdoc/hacking/index.xml @@ -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 />
      • +
      +
    +
+
+ +
diff --git a/archiva-site/src/site/xdoc/index.xml b/archiva-site/src/site/xdoc/index.xml index 30330a1c8..5eae9a0c7 100644 --- a/archiva-site/src/site/xdoc/index.xml +++ b/archiva-site/src/site/xdoc/index.xml @@ -23,62 +23,74 @@ Welcome to Maven Archiva -
-
-
Get Archiva 0.9 Alpha 2
-

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

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

+
+
+ Archiva is currently under development.
+ +
+ Archiva is a build artifact repository manager for use with + build tools such as maven, + continuum, + and ant.
+ +
+ It provides the following benefits:
    -
  • 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
  • +
  • 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.
- -

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.

- -

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

- -

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

-
+

    @@ -86,5 +98,54 @@

+ +
+

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