notify-dpml AT lists.ibiblio.org
Subject: DPML Notify
List archive
svn commit: r1715 - in development/main/central/site/src/docs/products: magic/plugins magic/plugins/checkstyle magic/tasks transit/000/antlib transit/000/setup/unix transit/000/setup/windows transit/SNAPSHOT/antlib transit/SNAPSHOT/concepts transit/SNAPSHOT/glossary transit/SNAPSHOT/overview transit/SNAPSHOT/setup transit/SNAPSHOT/setup/unix transit/SNAPSHOT/setup/windows transit/SNAPSHOT/technical transit/SNAPSHOT/technical/cache transit/SNAPSHOT/technical/hosts transit/SNAPSHOT/technical/launcher transit/SNAPSHOT/technical/monitors transit/SNAPSHOT/technical/protocol transit/SNAPSHOT/technical/repository
- From: mcconnell AT netcompartner.com
- To: notify-dpml AT lists.ibiblio.org
- Subject: svn commit: r1715 - in development/main/central/site/src/docs/products: magic/plugins magic/plugins/checkstyle magic/tasks transit/000/antlib transit/000/setup/unix transit/000/setup/windows transit/SNAPSHOT/antlib transit/SNAPSHOT/concepts transit/SNAPSHOT/glossary transit/SNAPSHOT/overview transit/SNAPSHOT/setup transit/SNAPSHOT/setup/unix transit/SNAPSHOT/setup/windows transit/SNAPSHOT/technical transit/SNAPSHOT/technical/cache transit/SNAPSHOT/technical/hosts transit/SNAPSHOT/technical/launcher transit/SNAPSHOT/technical/monitors transit/SNAPSHOT/technical/protocol transit/SNAPSHOT/technical/repository
- Date: Thu, 03 Feb 2005 19:26:03 +0100
Author: mcconnell
Date: Thu Feb 3 19:26:02 2005
New Revision: 1715
Added:
development/main/central/site/src/docs/products/magic/tasks/checkstyle.xml
development/main/central/site/src/docs/products/transit/000/antlib/get.xml
development/main/central/site/src/docs/products/transit/000/antlib/import.xml
development/main/central/site/src/docs/products/transit/000/antlib/index.xml
development/main/central/site/src/docs/products/transit/000/antlib/init.xml
development/main/central/site/src/docs/products/transit/000/antlib/navigation.xml
development/main/central/site/src/docs/products/transit/000/antlib/plugin.xml
development/main/central/site/src/docs/products/transit/000/setup/unix/index.xml
development/main/central/site/src/docs/products/transit/000/setup/unix/navigation.xml
development/main/central/site/src/docs/products/transit/000/setup/windows/environment.xml
development/main/central/site/src/docs/products/transit/000/setup/windows/home.xml
development/main/central/site/src/docs/products/transit/000/setup/windows/index.xml
development/main/central/site/src/docs/products/transit/000/setup/windows/navigation.xml
development/main/central/site/src/docs/products/transit/000/setup/windows/system.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/get.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/import.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/index.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/init.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/navigation.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/plugin.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/index.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/navigation.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/repository_enabled.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/glossary/index.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/glossary/navigation.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/artifact.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/classloading.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/features.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/index.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/navigation.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/plugins.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/index.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/navigation.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/unix/
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/windows/
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/cache/
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/hosts/
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/index.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/launcher/
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/monitors/
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/navigation.xml
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/protocol/
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/repository/
Removed:
development/main/central/site/src/docs/products/magic/plugins/checkstyle/
Modified:
development/main/central/site/src/docs/products/magic/plugins/navigation.xml
development/main/central/site/src/docs/products/magic/tasks/navigation.xml
Log:
move checkstryle docs under magic core
Modified:
development/main/central/site/src/docs/products/magic/plugins/navigation.xml
==============================================================================
---
development/main/central/site/src/docs/products/magic/plugins/navigation.xml
(original)
+++
development/main/central/site/src/docs/products/magic/plugins/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -25,7 +25,6 @@
<body>
<menu>
- <item name="Checkstyle" href="checkstyle/index.html"/>
<item name="Eclipse" href="eclipse/index.html"/>
</menu>
Added:
development/main/central/site/src/docs/products/magic/tasks/checkstyle.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/magic/tasks/checkstyle.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Magic</title>
+ </properties>
+
+ <body>
+ <section name="Checkstyle Task">
+
+ <subsection name="Overview">
+
+ <p>
+ The checkstyle task provides support for the integration of checkstyle
+ code style validation and reporting into the Magic development
environment.
+ The task allows the selection of a style format using Transit uris and
+ and postprocessing of XML based report output using Magic's Style Task.
+ </p>
+
+ </subsection>
+
+ <subsection name="Example">
+
+ <p>
+ The following example buildfile applies checkstyle checks against the
+ project src path (typically target/build/src or the aggregated set of
+ target/build/src directories in the case of a module). In the case of
+ module projects the source path is prepared taking into account all
+ projects within the same group. Output in generated into the target
+ directory and is subsequently post processed into a checkstyle report
+ directory as an html report.
+ </p>
+
+<source><![CDATA[
+<project name="demo" default="demo" basedir="."
+ xmlns:transit="antlib:net.dpml.transit">
+
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+ <transit:import uri="artifact:template:dpml/magic/checkstyle"/>
+
+ <target name="demo" depends="checkstyle"/>
+
+</project>
+]]></source>
+
+ <p>
+ Output from the above project is shown below.
+ </p>
+
+<pre>init:
+ [x:init] loading:
artifact:plugin:dpml/magic/dpml-magic-checkstyle#SNAPSHOT
+
+prepare:
+
+checkstyle:
+ [style] Processing D:\demo\target\checkstyle\checkstyle_errors.xml to
+D:\demo\target\reports\checkstyle\checkstyle_report.html
+ [style] Loading stylesheet
D:\dpml\main\dpml\magic\xsls\checkstyle-frames.xsl
+</pre>
+
+ </subsection>
+
+ <subsection name="Properties">
+
+ <p>
+ The following optional properties may be used to override default
behaviour.
+ </p>
+
+ <table>
+ <tr><th>Property</th><th>Default</th><th>Description</th></tr>
+ <tr>
+ <td>${project.checkstyle.dest}</td>
+ <td>target/checkstyle</td>
+ <td>The destination directory for temporary data.</td>
+ </tr>
+ <tr>
+ <td>${project.checkstyle.format}</td>
+ <td>artifact:format:dpml/magic/dpml</td>
+ <td>The transit uri of the checkstyle format rules
specification.</td>
+ </tr>
+ <tr>
+ <td>${project.checkstyle.reports}</td>
+ <td>target/reports/checkstyle</td>
+ <td>Destination directory for html report content.</td>
+ </tr>
+ </table>
+
+ </subsection>
+
+ <subsection name="Attributes">
+
+ <p>
+ The checkstyle task is a direct extension of the standard checkstyle
ant task
+ with the addition of a single attribute value against which the
checkstyle format
+ specification may be declared as a transit artifact uri.
+ </p>
+
+ <table>
+ <tr><th>Attribute</th><th>Default</th><th>Description</th></tr>
+ <tr>
+ <td>uri</td>
+ <td>${project.checkstyle.format}</td>
+ <td>A transit artifact uri referencing a checkstyle format rule
sheet.</td>
+ </tr>
+ </table>
+
+ </subsection>
+
+ <subsection name="Style Notes">
+
+ <p>
+ The default formatting rules correspond to the
+ <a href="/about/community/process/code.html">DPML standard code
format</a>
+ specification and is required for all contributions to the DPML.
Alternative
+ code formats include a format approximating the Sun coding guidlines.
+ </p>
+
+ </subsection>
+
+ </section>
+ </body>
+
+</document>
+
Modified:
development/main/central/site/src/docs/products/magic/tasks/navigation.xml
==============================================================================
---
development/main/central/site/src/docs/products/magic/tasks/navigation.xml
(original)
+++
development/main/central/site/src/docs/products/magic/tasks/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -25,6 +25,7 @@
<body>
<menu>
<item name="Clean" href="clean.html"/>
+ <item name="Checkstyle" href="checkstyle.html"/>
<item name="Export" href="export.html"/>
<item name="Filter" href="filter.html"/>
<item name="Info" href="info.html"/>
Added:
development/main/central/site/src/docs/products/transit/000/antlib/get.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/antlib/get.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Get Task">
+
+ <p>
+ The get task is used to resolve an artifact to a locally cached file
+ and assign the filename to a supplied property.
+ </p>
+
+ <p><i>Example get:</i></p>
+
+<source><![CDATA[
+ <transit:get uri="artifact:jar:ant/ant#1.6.2" property="filename"/>
+]]></source>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/antlib/import.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/antlib/import.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Import Task">
+
+ <p>
+ The import task imports an ant template file from a supplied
+ artifact uri.
+ </p>
+
+ <p><i>Example of a import request.</i></p>
+
+<source><![CDATA[
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+]]></source>
+
+ </section>
+ </body>
+
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/antlib/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/antlib/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Transit Antlib">
+
+ <subsection
name="URI"><source>@MAGIC-BOOTSTRAP-URI@</source></subsection>
+
+ <subsection
name="Namespace"><source>antlib:net.dpml.transit</source></subsection>
+
+ <subsection name="Description">
+
+ <p>
+ The Transit antlib provides basic tasks that deliver the bootstrap
functionality
+ needed to load the full Magic system. The antlib includes an init,
import, get, and
+ plugin tasks.
+ The init task is used to established a number of transit related ant
properties, a build
+ listener, and a component helper. The plugin task is used to load
antlibs, taskdefs,
+ typedefs and build listeners using classloaders established relative
to resources
+ managed by the transit system. The import task provides support
artifact based
+ includion of build templates. The get tas provides support for the
retrieval of
+ resources using artifact references.
+ </p>
+
+ <p>
+ The following example project demonstrates the initialization of the
transit sub-system
+ during which the magic build system urn-to-uri mapping is declared.
+ </p>
+ <p><i>Example build file:</i></p>
+
+<pre><![CDATA[
+<project name="example"
+ xmlns:transit="antlib:net.dpml.transit">
+
+ <magic:init>
+ <plugin uri="@MAGIC-PLUGIN-URI@"/>
+ </magic:init>
+
+</project>
+]]></pre>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/antlib/init.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/antlib/init.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Initialization Task">
+
+ <p>
+ The init task is used to establish the transit initial context,
+ component helper, and an optionally an initial set of plugins to
+ be loaded.
+ </p>
+
+ <p><i>Example template file:</i></p>
+
+<source><![CDATA[
+<project name="example"
+ xmlns:transit="antlib:net.dpml.transit">
+
+ <transit:init>
+ <plugin uri="@MAGIC-PLUGIN-URI@"/>
+ </transit:init>
+
+</project>
+]]></source>
+
+ <p><i>Output:</i></p>
+<pre><![CDATA[
+Buildfile: build.xml
+ [transit] home: D:\dpml
+
+Assigning Transit component helper.
+
+default:
+installing plugin: plugin:dpml/magic/dpml-magic-core]]></pre>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/antlib/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/antlib/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Magic</title>
+
+ <body>
+
+ <menu>
+ <item name="Get" href="import.html"/>
+ <item name="Init" href="init.html"/>
+ <item name="Import" href="import.html"/>
+ <item name="Plugin" href="plugin.html"/>
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/000/antlib/plugin.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/antlib/plugin.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Plugin Task">
+
+ <p>
+ The plugin task locates plugin meta-data, and from that data, creates
+ a classloader, loads the plugin from the repository, and declares to
ant
+ any tasks, taskdefs, and/or listeners that the user declares.
+ </p>
+
+ <p><i>Example of a request to load an antlib.</i></p>
+
+<source><![CDATA[
+ <transit:plugin uri="artifact:plugin:dpml/magic/dpml-magic-core#SNAPSHOT"/>
+]]></source>
+
+ <p><i>Example of a request to load and register a single task
definition.</i></p>
+
+<source><![CDATA[
+ <transit:plugin uri="${spec}">
+ <task class="net.dpml.magic.doc.DocTask" name="docs"/>
+ </transit:plugin>
+ <docs/>
+]]></source>
+
+ </section>
+ </body>
+
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/setup/unix/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/setup/unix/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Guide</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Single-user Unix/Linux setup">
+ <p>
+ If you are installing on a single user system, we recommend the
following
+ installation. We assume that the binary
+ Transit distribution has been downloaded to the $HOME directory.
+ </p>
+ <source>
+mkdir $HOME/.dpml
+cd /$HOME/.dpml
+tar xvfz $HOME/dpml-transit-nnnn.tar.gz
+chown -R $USER .
+ </source>
+ <p>
+ And enter the following into your own login script, e.g.
$HOME/.bashrc.
+ $HOME/.bash_profile (system dependent).
+ </p>
+ <source>
+DPML_HOME=$HOME/.dpml
+export DPML_HOME
+PATH=$PATH:$DPML_HOME/bin
+export PATH
+ </source>
+ </subsection>
+
+ <subsection name="Multi-user Unix/Linux setup">
+ <p>
+ If you are installing on a multi-user system it is important that
the
+ permissions are properly set up. We recommend that the following
+ commands are executed as root. We assume that the binary Transit
+ distribution has been downloaded to the /root directory, and that
the
+ system has a group named "users" which all users belong to.
+ </p>
+ <source>
+mkdir /usr/share/dpml
+cd /usr/share/dpml
+tar xvfz /root/dpml-transit-nnnn.tar.gz
+chown -R root.users cache
+chmod -R g+w cache
+cd cache
+umask 0002
+ </source>
+ <p>
+ And the following setup to be entered into the shared user login
script,
+ e.g. /etc/profile (system dependent).
+ </p>
+ <source>
+DPML_HOME=/var/dpml
+export DPML_HOME
+PATH=$PATH:$DPML_HOME/bin
+export PATH
+ </source>
+ <p>
+ If you want to further strengthen the security, you should probably
+ not use a shared DPML_HOME at all, and just instruct each user to
+ go for a single user installation. Alternatively, can edit the
+ <code>$DPML_HOME/transit/authority/cache.properties</code> file to
+ the following.
+ </p>
+ <source>
+# The location of the cache system
+dpml.transit.cache.location=${user.home}/.dpml/cache
+
+# The class that implements the cache handler
+dpml.transit.cache.class=net.dpml.transit.artifact.FileCacheHandler
+ </source>
+ <p>
+ which will ensure that each user has its own set of cached artifact
+ and that the shared instance is write-protected.
+ </p>
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/setup/unix/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/setup/unix/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>DPML Guide</title>
+
+ <body>
+
+ <menu>
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/000/setup/windows/environment.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/setup/windows/environment.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Environment Variable">
+
+ <p>
+ From the environment panel select 'New' under the system properties
+ group to open up a dialog box for the creation of the
+ <a href="home.html">DPML_HOME</a> environment variable.
+
+ </p>
+
+ <img src="/images/setup/environment.png"/>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/setup/windows/home.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/setup/windows/home.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Create DPML_HOME">
+
+ <p>
+ Create a new environment variabled named <code>DPML_HOME</code> that
+ declares the location of the root DPML system directory.
+ </p>
+
+ <img src="/images/setup/env.png"/>
+
+ </subsection>
+
+ <subsection name="Updating you PATH">
+
+ <p>
+ Edit the PATH environment variable to include the
<code>%DPML_HOME%\bin</code> path
+ value. Make sure you separate the value from other entries with the
';' character.
+ </p>
+
+ <img src="/images/setup/path.png"/>
+ </subsection>
+
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/setup/windows/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/setup/windows/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="Configuring MyComputer">
+
+ <p>
+ Under Windows select Properties for 'My Computer' to display
+ the <a href="system.html">system properties</a> panel.
+ </p>
+
+ <img src="/images/setup/mycomputer.png"/>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/000/setup/windows/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/setup/windows/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>DPML Guide</title>
+
+ <body>
+
+ <menu>
+ <item name="System Settings" href="system.html"/>
+ <item name="Environment" href="environment.html"/>
+ <item name="DPML_HOME and PATH" href="home.html"/>
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/000/setup/windows/system.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/000/setup/windows/system.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="DPML Setup">
+
+ <subsection name="System Setup">
+
+ <p>
+ Select the 'Advanced Tab' and click on the <a
href="environment.html">
+ Environment Variables</a> button.
+ </p>
+
+ <img src="/images/setup/system.png"/>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/get.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/get.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Get Task">
+
+ <p>
+ The get task is used to resolve an artifact to a locally cached file
+ and assign the filename to a supplied property.
+ </p>
+
+ <p><i>Example get:</i></p>
+
+<source><![CDATA[
+ <transit:get uri="artifact:jar:ant/ant#1.6.2" property="filename"/>
+]]></source>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/import.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/import.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Import Task">
+
+ <p>
+ The import task imports an ant template file from a supplied
+ artifact uri.
+ </p>
+
+ <p><i>Example of a import request.</i></p>
+
+<source><![CDATA[
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+]]></source>
+
+ </section>
+ </body>
+
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Transit Antlib">
+
+ <subsection
name="URI"><source>@MAGIC-BOOTSTRAP-URI@</source></subsection>
+
+ <subsection
name="Namespace"><source>antlib:net.dpml.transit</source></subsection>
+
+ <subsection name="Description">
+
+ <p>
+ The Transit antlib provides basic tasks that deliver the bootstrap
functionality
+ needed to load the full Magic system. The antlib includes an init,
import, get, and
+ plugin tasks.
+ The init task is used to established a number of transit related ant
properties, a build
+ listener, and a component helper. The plugin task is used to load
antlibs, taskdefs,
+ typedefs and build listeners using classloaders established relative
to resources
+ managed by the transit system. The import task provides support
artifact based
+ includion of build templates. The get tas provides support for the
retrieval of
+ resources using artifact references.
+ </p>
+
+ <p>
+ The following example project demonstrates the initialization of the
transit sub-system
+ during which the magic build system urn-to-uri mapping is declared.
+ </p>
+ <p><i>Example build file:</i></p>
+
+<pre><![CDATA[
+<project name="example"
+ xmlns:transit="antlib:net.dpml.transit">
+
+ <magic:init>
+ <plugin uri="@MAGIC-PLUGIN-URI@"/>
+ </magic:init>
+
+</project>
+]]></pre>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/init.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/init.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Initialization Task">
+
+ <p>
+ The init task is used to establish the transit initial context,
+ component helper, and an optionally an initial set of plugins to
+ be loaded.
+ </p>
+
+ <p><i>Example template file:</i></p>
+
+<source><![CDATA[
+<project name="example"
+ xmlns:transit="antlib:net.dpml.transit">
+
+ <magic:init>
+ <plugin uri="@MAGIC-PLUGIN-URI@"/>
+ </magic:init>
+
+</project>
+]]></source>
+
+ <p><i>Output:</i></p>
+<pre><![CDATA[
+Buildfile: build.xml
+ [transit] home: D:\dpml
+
+Assigning Transit component helper.
+
+default:
+installing plugin: plugin:dpml/magic/dpml-magic-core]]></pre>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Magic</title>
+
+ <body>
+
+ <menu>
+ <item name="Get" href="import.html"/>
+ <item name="Init" href="init.html"/>
+ <item name="Import" href="import.html"/>
+ <item name="Plugin" href="plugin.html"/>
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/plugin.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/antlib/plugin.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Plugin Task">
+
+ <p>
+ The plugin task locates plugin meta-data, and from that data, creates
+ a classloader, loads the plugin from the repository, and declares to
ant
+ any tasks, taskdefs, and/or listeners that the user declares.
+ </p>
+
+ <p><i>Example of a request to load an antlib.</i></p>
+
+<source><![CDATA[
+ <transit:plugin uri="artifact:plugin:dpml/magic/dpml-magic-core#SNAPSHOT"/>
+]]></source>
+
+ <p><i>Example of a request to load and register a single task
definition.</i></p>
+
+<source><![CDATA[
+ <transit:plugin uri="${spec}">
+ <task class="net.dpml.magic.doc.DocTask" name="docs"/>
+ </transit:plugin>
+ <docs/>
+]]></source>
+
+ </section>
+ </body>
+
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 David Leangen
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="false">
+
+ <section name="Concepts">
+ </section>
+
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+ Copyright 2005 David Leangen
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>DPML Transit</title>
+
+ <body>
+
+ <menu>
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/repository_enabled.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/concepts/repository_enabled.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 David Leangen
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="false">
+
+ <section name="Concepts">
+
+ <subsection name="Repository Enabled Application">
+
+ <p>
+ A <strong>repository enabled application</strong> is an
application
+ that leverages a <a href="">local cache</a> of <a
href="">artifacts</a>
+ backed by a formal repository model.
+ </p>
+
+<!--
+ <p>
+ Transit is the system infrastructure that provides support for
artifact
+ identification, <a href="artifact.html">retrieval</a>, and related
+ application functions including
+ <a href="classloading.html">classloader</a> construction and
+ <a href="plugins.html">plugin</a> management required by
repository
+ enabled solutions.
+ </p>
+-->
+ </subsection>
+ </section>
+
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/glossary/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/glossary/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 David Leangen
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="false">
+
+ <section name="Glossary">
+ </section>
+
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/glossary/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/glossary/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+ Copyright 2005 David Leangen
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>DPML Transit</title>
+
+ <body>
+
+ <menu>
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/artifact.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/artifact.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="dleangen AT dpml.net">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="true">
+ <section name="Dynamic Artifact Retrieval">
+
+ <p>
+ An <strong>artifact</strong> is simply a resource used by a Java
+ application. Basically, an artifact can be any type of file:
+ JAR, image, text...
+ Based on its protocol specification, Transit provides for dynamic
+ retrieval of such artifacts.
+ </p>
+
+ <subsection name="Artifact URI">
+
+ <p>
+ Each artifact has a unique identifier conforming to the Transit
+ <a href="../technical/protocol/index.html">protocol
specification</a>.
+ Using an extension to the java.net.URL class in the Java API,
Transit
+ accesses an artifact through an <strong>artifact URI</strong>.
+ The artifact URI thus serves the dual purpose of identifying the
+ artifact and providing a means for Transit to retrieve the file.
+ </p>
+
+ <p>
+ The artifact URI describes the:
+ <ul>
+ <li>type of resource (JAR, meta, template...)</li>
+ <li>group to which the artifact belongs</li>
+ <li>name of the artifact</li>
+ <li>version</li>
+ </ul>
+ </p>
+
+ <p>
+ The purpose of the group is to avoid naming conflicts in the
artifact
+ name space. The top level group should be a distinguishable and
well
+ accepted name of the organisation, and any sub groups to be decided
+ by the organisation itself to further avoid name clashes.
+ It is recommended that the bottom level group is the release
level, i.e.
+ all resources within the 'release' shares the same version and are
+ meant to be working in a group within that version, and not mixed
+ between versions.
+ </p>
+
+ <p>
+ Transit promotes strong version management. The underlying problem
is
+ that many parts of the system are dependent on particular versions
of
+ another part or resource, and can not be freely mixed. To ensure
+ that all dependencies are resolved against the proper versions, it
is
+ paramount that a version management system is in place, and
policies
+ are established. From Transit's point of view, the version is an
+ opaque identifier without any in-built semantic meaning.
+ </p>
+
+ <p>
+ These identifiers disassociate the definition of an application
+ from the source of the resources needed to build and deploy the
+ application. Meaning, it is only in the interest of the user of
+ the resources, be it built tools or running applications, that the
+ <strong>correct</strong> resources are provided, and not from which
+ server these were downloaded. The task of resolving the location
+ is transferred from each application to Transit itself, which is
+ configured to know about which servers are available in its running
+ environment.
+ </p>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/classloading.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/classloading.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 David Leangen
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="true">
+ <section name="Classloader Construction">
+
+ <p>
+ Layered above the Transit artifact protocol handler is a system that
+ provides support for the creation of classloaders. Classloaders are
+ described under a 'plugin' file which is basically a list of
dependent
+ artifact uris and their location in the classloader hierarchy. The
+ plugin file is itself normally referenced as an artifact which means
+ that the list is itself versioned, named, associated with a group,
and
+ dynamically resolvable.
+ </p>
+
+ <p><i>Example classloader descriptor artifact uri:</i></p>
+
+ <code>@METRO-PLUGIN-URI@</code>
+
+ <p>
+ The plugin file declares api, spi and implementation jar files in
+ the form of artifact uris. Transit uses this information to
+ construct a classloader chain.
+ </p>
+
+ <img src="/images/transit/@TRANSIT-BUILD-ID@/chain.png"/>
+
+ <p>
+ Plugin files use a simple property file format to declare features of
+ of the classloader, including information used when resolving
plugins.
+ This information is normally created automatically using the
+ <a href="/products/magic/tasks/export.html">Export Task</a> from the
+ <a href="/products/magic/index.html">Magic</a> build system.
+ </p>
+
+ <p>
+ The following code fragment demonstrates the relatively simple
process of
+ creating a new classloader using Transit.
+ </p>
+
+<source>
+Repository repository = new StandardLoader();
+ClassLoader parent = getClass().getClassLoader();
+URI uri = new URI( "artifact:plugin:dpml/examples/hello/hello-world#1.0.0" );
+ClassLoader classloader = repository.getClassloader( parent, uri );
+</source>
+
+ </section>
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/features.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/features.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 David Leangen
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="false">
+ <section name="Features and Benefits">
+
+ <p>
+ The core of the Transit product is a URL protocol handler which
serves as
+ the basic construct on which classloader management in provided.
The classloader
+ creation services provide the framework with a simple plugin
framework.
+ </p>
+
+ <p>
+ Key features of the Transit system include:
+ </p>
+
+ <ol>
+ <li>high level of integration with the JVM</li>
+ <li>simple configuration model</li>
+ <li>small footprint</li>
+ <li>flexible event monitoring</li>
+ </ol>
+
+ <p>
+ Key benefits delivered by Transit include:
+ </p>
+
+ <ol>
+ <li>cost reduction on product deployment and upgrade</li>
+ <li>reduced risk though improved control over version management</li>
+ <li>improved quality through reduction in class conflicts</li>
+
+ <li>improved security through repository management</li>
+ <li>low maintenance though centralized configuration</li>
+ </ol>
+
+ </section>
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 David Leangen
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="true">
+
+ <section name="Product Overview">
+
+ <p>
+ One of the more difficult tasks when building Java applications
+ is managing classloaders. Often, when combining
+ various projects together into an enterprise application, the
+ application is not able to load the right classes at the right time,
+ causing the application to fail in mysterious and sometimes subtle
+ ways. Although a fundamental issue, classloading has remained
+ a rather obscure topic. Not surprisingly, many Java projects fail
+ to manage classloaders effectively.
+
+ Transit provides a solution to this problem.
+ </p>
+
+ <p>
+ At the core of Transit is a URL protocol handler, a classloader meta
+ information descriptor and plugin loader.
+ Based on these, Transit is able to manage classloaders, not only
+ effectively and nearly invisible to the casual user, but in a
location
+ independent way. That means, applications don't need to be concerned
over
+ where the jars and other resources are located, whether on the local
file
+ system, on LAN servers or somewhere on the Internet.
+ This allows an application to provide extendability, hot-redeployment
+ and more advanced services.
+ </p>
+
+ <p>
+ In other words, Transit helps to realize the full potential of a
+ Java application.
+ </p>
+
+<!--
+ <subsection name="Features and Benefits">
+ <a name="features"/>
+
+ <p>
+ Key features of the Transit system include:
+ </p>
+
+ <ol>
+ <li>high level of integration with the JVM</li>
+ <li>simple configuration model</li>
+ <li>small footprint</li>
+ <li>flexible event monitoring</li>
+ </ol>
+
+ <p>
+ Key benefits delivered by Transit include:
+ </p>
+
+ <ol>
+ <li>cost reduction on product deployment and upgrade</li>
+ <li>reduced risk though improved control over version
management</li>
+ <li>improved quality through reduction in class conflicts</li>
+ <li>improved security through repository management</li>
+ <li>low maintenance though centralized configuration</li>
+ </ol>
+ </subsection>
+-->
+
+ </section>
+
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+ Copyright 2005 David Leangen
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+
+ <!--
+ <item name="Features and Benefits" href="features.html"/>
+ <item name="Dynamic Retrieval" href="retrieval.html"/>
+ -->
+
+ <item name="Dynamic Retrieval" href="artifact.html"/>
+ <item name="Classloader Construction" href="classloading.html"/>
+ <item name="Plugin Management" href="plugins.html"/>
+
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/plugins.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/overview/plugins.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <contributor email="dleangen AT dpml.net">David Leangen</contributor>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body verified="true">
+ <section name="Plugin Management">
+
+ <p>
+ In addition to the structural classloader information - the plugin
file
+ may contain the declaration of a main class or an internal resource
and
+ namespace. The resource path information is a special case used
within the
+ Magic build system to support dynamic task loading. The main class
+ declaration is the entry point for classic plugin class loading
relative
+ to an established classloader.
+ </p>
+
+ <p>
+ The Transit repository service provides support for class creation
and
+ object instantiation. Class creation is typically used by
applications
+ that handle a particular semantics concerning a plugin model whereas
+ the Transit object instantiation provides a simple but flexible model
+ suitable for control over selectable sub-system strategies (e.g. the
+ loading of a logging system or application runtime).
+ </p>
+
+ <p>
+ The following code fragments demonstrates the creation of a plugin
instance
+ using Transit's standard plugin loader.
+ </p>
+
+ <p>
+ We create a API project called hello-api, which contains the
following
+ interface.
+ </p>
+<source>
+/**
+ * API of the Hello service.
+ */
+public interface Hello
+{
+ void announce();
+}
+</source>
+ <p>
+ And then we need an implementation of the API, and we call that
+ hello-impl.
+ </p>
+<source>
+/**
+ * Implementation of the Hello API.
+ */
+public class HelloImpl
+ implements Hello
+{
+ private String m_message;
+
+ public Hello( String message )
+ {
+ m_message = message;
+ }
+
+ public void announce()
+ {
+ System.out.println( m_message );
+ }
+}
+</source>
+
+ <p>
+ so we need to do the following from the class that loads the plugin;
+ </p>
+
+<source>
+ Repository repository = new StandardLoader();
+ ClassLoader parent = getClass().getClassLoader();
+ URI uri = new URI(
"artifact:plugin:mycompany/thisproject/hello-impl#1.4.1" );
+ Object[] args = new Object[] { "Hello, World!" };
+ Object plugin = repository.getPlugin( parent, uri, args );
+ if( plugin instanceof Hello )
+ {
+ m_hello = (Hello) plugin;
+ }
+ else
+ {
+ throw Exception( "Loaded plugin is not of the right type." );
+ }
+ :
+ :
+ :
+ m_hello.announce();
+</source>
+ <p>
+ For this to work, you will also need to create the plugin meta
+ descriptor. The easiest way is to use the DPML Magic build system,
+ but it can also be done manually or with other tools. The above
+ would need a simple descriptor like this;
+ </p>
+<source>
+
+#
+# Specification classifier.
+#
+dpml.plugin.meta.namespace = net.dpml
+dpml.plugin.meta.version = 1.0
+
+#
+# Artifact descriptor.
+#
+dpml.artifact.group = mycompany/thisproject
+dpml.artifact.name = hello-impl
+dpml.artifact.version = 1.4.1
+dpml.artifact.signature = 20050116.140842
+
+#
+# Type.
+#
+dpml.plugin.class = com.mycompany.thisproject.HelloImpl
+
+#
+# API dependency.
+#
+dpml.artifact.dependency.api.0 =
artifact:jar:mycompany/thisproject/hello-api#1.4.1
+
+#
+# SPI dependencies.
+#
+# No SPI dependencies
+# dpml.artifact.dependency.spi.0 =
+
+#
+# Implementation dependencies.
+#
+# No impl dependencies
+# dpml.artifact.dependency.0 =
+</source>
+ <p>
+ Now, the beauty of Transit is that IF the hello-api artifact is
present
+ in the parent classloader (or higher), the API classloader will NOT
+ receive an additional instance of the Jar. This means that, if
+ the plugin user have the hello-api already loaded it is not added
to the
+ API classloader, and the correct classloader management is ensured.
+ Furthermore, if any of the Classloaders in the chain
+ becomes empty, i.e. no new URLs not present in the parent
structure,
+ then the Classloader in question is not created.
+ </p>
+ <p>
+ Examples of plugin loading and general plugin handling is provided
+ under the <a
href="/guide/transit/@TRANSIT-BUILD-ID@/plugins/index.html">Transit Guide</a>.
+ </p>
+ </section>
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<document>
+ <properties>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Downloading and Installation">
+
+ <subsection name="Download">
+
+ <p>
+ A binary download of build @TRANSIT-BUILD-ID@ is available for the
Unix and
+ Windows platforms.
+ </p>
+
+ <table>
+ <tr><th></th><th>Binary</th><th></th><th></th></tr>
+ <tr>
+ <td>Windows</td>
+ <td>
+ <a
href="http://depot.dpml.net/home/@TRANSIT-BUILD-ID@/dpml-home-@TRANSIT-BUILD-ID@.zip">
+ dpml-home-@TRANSIT-BUILD-ID@.zip</a>
+ </td>
+ <td>
+ <a
href="http://depot.dpml.net/home/@TRANSIT-BUILD-ID@/dpml-home-@TRANSIT-BUILD-ID@.zip.md5">MD5</a>
+ </td>
+ <td>
+ <a
href="http://depot.dpml.net/home/@TRANSIT-BUILD-ID@/dpml-home-@TRANSIT-BUILD-ID@.zip.asc">ASC</a>
+ </td>
+ </tr>
+ <tr>
+ <td>Windows</td>
+ <td>
+ <a
href="http://depot.dpml.net/home/@TRANSIT-BUILD-ID@/dpml-home-@TRANSIT-BUILD-ID@.tar.gz">
+ dpml-home-@TRANSIT-BUILD-ID@.zip</a>
+ </td>
+ <td>
+ <a
href="http://depot.dpml.net/home/@TRANSIT-BUILD-ID@/dpml-home-@TRANSIT-BUILD-ID@.tar.gz.md5">MD5</a>
+ </td>
+ <td>
+ <a
href="http://depot.dpml.net/home/@TRANSIT-BUILD-ID@/dpml-home-@TRANSIT-BUILD-ID@.tar.gz.asc">ASC</a>
+ </td>
+ </tr>
+ </table>
+
+ </subsection>
+
+ <subsection name="Installation and Setup">
+
+ <p>
+ Installation procedures for the <a href="windows/index.html">Windows
Platform</a>
+ and <a href="unix/index.html">Unix Platform</a> provide details on
the setup of
+ environment and PATHs, together with notes concerning setup under
single and
+ multiuser environments.
+ </p>
+
+ </subsection>
+
+ </section>
+ </body>
+</document>
+
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/setup/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright 2004 Stephen McConnell
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>DPML Guide</title>
+
+ <body>
+
+ <menu>
+ <item name="Windows" href="windows/index.html"/>
+ <item name="Unix" href="unix/index.html"/>
+ </menu>
+
+ </body>
+
+</project>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/index.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/index.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Copyright 2005 David Leangen
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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>
+ <author email="mcconnell AT dpml.net">Stephen McConnell</author>
+ <author email="niclas AT hedhman.org">Niclas Hedhman</author>
+ <author email="david.leangen AT konova.com">David Leangen</author>
+ <title>DPML Transit</title>
+ </properties>
+
+ <body>
+ <section name="Transit Reference Specifications">
+
+ <subsection name="URI"><source>@TRANSIT-MAIN-URI@</source></subsection>
+
+ <subsection name="Overview">
+ <p>
+ The section contains the formal specification of the Transit system.
+ This includes the description of the <a
href="protocol\index.html">artifact protocol</a>
+ (a uri that can be used to construct a url which in turn can be used
to resolve
+ an artifact to a locally cached resource), the underlying <a
href="cache\index.html">
+ cache</a> management system and associated <a
href="hosts/index.html">hosts</a>. In
+ addition, the specification cover the transit <a
href="monitors/index.html">event</a>
+ monitoring system, the <a href="repository/index.html">repository
service</a> and the
+ application <a href="launcher/index.html">launcher</a>.
+ </p>
+ </subsection>
+
+ </section>
+ </body>
+</document>
Added:
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/navigation.xml
==============================================================================
--- (empty file)
+++
development/main/central/site/src/docs/products/transit/SNAPSHOT/technical/navigation.xml
Thu Feb 3 19:26:02 2005
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2004 Stephen McConnell
+ Copyright 2004 Niclas Hedhman
+
+ Licensed 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.dpml.net/central/about/legal/
+
+ 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.
+-->
+
+<project>
+
+ <title>Transit</title>
+
+ <body>
+
+ <menu>
+ <item name="Artifact Protocol" href="protocol/index.html"/>
+ <item name="Cache Management" href="cache/index.html"/>
+ <item name="Local and Remote Hosts" href="hosts/index.html"/>
+ <item name="Event Monitors" href="monitors/index.html"/>
+ <item name="Repository Service" href="repository/index.html"/>
+ <item name="Application Launcher" href="launcher/index.html"/>
+ </menu>
+
+ </body>
+
+</project>
- svn commit: r1715 - in development/main/central/site/src/docs/products: magic/plugins magic/plugins/checkstyle magic/tasks transit/000/antlib transit/000/setup/unix transit/000/setup/windows transit/SNAPSHOT/antlib transit/SNAPSHOT/concepts transit/SNAPSHOT/glossary transit/SNAPSHOT/overview transit/SNAPSHOT/setup transit/SNAPSHOT/setup/unix transit/SNAPSHOT/setup/windows transit/SNAPSHOT/technical transit/SNAPSHOT/technical/cache transit/SNAPSHOT/technical/hosts transit/SNAPSHOT/technical/launcher transit/SNAPSHOT/technical/monitors transit/SNAPSHOT/technical/protocol transit/SNAPSHOT/technical/repository, mcconnell, 02/03/2005
Archive powered by MHonArc 2.6.24.