You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by wg...@apache.org on 2007/03/31 22:51:52 UTC

svn commit: r524478 [1/3] - in /velocity/anakia/trunk: ./ build/ src/ src/java/ src/java/org/ src/java/org/apache/ src/java/org/apache/anakia/ src/test/ src/test/org/ src/test/org/apache/ src/test/org/apache/anakia/ src/test/org/apache/anakia/test/ tes...

Author: wglass
Date: Sat Mar 31 13:51:49 2007
New Revision: 524478

URL: http://svn.apache.org/viewvc?view=rev&rev=524478
Log:
initial migration from engine codebase to new Anakia subproject

Added:
    velocity/anakia/trunk/LICENSE
    velocity/anakia/trunk/NOTICE
    velocity/anakia/trunk/build/   (with props)
    velocity/anakia/trunk/build/build.properties   (with props)
    velocity/anakia/trunk/build/build.xml   (with props)
    velocity/anakia/trunk/build/download.xml   (with props)
    velocity/anakia/trunk/pom.xml   (with props)
    velocity/anakia/trunk/src/
    velocity/anakia/trunk/src/java/
    velocity/anakia/trunk/src/java/org/
    velocity/anakia/trunk/src/java/org/apache/
    velocity/anakia/trunk/src/java/org/apache/anakia/
    velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaElement.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaJDOMFactory.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaTask.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/Escape.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/NodeList.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/OutputWrapper.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/TreeWalker.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/XPathCache.java   (with props)
    velocity/anakia/trunk/src/java/org/apache/anakia/XPathTool.java   (with props)
    velocity/anakia/trunk/src/test/
    velocity/anakia/trunk/src/test/org/
    velocity/anakia/trunk/src/test/org/apache/
    velocity/anakia/trunk/src/test/org/apache/anakia/
    velocity/anakia/trunk/src/test/org/apache/anakia/AnakiaTestCase.java   (with props)
    velocity/anakia/trunk/src/test/org/apache/anakia/test/
    velocity/anakia/trunk/src/test/org/apache/anakia/test/Log.java   (with props)
    velocity/anakia/trunk/src/test/org/apache/anakia/test/TestUtil.java   (with props)
    velocity/anakia/trunk/test/
    velocity/anakia/trunk/test/anakia/
    velocity/anakia/trunk/test/anakia/compare/
    velocity/anakia/trunk/test/anakia/compare/index.context.html   (with props)
    velocity/anakia/trunk/test/anakia/compare/index.html   (with props)
    velocity/anakia/trunk/test/anakia/compare/index.html.bak
    velocity/anakia/trunk/test/anakia/velocity.properties   (with props)
    velocity/anakia/trunk/test/anakia/xdocs/
    velocity/anakia/trunk/test/anakia/xdocs/index.xml   (with props)
    velocity/anakia/trunk/test/anakia/xdocs/stylesheets/
    velocity/anakia/trunk/test/anakia/xdocs/stylesheets/customContext.xml   (with props)
    velocity/anakia/trunk/test/anakia/xdocs/stylesheets/project.xml   (with props)
    velocity/anakia/trunk/test/anakia/xdocs/stylesheets/site.vsl
    velocity/anakia/trunk/test/anakia/xdocs/stylesheets/site_contexts.vsl
    velocity/anakia/trunk/xdocs/
    velocity/anakia/trunk/xdocs/docs/
    velocity/anakia/trunk/xdocs/docs/anakia.xml   (with props)
    velocity/anakia/trunk/xdocs/images/
    velocity/anakia/trunk/xdocs/images/pbv90x30.png   (with props)
    velocity/anakia/trunk/xdocs/images/powered-by-logo.gif   (with props)
    velocity/anakia/trunk/xdocs/images/powered-by-logo.psd   (with props)
    velocity/anakia/trunk/xdocs/images/velocity-logo.png   (with props)
    velocity/anakia/trunk/xdocs/images/velocity_project_wide.png   (with props)
    velocity/anakia/trunk/xdocs/images/velocity_project_wide.xcf   (with props)
    velocity/anakia/trunk/xdocs/site.css   (with props)
    velocity/anakia/trunk/xdocs/stylesheets/
    velocity/anakia/trunk/xdocs/stylesheets/project.xml   (with props)
    velocity/anakia/trunk/xdocs/stylesheets/site.vsl
Modified:
    velocity/anakia/trunk/   (props changed)

Propchange: velocity/anakia/trunk/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Mar 31 13:51:49 2007
@@ -0,0 +1,4 @@
+.classpath
+.project
+bin
+.settings

Added: velocity/anakia/trunk/LICENSE
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/LICENSE?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/LICENSE (added)
+++ velocity/anakia/trunk/LICENSE Sat Mar 31 13:51:49 2007
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: velocity/anakia/trunk/NOTICE
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/NOTICE?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/NOTICE (added)
+++ velocity/anakia/trunk/NOTICE Sat Mar 31 13:51:49 2007
@@ -0,0 +1,2 @@
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).

Propchange: velocity/anakia/trunk/build/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Mar 31 13:51:49 2007
@@ -0,0 +1 @@
+velocity.log

Added: velocity/anakia/trunk/build/build.properties
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/build/build.properties?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/build/build.properties (added)
+++ velocity/anakia/trunk/build/build.properties Sat Mar 31 13:51:49 2007
@@ -0,0 +1,131 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.    
+
+#
+# This file is used by build.xml 
+#
+
+# Global defaults
+name=          Velocity Anakia
+project=       anakia
+version=       1.0-dev
+final.name=    ${project}-${version}
+root.package=  org.apache.anakia
+
+# compile switches
+debug= on
+optimize= on
+deprecation= off
+
+ant.build.dir= build
+
+build.dir= ${app.dir}/bin
+
+# The source tree runs through a filter copy task to
+# allow substitution of version, date etc. and will
+# end up in build.src
+build.lib=       ${build.dir}/lib
+build.test.lib=  ${build.dir}/test-lib
+build.dest=      ${build.dir}/classes
+build.test.dest= ${build.dir}/test-classes
+build.javadoc=   ${build.dir}/apidocs
+build.test=      ${build.dir}/test
+build.docs=      ${build.dir}/docs
+
+# Various local pathes in the distribution
+src.java.dir=  ${app.dir}/src/java
+test.java.dir= ${app.dir}/src/test
+test.dir=      ${app.dir}/test
+example.dir=   ${app.dir}/examples
+xdocs.dir=     ${app.dir}/xdocs
+
+# Running the tests
+test.haltonerror= true
+test.haltonfailure= true
+
+# Building the distribution
+dist.root= ${build.dir}/dist
+dist.dir= ${dist.root}/${final.name}
+
+# Set to Sun Javadocs
+javadocs.ref.jsdk= http://java.sun.com/j2se/1.4.2/docs/api/
+
+# for the javadoc
+javadoc.packagenames = ${root.package}.*
+
+# attributes for the jar manifest
+mf.package = ${root.package}
+mf.extension.name = ${project}
+mf.specification.title = Anakia is a XML-based text processor
+mf.specification.vendor = Apache Software Foundation
+mf.implementation.title = ${mf.package}
+mf.implementation.vendor.id = org.apache
+mf.implementation.vendor = Apache Software Foundation
+mf.implementation.version = ${version}
+
+
+# #######################################################################
+#
+# Downloading jars from ibiblio repository
+#
+# #######################################################################
+
+# The default behaviour is to download dependency jars only when
+# they are not already present.
+# Set skip.jar.loading to true to never download any dependency jar,
+# or force.jar.loading to true to always download all dependency jars.
+skip.jar.loading= false
+force.jar.loading= false
+
+#
+# Settings for the proxy to use for download. Change this if you must
+# use a proxy from your host. If the proxy.host property is unset, no
+# proxy is used.
+proxy.host=
+proxy.port= 80
+
+#
+# We download directly from the ibiblio maven repository
+repo.url= http://www.ibiblio.org/maven
+
+#
+# Jars to be downloaded
+jar.antlr.version= 2.7.5
+jar.avalon-logkit.version= 2.1
+jar.commons-collections.version= 3.1
+jar.commons-lang.version= 2.1
+jar.jdom.version= 1.0
+jar.log4j.version= 1.2.12
+jar.werken-xpath.version= 0.9.4
+jar.junit.version= 3.8.1
+jar.velocity.version= 1.5
+
+
+
+
+########################################################################
+# Gump wants to override these names, so make
+# it configurable...
+#
+jar.commons-collections.name= commons-collections
+jar.commons-lang.name = commons-lang
+
+jar.commons-collections.dir= ${build.lib}
+jar.commons-lang.dir= ${build.lib}
+#
+########################################################################
+

Propchange: velocity/anakia/trunk/build/build.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/anakia/trunk/build/build.properties
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Revision

Added: velocity/anakia/trunk/build/build.xml
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/build/build.xml?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/build/build.xml (added)
+++ velocity/anakia/trunk/build/build.xml Sat Mar 31 13:51:49 2007
@@ -0,0 +1,540 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.    
+-->
+
+<!-- Build file for project -->
+
+<!-- This project has its basedir set to the root directory   -->
+<!-- of the project distribution. This is necessary so that   -->
+<!-- all the code that uses relative directory references     -->
+<!-- (like the tests) can be run in the same way when using   -->
+<!-- the ant based build and the maven based build.           -->
+<!-- *** DO NOT CHANGE THIS SETTING LIGHTLY! ***              -->
+
+<project name="${name}" default="world" basedir="..">
+
+  <path id="basedir-os">
+    <pathelement location="${basedir}" />
+  </path>
+  <!-- This is the relative base dir. This must be the root of the   -->
+  <!-- distribution. All relative pathes are prefixed with      -->
+  <!-- app.dir                                                  -->
+  <pathconvert property="app.dir" refid="basedir-os" targetos="unix"/>
+
+  <!-- Give user a chance to override without editing this file
+       (and without typing -D each time it compiles it -->
+  <property file="${user.home}/.ant.properties" />
+  <property file="${user.home}/build.properties" />
+  <property file=".ant.properties" />
+
+  <!-- This file contains all the defaults for the build  -->
+  <property file="build/build.properties" />
+
+
+  <property name="test.runner" value="junit.textui.TestRunner"/>
+
+  <target name="world" depends="jar,test,javadocs,docs,env"
+          description="Build the Anakia Jar and Documentation"/>
+
+  <!-- =================================================================== -->
+  <!-- prints the environment                                              -->
+  <!-- =================================================================== -->
+  <target name="env" description="Prints build parameters">
+    <echo>
+  Global settings:
+    java.home = ${java.home}
+    user.home = ${user.home}
+    java.class.path = ${java.class.path}
+
+  Anakia settings:
+    Version:     ${version}
+    Debug:       ${debug}
+    Optimize:    ${optimize}
+    Deprecation: ${deprecation}
+
+  Target settings (relative to build tree root):
+    Classes:      ${build.dest}
+    API Docs:     ${build.javadoc}
+    Docs:         ${build.docs}
+    </echo>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Prepares the build directory                                        -->
+  <!-- =================================================================== -->
+  <target name="prepare" depends="basic-prepare"/>
+
+  <!-- =================================================================== -->
+  <!-- sets up the build trees for sources and tests                       -->
+  <!-- =================================================================== -->
+  <target name="basic-prepare">
+
+    <mkdir dir="${build.dir}"/>
+    <mkdir dir="${build.dest}"/>
+    <mkdir dir="${build.test.dest}"/>
+
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- sets up the build environment (classpath and libs)                  -->
+  <!-- =================================================================== -->
+  <target name="build-prepare" depends="basic-prepare">
+    <ant antfile="${ant.build.dir}/download.xml" target="build-download" />
+
+    <!-- Build classpath -->
+    <path id="build.classpath">
+      <fileset dir="${build.lib}">
+        <include name="**/*.jar"/>
+      </fileset>
+    </path>
+
+    <!-- Test classpath, contains dependencies needed only for Testing -->
+    <path id="test.classpath">
+        <fileset dir="${build.test.lib}">
+          <include name="**/*.jar"/>
+        </fileset>
+        <fileset dir="${build.lib}">
+          <include name="**/*.jar"/>
+        </fileset>
+        <pathelement location="${build.dest}" />
+        <pathelement location="${build.test.dest}" />
+    </path>
+
+    <path id="run.classpath">
+      <path refid="build.classpath"/>
+      <pathelement location="${build.dir}/${final.name}.jar"/>
+    </path>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Compiles the source tree and the tests                              -->
+  <!-- =================================================================== -->
+  <target name="compile" depends="compile-src,compile-test"/>
+
+  <target name="compile-src" depends="build-prepare"
+          description="Compiles the source">
+    <javac srcdir="${src.java.dir}"
+      destdir="${build.dest}"
+      encoding="UTF-8"
+      debug="${debug}"
+      deprecation="${deprecation}"
+      optimize="${optimize}"
+      classpathref="build.classpath"/>
+
+    <copy todir="${build.dest}" filtering="yes">
+      <fileset dir="${src.java.dir}">
+        <include name="**/*.properties"/>
+      </fileset>
+    </copy>
+
+  </target>
+
+  <target name="compile-test" depends="build-prepare,compile-src"
+          description="Compiles the test classes">
+    <javac srcdir="${test.java.dir}"
+      destdir="${build.test.dest}"
+      encoding="UTF-8"
+      debug="${debug}"
+      deprecation="${deprecation}"
+      optimize="${optimize}">
+
+      <!-- Don't use the run classpath, build using the exploded class tree -->
+      <classpath>
+        <path refid="build.classpath"/>
+        <path refid="test.classpath" />
+        <pathelement location="${build.dest}"/>
+      </classpath>
+    </javac>
+
+    <copy todir="${build.test.dest}" filtering="yes">
+      <fileset dir="${test.java.dir}">
+        <include name="**/*.properties"/>
+      </fileset>
+    </copy>
+  </target>
+
+
+  <!-- =================================================================== -->
+  <!-- Compiles the source directory and creates a .jar file               -->
+  <!-- =================================================================== -->
+  <target name="jar" depends="compile-src"
+          description="Builds the Jar file">
+    <property name="jarname" value="${final.name}" />
+
+    <jar jarfile="${build.dir}/${jarname}.jar">
+
+      <metainf dir="${app.dir}">
+        <include name="LICENSE"/>
+        <include name="NOTICE"/>
+      </metainf>
+
+      <fileset dir="${build.dest}"/>
+      <manifest>
+        <attribute name="Created-By" value="Apache Ant"/>
+        <attribute name="Build-Jdk" value="${java.version}"/>
+
+        <attribute name="Package" value="${mf.package}"/>
+        <attribute name="Extension-Name" value="${mf.extension.name}"/>
+        <attribute name="Specification-Title" value="${mf.specification.title}" />
+        <attribute name="Specification-Vendor" value="${mf.specification.vendor}"/>
+        <attribute name="Implementation-Title" value="${mf.implementation.title}"/>
+        <attribute name="Implementation-Vendor-Id" value="${mf.implementation.vendor.id}"/>
+        <attribute name="Implementation-Vendor" value="${mf.implementation.vendor}"/>
+        <attribute name="Implementation-Version" value="${mf.implementation.version}"/>
+
+      </manifest>
+    </jar>
+    <checksum file="${build.dir}/${jarname}.jar" algorithm="md5" property="checksum.jar.md5"/>
+    <checksum file="${build.dir}/${jarname}.jar" algorithm="sha1" property="checksum.jar.sha1"/>
+    <echo message="${checksum.jar.md5} *${jarname}.jar" file="${build.dir}/${jarname}.jar.md5" />
+    <echo message="${checksum.jar.sha1} *${jarname}.jar" file="${build.dir}/${jarname}.jar.sha1" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- jars the source                                                    -->
+  <!-- ================================================================== -->
+  <target name="jar-src"
+          depends="prepare"
+          description="Builds the Source Jar File">
+    <jar jarfile="${build.dir}/${final.name}-src.jar">
+      <metainf dir="${app.dir}">
+        <include name="LICENSE"/>
+        <include name="NOTICE"/>
+      </metainf>
+
+      <fileset dir="${src.java.dir}"/>
+      <manifest>
+        <attribute name="Created-By" value="Apache Ant"/>
+
+        <attribute name="Specification-Title" value="${mf.specification.title}" />
+        <attribute name="Specification-Vendor" value="${mf.specification.vendor}"/>
+        <attribute name="Implementation-Title" value="${mf.implementation.title}"/>
+        <attribute name="Implementation-Vendor-Id" value="${mf.implementation.vendor.id}"/>
+        <attribute name="Implementation-Vendor" value="${mf.implementation.vendor}"/>
+        <attribute name="Implementation-Version" value="${mf.implementation.version}"/>
+
+      </manifest>
+    </jar>
+    <checksum file="${build.dir}/${final.name}-src.jar" algorithm="md5" property="checksum.jar-src.md5"/>
+    <checksum file="${build.dir}/${final.name}-src.jar" algorithm="sha1" property="checksum.jar-src.sha1"/>
+    <echo message="${checksum.jar-src.md5} *${final.name}-src.jar" file="${build.dir}/${final.name}-src.jar.md5" />
+    <echo message="${checksum.jar-src.sha1} *${final.name}-src.jar" file="${build.dir}/${final.name}-src.jar.sha1" />
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Creates the API documentation                                       -->
+  <!-- =================================================================== -->
+  <target name="javadocs" depends="build-prepare"
+          description="Creates the Javadoc API documentation">
+
+    <mkdir dir="${build.javadoc}"/>
+
+    <javadoc sourcepath="${src.java.dir}"
+             packagenames="${javadoc.packagenames}"
+             destdir="${build.javadoc}"
+             author="true"
+             private="false"
+             version="true"
+             use="true"
+             windowtitle="${name} ${version} API"
+             doctitle="${name} ${version} API"
+             encoding="UTF-8"
+             docencoding="UTF-8"
+             bottom="Copyright &#169; 2000-${build.year} &lt;a href=&quot;http://www.apache.org/&quot;&gt;Apache Software Foundation&lt;/a&gt;. All Rights Reserved."
+             classpathref="build.classpath">
+
+      <link href="${javadocs.ref.jsdk}"/>
+      <link href="http://www.jdom.org/docs/apidocs"/>
+      <link href="http://logging.apache.org/log4j/docs/api"/>
+      <link href="http://excalibur.apache.org/apidocs"/>
+      <link href="http://tomcat.apache.org/tomcat-4.1-doc/servletapi"/>
+      <link href="http://jakarta.apache.org/oro/api"/>
+      <link href="http://jakarta.apache.org/commons/lang/api-release"/>
+      <link href="http://jakarta.apache.org/commons/collections/api-release"/>
+    </javadoc>
+  </target>
+
+  <target name="javadocs-clean">
+    <delete dir="${build.javadoc}" quiet="true"/>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Package                                                             -->
+  <!-- =================================================================== -->
+  <target name="build-package-tree" depends="clean,jar,docs,javadocs">
+
+
+    <mkdir dir="${dist.dir}"/>
+    <mkdir dir="${dist.dir}/src/java"/>
+
+    <copy todir="${dist.dir}/src/java/">
+      <fileset dir="${src.java.dir}" />
+    </copy>
+
+    <copy todir="${dist.dir}/src/test/">
+      <fileset dir="${test.java.dir}" />
+    </copy>
+
+    <copy todir="${dist.dir}/lib">
+      <fileset dir="${build.lib}" />
+    </copy>
+
+    <copy todir="${dist.dir}/lib/test">
+      <fileset dir="${build.test.lib}" />
+    </copy>
+
+    <copy todir="${dist.dir}/build">
+      <fileset dir="${app.dir}/build">
+        <include name="**"/>
+        <exclude name="velocity.log"/>
+      </fileset>
+    </copy>
+
+    <!-- Copy docs, exclude API docs -->
+    <copy todir="${dist.dir}/docs">
+      <fileset dir="${build.docs}">
+        <include name="**"/>
+        <exclude name="docs/api/**"/>
+      </fileset>
+    </copy>
+
+    <!-- Add freshly built Java docs -->
+    <copy todir="${dist.dir}/docs/api">
+      <fileset dir="${build.javadoc}">
+        <include name="**"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${dist.dir}/test">
+      <fileset dir="${app.dir}/test">
+        <include name="**"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${dist.dir}/xdocs">
+      <fileset dir="${xdocs.dir}">
+        <include name="**"/>
+      </fileset>
+    </copy>
+
+    <copy todir="${dist.dir}">
+      <fileset dir="${app.dir}">
+        <include name="LICENSE" />
+        <include name="NOTICE" />
+        <include name="README.txt" />
+        <include name="pom.xml" />
+      </fileset>
+    </copy>
+
+    <copy
+      file="${build.dir}/${final.name}.jar"
+      tofile="${dist.dir}/${final.name}.jar"
+    />
+
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Packages the distribution with ZIP                                 -->
+  <!-- ================================================================== -->
+  <target name="package-zip"
+          depends="build-package-tree">
+
+    <!-- .zip built for Windows -->
+    <fixcrlf srcdir="${dist.dir}" eol="crlf" eof="asis" encoding="ISO-8859-1">
+      <include name="**/*.html" />
+      <include name="**/*.java" />
+      <include name="**/*.properties" />
+      <include name="**/*.txt" />
+      <include name="**/*.xml" />
+    </fixcrlf>
+
+    <delete file="${build.dir}/${final.name}.zip" quiet="true"/>
+    <zip zipfile="${build.dir}/${final.name}.zip" basedir="${dist.root}"
+         includes="**/${final.name}/**"/>
+
+    <checksum file="${build.dir}/${final.name}.zip" algorithm="md5" property="checksum.zip.md5"/>
+    <checksum file="${build.dir}/${final.name}.zip" algorithm="sha1" property="checksum.zip.sha1"/>
+    <echo message="${checksum.zip.md5} *${final.name}.zip" file="${build.dir}/${final.name}.zip.md5" />
+    <echo message="${checksum.zip.sha1} *${final.name}.zip" file="${build.dir}/${final.name}.zip.sha1" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Packages the distribution with TAR-GZIP                            -->
+  <!-- ================================================================== -->
+  <target name="package-tgz"
+          depends="build-package-tree">
+
+    <!-- .tar.gz built for Unix -->
+    <fixcrlf srcdir="${dist.dir}" eol="lf" eof="remove" encoding="ISO-8859-1">
+      <include name="**/*.html" />
+      <include name="**/*.java" />
+      <include name="**/*.properties" />
+      <include name="**/*.txt" />
+      <include name="**/*.xml" />
+    </fixcrlf>
+
+    <delete file="${build.dir}/${final.name}.tar.gz" quiet="true"/>
+    <tar tarfile="${build.dir}/${final.name}.tar.gz" basedir="${dist.root}"
+         includes="**/${final.name}/**" longfile="gnu" compression="gzip" />
+
+    <checksum file="${build.dir}/${final.name}.tar.gz" algorithm="md5" property="checksum.tgz.md5"/>
+    <checksum file="${build.dir}/${final.name}.tar.gz" algorithm="sha1" property="checksum.tgz.sha1"/>
+    <echo message="${checksum.tgz.md5} *${final.name}.tar.gz" file="${build.dir}/${final.name}.tar.gz.md5" />
+    <echo message="${checksum.tgz.sha1} *${final.name}.tar.gz" file="${build.dir}/${final.name}.tar.gz.sha1" />
+  </target>
+
+
+  <!-- ================================================================== -->
+  <!-- Packages the distribution with ZIP and TAR-GZIP                    -->
+  <!-- ================================================================== -->
+  <target name="package"
+          depends="package-zip,package-tgz"
+          description="Generates the distribution files">
+  </target>
+
+  
+  <!-- ======================================================================= -->
+  <!-- Cleans up the build directory. Leave Libs unharmed to avoid re-download -->
+  <!-- ======================================================================= -->
+  <target name="clean" 
+          description="Cleans all generated files except downloaded libs">
+    <delete includeEmptyDirs="true" quiet="true">
+      <fileset dir="${build.dir}" defaultexcludes="no">
+        <exclude name="lib/**" />
+        <exclude name="test-lib/**" />
+      </fileset>
+    </delete>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Really cleans up the build directory                                -->
+  <!-- =================================================================== -->
+  <target name="real-clean" 
+          description="Cleans all generated files">
+    <delete includeEmptyDirs="true" quiet="true" dir="${build.dir}" />
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Make HTML version of the documentation                         -->
+  <!-- =================================================================== -->
+
+  <target name="docs" depends="build-prepare,jar"
+          description="Generates the HTML documentation">
+
+    <taskdef name="anakia"
+             classname="org.apache.anakia.AnakiaTask"
+             classpathref="run.classpath"/>
+
+    <echo>
+  #######################################################
+  #
+  #  Now using Anakia to transform the XML documentation
+  #  to HTML.
+  #######################################################
+    </echo>
+
+    <anakia basedir="${xdocs.dir}/docs" destdir="${build.docs}"
+         extension=".html" style="site.vsl"
+         projectFile="../stylesheets/project.xml"
+         includes="**/*.xml"
+         lastModifiedCheck="true"
+         templatePath="${xdocs.dir}/stylesheets">
+    </anakia>
+
+    <copy todir="${build.docs}/images" filtering="no">
+        <fileset dir="${xdocs.dir}/images">
+            <include name="**/*.gif"/>
+            <include name="**/*.jpeg"/>
+            <include name="**/*.jpg"/>
+            <include name="**/*.png"/>
+        </fileset>
+    </copy>
+
+    <copy todir="${build.docs}" filtering="no">
+        <fileset dir="${xdocs.dir}">
+            <include name="**/*.css"/>
+            <include name="**/.htaccess"/>
+        </fileset>
+    </copy>
+
+  </target>
+
+
+  <!-- =================================================================== -->
+  <!-- Cleans up the docs directory                                       -->
+  <!-- =================================================================== -->
+  <target name="docs-clean">
+    <delete dir="${build.docs}" quiet="true"/>
+  </target>
+
+
+  <!-- =================================================================== -->
+  <!-- JUnit Tests                                                         -->
+  <!-- =================================================================== -->
+
+  <target name="test-clean">
+    <delete dir="${build.test.dest}" quiet="true"/>
+    <delete dir="${build.test}" quiet="true"/>
+    <delete dir="${build.test.reports}" quiet="true"/>
+
+  </target>
+
+
+  <target name="test"
+          depends="build-prepare,compile-test,test-anakia"/>
+
+
+  <target name="test-anakia">
+    <echo message="Running Anakia tests..."/>
+
+    <taskdef name="anakia" classname="org.apache.anakia.AnakiaTask"
+             classpathref="test.classpath"/>
+
+    <!-- run twice - once with custom context and once without -->
+    <anakia basedir="${test.dir}/anakia/xdocs"
+            destdir="${build.test}/anakia"
+        extension=".html" style="./site_contexts.vsl"
+        projectFile="./stylesheets/project.xml"
+        excludes="**/stylesheets/**"
+        includes="**/*.xml"
+        templatePath="${test.dir}/anakia/xdocs/stylesheets"
+        lastModifiedCheck="false">
+    </anakia>
+
+    <anakia basedir="${test.dir}/anakia/xdocs"
+            destdir="${build.test}/anakia"
+        extension=".context.html" style="./site_contexts.vsl"
+        projectFile="./stylesheets/project.xml"
+        excludes="**/stylesheets/**"
+        includes="**/*.xml"
+        templatePath="${test.dir}/anakia/xdocs/stylesheets"
+        lastModifiedCheck="false">
+
+        <context name="customContext" file="./stylesheets/customContext.xml"/>
+    </anakia>
+
+    <java classname="${test.runner}" fork="yes" dir="${app.dir}" failonerror="${test.haltonerror}"
+          classpathref="test.classpath">
+      <arg value="org.apache.anakia.AnakiaTestCase"/>
+    </java>
+  </target>
+
+
+</project>

Propchange: velocity/anakia/trunk/build/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/anakia/trunk/build/build.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Revision

Added: velocity/anakia/trunk/build/download.xml
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/build/download.xml?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/build/download.xml (added)
+++ velocity/anakia/trunk/build/download.xml Sat Mar 31 13:51:49 2007
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.    
+-->
+
+<!--
+  This file contains all the jar download targets for building the project.
+  Its tasks are referenced from the build.xml file and should not be
+  called directly.
+
+  This is here so that the main build file is not cluttered any further.
+-->
+
+<project name="${name}" basedir="..">
+  <target name="build-download" description="Download all the project dependencies from the central repository">
+   <mkdir dir="${build.lib}" />
+   <antcall target="antlr-download" />
+   <antcall target="avalon-logkit-download" />
+   <antcall target="commons-collections-download" />
+   <antcall target="commons-lang-download" />
+   <antcall target="jdom-download" />
+   <antcall target="log4j-download" />
+   <antcall target="werken-xpath-download" />
+   <antcall target="velocity-download" />
+
+   <mkdir dir="${build.test.lib}" />
+   <antcall target="junit-download" />
+  </target>
+
+  <target name="http-download">
+    <condition property="skip-download">
+      <or>
+        <istrue value="${skip.jar.loading}"/>
+        <and>
+          <isfalse value="${force.jar.loading}"/>
+          <available file="${build.lib}/${download.jarname}-${download.jarversion}.jar"/>
+        </and>
+      </or>
+    </condition>
+    <antcall target="do-http-download"/>
+  </target>
+
+  <target name="do-http-download" unless="skip-download">
+    <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/>
+    <get src="${repo.url}/${download.jarname}/jars/${download.jarname}-${download.jarversion}.jar"
+         dest="${build.lib}/${download.jarname}-${download.jarversion}.jar"
+         usetimestamp="true"
+         verbose="false"
+         ignoreerrors="false" />
+  </target>
+
+  <target name="http-test-download">
+    <condition property="skip-download">
+      <or>
+        <istrue value="${skip.jar.loading}"/>
+        <and>
+          <isfalse value="${force.jar.loading}"/>
+          <available file="${build.test.lib}/${download.jarname}-${download.jarversion}.jar"/>
+        </and>
+      </or>
+    </condition>
+    <antcall target="do-http-test-download"/>
+  </target>
+
+  <target name="do-http-test-download" unless="skip-download">
+    <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/>
+    <get src="${repo.url}/${download.jarname}/jars/${download.jarname}-${download.jarversion}.jar"
+         dest="${build.test.lib}/${download.jarname}-${download.jarversion}.jar"
+         usetimestamp="true"
+         verbose="false"
+         ignoreerrors="false" />
+  </target>
+
+  <target name="antlr-download">
+   <property name="download.jarname" value="antlr" />
+   <property name="download.jarversion" value="${jar.antlr.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+  <target name="avalon-logkit-download">
+   <property name="download.jarname" value="avalon-logkit" />
+   <property name="download.jarversion" value="${jar.avalon-logkit.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+  <target name="commons-collections-download">
+   <property name="download.jarname" value="${jar.commons-collections.name}" />
+   <property name="download.jarversion" value="${jar.commons-collections.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+  <target name="commons-lang-download">
+   <property name="download.jarname" value="${jar.commons-lang.name}" />
+   <property name="download.jarversion" value="${jar.commons-lang.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+  <target name="jdom-download">
+   <property name="download.jarname" value="jdom" />
+   <property name="download.jarversion" value="${jar.jdom.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+  <target name="log4j-download">
+   <property name="download.jarname" value="log4j" />
+   <property name="download.jarversion" value="${jar.log4j.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+  <target name="werken-xpath-download">
+   <property name="download.jarname" value="werken-xpath" />
+   <property name="download.jarversion" value="${jar.werken-xpath.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+  <target name="velocity-download">
+   <property name="download.jarname" value="velocity" />
+   <property name="download.jarversion" value="${jar.velocity.version}" />
+   <antcall target="http-download"/>
+  </target>
+
+<!-- Test Dependencies -->
+
+  <target name="junit-download">
+   <property name="download.jarname" value="junit" />
+   <property name="download.jarversion" value="${jar.junit.version}" />
+   <antcall target="http-test-download"/>
+  </target>
+
+</project>
+

Propchange: velocity/anakia/trunk/build/download.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/anakia/trunk/build/download.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Revision

Added: velocity/anakia/trunk/pom.xml
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/pom.xml?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/pom.xml (added)
+++ velocity/anakia/trunk/pom.xml Sat Mar 31 13:51:49 2007
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.    
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.anakia</groupId>
+  <artifactId>velocity-anakia</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Velocity Anakia</name>
+  <url>http://velocity.apache.org/anakia/devel/</url>
+  <description>Velocity Anakia uses Apache Velocity to generate documents based on XML source files.</description>
+  <inceptionYear>2007</inceptionYear>
+  <packaging>pom</packaging>
+
+  <organization>
+    <name>The Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <build>
+    <defaultGoal>install</defaultGoal>
+    <sourceDirectory>src/java</sourceDirectory>
+    <testSourceDirectory>src/test</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <inputEncoding>UTF-8</inputEncoding>
+          <outputEncoding>UTF-8</outputEncoding>
+          <xdocDirectory>${basedir}/xdocs/docs</xdocDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <repositories>
+    <repository>
+      <id>apache.snapshots</id>
+      <name>Apache Snapshot Repository</name>
+      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+
+  <distributionManagement>
+    <site>
+      <id>velocity.apache.org</id>
+      <url>scpexe://people.apache.org/www/velocity.apache.org/anakia/devel/</url>
+    </site>
+    <repository>
+      <id>apache.releases</id>
+      <name>Apache Release Distribution Repository</name>
+      <url>scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
+    </repository>
+    <snapshotRepository>
+      <id>apache.snapshots</id>
+      <name>Apache Development Snapshot Repository</name>
+      <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+    </snapshotRepository>
+  </distributionManagement>
+
+  <developers>
+    <developer>
+      <name>Will Glass-Husain</name>
+      <id>wglass</id>
+      <email>wglass@forio.com</email>
+      <organization>Forio Business Simulations</organization>
+      <roles>
+        <role>Java Developer</role>
+      </roles>
+    </developer>
+
+   <developer>
+      <name>Geir Magnusson Jr.</name>
+      <id>geirm</id>
+      <email>geirm@optonline.net</email>
+      <organization>Independent</organization>
+      <roles>
+        <role>Java Developer</role>
+      </roles>
+    </developer>
+
+    <developer>
+      <name>Daniel Rall</name>
+      <id>dlr</id>
+      <email>dlr@finemaltcoding.com</email>
+      <organization>CollabNet, Inc.</organization>
+      <roles>
+        <role>Java Developer</role>
+      </roles>
+    </developer>
+
+    <developer>
+      <name>Henning P. Schmiedehausen</name>
+      <id>henning</id>
+      <email>hps@intermeta.de</email>
+      <organization>INTERMETA - Gesellschaft für Mehrwertdienste mbH</organization>
+      <roles>
+        <role>Java Developer</role>
+      </roles>
+      <timezone>2</timezone>
+    </developer>
+
+    <developer>
+      <name>Nathan Bubna</name>
+      <id>nbubna</id>
+      <email>nathan@esha.com</email>
+      <organization>ESHA Research</organization>
+      <roles>
+        <role>Java Developer</role>
+      </roles>
+    </developer>
+
+  </developers>
+
+  <dependencies>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.1</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.1</version>
+    </dependency>
+    <dependency>
+      <groupId>jdom</groupId>
+      <artifactId>jdom</artifactId>
+      <version>1.0</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.12</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>logkit</groupId>
+      <artifactId>logkit</artifactId>
+      <version>2.0</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.6</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>werken-xpath</groupId>
+      <artifactId>werken-xpath</artifactId>
+      <version>0.9.4</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>velocity</groupId>
+      <artifactId>velocity</artifactId>
+      <version>1.5</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>dependencies</report>
+              <report>issue-tracking</report>
+              <report>license</report>
+              <report>summary</report>
+              <report>scm</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-changes-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>changes-report</report>
+              <report>jira-report</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+        <configuration>
+          <!-- Apache JIRA, Component Engine -->
+          <component>12311337</component>
+          <!-- FixFor 1.6 -->
+          <filter>fixfor=12310290&amp;sorter/field=issuekey&amp;sorter/order=ASC</filter>
+          <maxEntries>100</maxEntries>
+          <teamlist>http://velocity.apache.org/who-we-are.html</teamlist>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>taglist-maven-plugin</artifactId>
+        <configuration>
+          <tag>TODO</tag>
+          <tag>FIXME</tag>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jxr-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <links>
+            <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
+            <link>http://jakarta.apache.org/commons/lang/api-release</link>
+            <link>http://jakarta.apache.org/commons/collections/api-release</link>
+            <link>http://www.jdom.org/docs/apidocs</link>
+            <link>http://logging.apache.org/log4j/docs/api</link>
+            <link>http://excalibur.apache.org/apidocs</link>
+            <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs</link>
+          </links>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-changelog-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/velocity/anakia/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/velocity/anakia/trunk</developerConnection>
+    <tag>HEAD</tag>
+    <url>http://svn.apache.org/viewvc/velocity/anakia/trunk</url>
+  </scm>
+
+  <issueManagement>
+    <system>JIRA</system>
+    <url>https://issues.apache.org/jira/browse/VELOCITY-ANAKIA</url>
+  </issueManagement>
+</project>

Propchange: velocity/anakia/trunk/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/anakia/trunk/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Revision

Added: velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaElement.java
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaElement.java?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaElement.java (added)
+++ velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaElement.java Sat Mar 31 13:51:49 2007
@@ -0,0 +1,264 @@
+package org.apache.anakia;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+import org.jdom.Element;
+import org.jdom.Namespace;
+import org.jdom.output.XMLOutputter;
+import java.util.List;
+
+/**
+ * A JDOM {@link Element} that is tailored for Anakia needs. It has
+ * {@link #selectNodes(String)} method as well as a {@link #toString()} that
+ * outputs the XML serialized form of the element. This way it acts in much the
+ * same way as a single-element {@link NodeList} would.
+ *
+ * @author <a href="mailto:szegedia@freemail.hu">Attila Szegedi</a>
+ * @version $Id$
+ */
+public class AnakiaElement extends Element
+{
+    /**
+     * Version Id for serializable
+     */
+    private static final long serialVersionUID = 8429597252274491314L;
+
+    private static final XMLOutputter DEFAULT_OUTPUTTER = new XMLOutputter();
+
+    static
+    {
+        DEFAULT_OUTPUTTER.getFormat().setLineSeparator(System.getProperty("line.separator"));
+    }
+
+    /**
+     * <p>
+     * This will create a new <code>AnakiaElement</code>
+     *   with the supplied (local) name, and define
+     *   the <code>{@link Namespace}</code> to be used.
+     * If the provided namespace is null, the element will have
+     * no namespace.
+     * </p>
+     *
+     * @param name <code>String</code> name of element.
+     * @param namespace <code>Namespace</code> to put element in.
+     */
+    public AnakiaElement(String name, Namespace namespace)
+    {
+        super(name, namespace);
+    }
+
+    /**
+     * <p>
+     *  This will create an <code>AnakiaElement</code> in no
+     *    <code>{@link Namespace}</code>.
+     * </p>
+     *
+     * @param name <code>String</code> name of element.
+     */
+    public AnakiaElement(String name)
+    {
+        super(name);
+    }
+
+    /**
+     * <p>
+     *  This will create a new <code>AnakiaElement</code> with
+     *    the supplied (local) name, and specifies the URI
+     *    of the <code>{@link Namespace}</code> the <code>Element</code>
+     *    should be in, resulting it being unprefixed (in the default
+     *    namespace).
+     * </p>
+     *
+     * @param name <code>String</code> name of element.
+     * @param uri <code>String</code> URI for <code>Namespace</code> element
+     *        should be in.
+     */
+    public AnakiaElement(String name, String uri)
+    {
+        super(name, uri);
+    }
+
+    /**
+     * <p>
+     *  This will create a new <code>AnakiaElement</code> with
+     *    the supplied (local) name, and specifies the prefix and URI
+     *    of the <code>{@link Namespace}</code> the <code>Element</code>
+     *    should be in.
+     * </p>
+     *
+     * @param name <code>String</code> name of element.
+     * @param prefix The prefix of the element.
+     * @param uri <code>String</code> URI for <code>Namespace</code> element
+     *        should be in.
+     */
+    public AnakiaElement(String name, String prefix, String uri)
+    {
+        super(name, prefix, uri);
+    }
+
+    /**
+     * Applies an XPath expression to this element and returns the resulting
+     * node list. In order for this method to work, your application must have
+     * access to <a href="http://code.werken.com">werken.xpath</a> library
+     * classes. The implementation does cache the parsed format of XPath
+     * expressions in a weak hash map, keyed by the string representation of
+     * the XPath expression. As the string object passed as the argument is
+     * usually kept in the parsed template, this ensures that each XPath
+     * expression is parsed only once during the lifetime of the template that
+     * first invoked it.
+     * @param xpathExpression the XPath expression you wish to apply
+     * @return a NodeList representing the nodes that are the result of
+     * application of the XPath to the current element. It can be empty.
+     */
+    public NodeList selectNodes(String xpathExpression)
+    {
+        return new NodeList(XPathCache.getXPath(xpathExpression).applyTo(this), false);
+    }
+
+    /**
+     * Returns the XML serialized form of this element, as produced by the default
+     * {@link XMLOutputter}.
+
+     * @return The XML serialized form of this element, as produced by the default
+     * {@link XMLOutputter}.
+     */
+
+    public String toString()
+    {
+        return DEFAULT_OUTPUTTER.outputString(this);
+    }
+
+    /**
+     * <p>
+     * This returns the full content of the element as a NodeList which
+     * may contain objects of type <code>String</code>, <code>Element</code>,
+     * <code>Comment</code>, <code>ProcessingInstruction</code>,
+     * <code>CDATA</code>, and <code>EntityRef</code>.
+     * The List returned is "live" in document order and modifications
+     * to it affect the element's actual contents.  Whitespace content is
+     * returned in its entirety.
+     * </p>
+     *
+     * @return a <code>List</code> containing the mixed content of the
+     *         element: may contain <code>String</code>,
+     *         <code>{@link Element}</code>, <code>{@link org.jdom.Comment}</code>,
+     *         <code>{@link org.jdom.ProcessingInstruction}</code>,
+     *         <code>{@link org.jdom.CDATA}</code>, and
+     *         <code>{@link org.jdom.EntityRef}</code> objects.
+     */
+    public List getContent()
+    {
+        return new NodeList(super.getContent(), false);
+    }
+
+    /**
+     * <p>
+     * This returns a <code>NodeList</code> of all the child elements
+     * nested directly (one level deep) within this element, as
+     * <code>Element</code> objects.  If this target element has no nested
+     * elements, an empty List is returned.  The returned list is "live"
+     * in document order and changes to it affect the element's actual
+     * contents.
+     * </p>
+     * <p>
+     * This performs no recursion, so elements nested two levels
+     *   deep would have to be obtained with:
+     * <pre>
+     * <code>
+     *   Iterator itr = currentElement.getChildren().iterator();
+     *   while (itr.hasNext()) {
+     *     Element oneLevelDeep = (Element)nestedElements.next();
+     *     List twoLevelsDeep = oneLevelDeep.getChildren();
+     *     // Do something with these children
+     *   }
+     * </code>
+     * </pre>
+     * </p>
+     *
+     * @return list of child <code>Element</code> objects for this element
+     */
+    public List getChildren()
+    {
+        return new NodeList(super.getChildren(), false);
+    }
+
+    /**
+     * <p>
+     * This returns a <code>NodeList</code> of all the child elements
+     * nested directly (one level deep) within this element with the given
+     * local name and belonging to no namespace, returned as
+     * <code>Element</code> objects.  If this target element has no nested
+     * elements with the given name outside a namespace, an empty List
+     * is returned.  The returned list is "live" in document order
+     * and changes to it affect the element's actual contents.
+     * </p>
+     * <p>
+     * Please see the notes for <code>{@link #getChildren()}</code>
+     * for a code example.
+     * </p>
+     *
+     * @param name local name for the children to match
+     * @return all matching child elements
+     */
+    public List getChildren(String name)
+    {
+        return new NodeList(super.getChildren(name));
+    }
+
+    /**
+     * <p>
+     * This returns a <code>NodeList</code> of all the child elements
+     * nested directly (one level deep) within this element with the given
+     * local name and belonging to the given Namespace, returned as
+     * <code>Element</code> objects.  If this target element has no nested
+     * elements with the given name in the given Namespace, an empty List
+     * is returned.  The returned list is "live" in document order
+     * and changes to it affect the element's actual contents.
+     * </p>
+     * <p>
+     * Please see the notes for <code>{@link #getChildren()}</code>
+     * for a code example.
+     * </p>
+     *
+     * @param name local name for the children to match
+     * @param ns <code>Namespace</code> to search within
+     * @return all matching child elements
+     */
+    public List getChildren(String name, Namespace ns)
+    {
+        return new NodeList(super.getChildren(name, ns));
+    }
+
+    /**
+     * <p>
+     * This returns the complete set of attributes for this element, as a
+     * <code>NodeList</code> of <code>Attribute</code> objects in no particular
+     * order, or an empty list if there are none.
+     * The returned list is "live" and changes to it affect the
+     * element's actual attributes.
+     * </p>
+     *
+     * @return attributes for the element
+     */
+    public List getAttributes()
+    {
+        return new NodeList(super.getAttributes());
+    }
+}

Propchange: velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaElement.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaElement.java
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Revision

Added: velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaJDOMFactory.java
URL: http://svn.apache.org/viewvc/velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaJDOMFactory.java?view=auto&rev=524478
==============================================================================
--- velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaJDOMFactory.java (added)
+++ velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaJDOMFactory.java Sat Mar 31 13:51:49 2007
@@ -0,0 +1,73 @@
+package org.apache.anakia;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+import org.jdom.Element;
+import org.jdom.Namespace;
+import org.jdom.DefaultJDOMFactory;
+
+/**
+ * A customized JDOMFactory for Anakia that produces {@link AnakiaElement}
+ * instances instead of ordinary JDOM {@link Element} instances.
+ *
+ * @author <a href="mailto:szegedia@freemail.hu">Attila Szegedi</a>
+ * @version $Id$
+ */
+public class AnakiaJDOMFactory extends DefaultJDOMFactory
+{
+    /**
+     *
+     */
+    public AnakiaJDOMFactory()
+    {
+    }
+
+    /**
+     * @see org.jdom.DefaultJDOMFactory#element(java.lang.String, org.jdom.Namespace)
+     */
+    public Element element(String name, Namespace namespace)
+    {
+        return new AnakiaElement(name, namespace);
+    }
+
+    /**
+     * @see org.jdom.DefaultJDOMFactory#element(java.lang.String)
+     */
+    public Element element(String name)
+    {
+        return new AnakiaElement(name);
+    }
+
+    /**
+     * @see org.jdom.DefaultJDOMFactory#element(java.lang.String, java.lang.String)
+     */
+    public Element element(String name, String uri)
+    {
+        return new AnakiaElement(name, uri);
+    }
+
+    /**
+     * @see org.jdom.DefaultJDOMFactory#element(java.lang.String, java.lang.String, java.lang.String)
+     */
+    public Element element(String name, String prefix, String uri)
+    {
+        return new AnakiaElement(name, prefix, uri);
+    }
+}

Propchange: velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaJDOMFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/anakia/trunk/src/java/org/apache/anakia/AnakiaJDOMFactory.java
------------------------------------------------------------------------------
    svn:keywords = Id Author Date Revision