mirror of https://github.com/apache/poi.git
Update of Krysalis Centipede build system to version 1.0-dev
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352312 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9037a392e4
commit
61bd170147
74
README.txt
74
README.txt
|
@ -1,74 +0,0 @@
|
|||
|
||||
P O I
|
||||
|
||||
@version@
|
||||
|
||||
|
||||
What is it?
|
||||
-----------
|
||||
|
||||
The POI project consists of APIs for manipulating various file formats
|
||||
based upon Microsoft's OLE 2 Compound Document format using pure Java.
|
||||
|
||||
A common misconception is that POI writes Excel files. POI is the name
|
||||
of the project.
|
||||
POI contains several components, one of which, HSSF, writes Excel files.
|
||||
The following are components of the entire POI project.
|
||||
|
||||
POIFS
|
||||
-----
|
||||
The oldest and most stable part of the project.
|
||||
It is our port of the OLE 2 Compound Document Format to pure Java.
|
||||
It supports both read and write functionality.
|
||||
All of our components ultimately rely on it by definition.
|
||||
|
||||
HSSF
|
||||
-----
|
||||
It's our port of the Microsoft Excel 97(-2002) file format (BIFF8)
|
||||
to pure Java. It supports read and write capability.
|
||||
|
||||
HDF
|
||||
---
|
||||
It's our port of the Microsoft Word 97 file format to pure Java.
|
||||
It supports read and write capability.
|
||||
This component is in the early stages of design.
|
||||
Jump in!
|
||||
|
||||
Where is it?
|
||||
------------
|
||||
|
||||
The home page for the POI project can be found in the POI
|
||||
Project web site (http://jakarta.apache.org/poi/). There you also find
|
||||
information on how to download the latest release as well as all the other
|
||||
information you might need regarding this project.
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
The following requirements exist for installing it:
|
||||
|
||||
o A Java 1.2 or later compatible virtual machine for your operating system.
|
||||
|
||||
Installation Instructions and Documentation
|
||||
-------------------------------------------
|
||||
|
||||
The documentation available as of the date of this release is
|
||||
included in the "docs/" directory.
|
||||
|
||||
Look for the most updated documentation on the POI web site.
|
||||
|
||||
|
||||
Licensing and legal issues
|
||||
--------------------------
|
||||
|
||||
For legal and licensing issues, please read the LICENSE files
|
||||
in the /legal directory.
|
||||
|
||||
|
||||
Thanks for using POI.
|
||||
|
||||
The POI Project
|
||||
http://jakarta.apache.org/poi/
|
||||
|
||||
|
|
@ -1,11 +1,10 @@
|
|||
@echo off
|
||||
|
||||
set OLD_ANT_HOME=%ANT_HOME%
|
||||
set ANT_HOME=tools\ant
|
||||
set ANT_HOME=tools\antipede
|
||||
|
||||
set OLD_CLASSPATH=%CLASSPATH%
|
||||
for %%i in (.\lib\endorsed\*.jar) do call appendcp.bat %%i
|
||||
for %%i in (.\tools\centipede\lib\*.jar) do call appendcp.bat %%i
|
||||
|
||||
call %ANT_HOME%\bin\ant -listener org.apache.tools.ant.XmlLogger %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#Build Number for ANT. Do not edit!
|
||||
#Wed Apr 03 18:45:13 CEST 2002
|
||||
build.number=78
|
8
build.sh
8
build.sh
|
@ -6,8 +6,8 @@ if [ "$JAVA_HOME" = "" ] ; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
chmod u+x ./tools/ant/bin/antRun
|
||||
chmod u+x ./tools/ant/bin/ant
|
||||
chmod u+x ./tools/antipede/bin/antRun
|
||||
chmod u+x ./tools/antipede/bin/ant
|
||||
|
||||
# ----- Verify and Set Required Environment Variables -------------------------
|
||||
|
||||
|
@ -26,10 +26,10 @@ CP=$CLASSPATH
|
|||
export CP
|
||||
unset CLASSPATH
|
||||
|
||||
CLASSPATH="`echo ./lib/endorsed/*.jar | tr ' ' $S``echo ./tools/centipede/lib/*.jar | tr ' ' $S`"
|
||||
CLASSPATH="`echo ./lib/endorsed/*.jar | tr ' ' $S`"
|
||||
export CLASSPATH
|
||||
|
||||
$PWD/./tools/ant/bin/ant -listener org.apache.tools.ant.XmlLogger $@
|
||||
$PWD/./tools/antipede/bin/ant -listener org.apache.tools.ant.XmlLogger $@
|
||||
|
||||
unset CLASSPATH
|
||||
|
||||
|
|
316
build.xml
316
build.xml
|
@ -1,57 +1,36 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/layout.xsl"?>
|
||||
<!DOCTYPE project [
|
||||
<!-- ===========================================================================
|
||||
<!-- antipede -->
|
||||
<!ENTITY import-antipede SYSTEM "./tools/antipede/build.xtarget">
|
||||
]>
|
||||
<project default="interactive" basedir="." name="project build file">
|
||||
|
||||
<description>
|
||||
|
||||
* ===================================== *
|
||||
| Krysalis Centipede Build System |
|
||||
* ===================================== *
|
||||
by
|
||||
|
||||
Nicola Ken Barozzi <barozzi@nicolaken.com>
|
||||
Marc Johnson <mjohnson at apache dot org>
|
||||
Nicola Ken Barozzi (nicolaken@apache.org)
|
||||
Marc Johnson (mjohnson@apache.org)
|
||||
|
||||
extends the Apache Cocoon Build System
|
||||
(http://xml.apache.org/cocoon/)
|
||||
started as an extension of the
|
||||
the Apache Cocoon Build System
|
||||
(http://xml.apache.org/cocoon/)
|
||||
by
|
||||
Stefano Mazzocchi <stefano@apache.org>
|
||||
Carsten Ziegeler <cziegeler@apache.org>
|
||||
Stefano Mazzocchi (stefano@apache.org)
|
||||
Carsten Ziegeler (cziegeler@apache.org)
|
||||
|
||||
-->
|
||||
<!-- ================= Main project targets and info ================= -->
|
||||
<!ENTITY project-target SYSTEM "./src/targets/project.xtarget">
|
||||
<!ENTITY interactive-target SYSTEM "./src/targets/interactive.xtarget">
|
||||
<!-- =================================================================== -->
|
||||
|
||||
<!-- ====================== Scratchpad targets ======================= -->
|
||||
<!ENTITY scratchpad-target SYSTEM "./src/scratchpad/targets/scratchpad.xtarget">
|
||||
<!-- =================================================================== -->
|
||||
|
||||
<!-- ======================== Contrib targets ======================== -->
|
||||
<!ENTITY contrib-target SYSTEM "./src/contrib/targets/contrib.xtarget">
|
||||
<!-- =================================================================== -->
|
||||
|
||||
<!-- ================== Krysalis Centipede targets =================== -->
|
||||
<!ENTITY preinit-target SYSTEM "./tools/centipede/targets/preinit.xtarget">
|
||||
<!ENTITY init-target SYSTEM "./tools/centipede/targets/init.xtarget">
|
||||
<!ENTITY compile-target SYSTEM "./tools/centipede/targets/compile.xtarget">
|
||||
<!ENTITY util-target SYSTEM "./tools/centipede/targets/util.xtarget">
|
||||
<!ENTITY dev-target SYSTEM "./tools/centipede/targets/dev.xtarget">
|
||||
<!ENTITY test-target SYSTEM "./tools/centipede/targets/test.xtarget">
|
||||
<!ENTITY robot-target SYSTEM "./tools/centipede/targets/robot.xtarget">
|
||||
<!ENTITY docs-target SYSTEM "./tools/centipede/targets/docs.xtarget">
|
||||
<!-- =================================================================== -->
|
||||
]>
|
||||
|
||||
<project default="interactive" basedir="." name="krysalis">
|
||||
<!--
|
||||
|
||||
Installing the build tools
|
||||
==========================
|
||||
|
||||
The Krysalis build system is based on Apache Ant, which is a Java building tool
|
||||
originally developed for the Tomcat project but now used in many other
|
||||
Apache projects and extended by many developers.
|
||||
The Krysalis Centipede build system is based on Apache Ant,
|
||||
which is a Java building tool originally developed for the Tomcat
|
||||
project but now used in many other Apache projects and extended
|
||||
by many developers.
|
||||
|
||||
Ant is a little but very handy tool that uses a build file written in XML
|
||||
(this file) as building instructions. For more information refer to
|
||||
|
@ -84,24 +63,6 @@ Also, you'll note that reusing a single JVM instance for each task, increases
|
|||
tremendously the performance of the whole build system, compared to other
|
||||
tools (i.e. make or shell scripts) where a new JVM is started for each task.
|
||||
|
||||
|
||||
Building on another directory
|
||||
=============================
|
||||
|
||||
Sometimes you might want to build on an external directory to keep the
|
||||
distribution clean: no worries, this is just an environment property away.
|
||||
Suppose you want to use the "../build" directory instead, you simply tipe
|
||||
|
||||
[unix] ./build.sh -Dbuild.root=../build
|
||||
[win32] .\build.bat -Dbuild.root=..\build
|
||||
|
||||
By using the -Dxxx=yyy argument, you are setting environments in the JVM: Ant
|
||||
is designed to give higher priority to system environments to allow you to
|
||||
modify _any_ <property> that you can find in the building instructions below,
|
||||
so it's just a matter of understanding what property you want to change
|
||||
and you don't have to touch this file (which you shouldn't need to do).
|
||||
|
||||
|
||||
Build targets
|
||||
=============
|
||||
|
||||
|
@ -112,12 +73,7 @@ is used by project maintainers to take care of everything in the project,
|
|||
no less and no more.
|
||||
|
||||
To know more about the available targets take a look at this file, which is
|
||||
pretty self-explanatory.
|
||||
To see al list of all targets, type
|
||||
|
||||
[unix] ./build.sh -projecthelp
|
||||
[win32] .\build.bat -projecthelp
|
||||
|
||||
pretty self-explanatory, or run the build with "-projecthelp".
|
||||
|
||||
Build Dependencies
|
||||
==================
|
||||
|
@ -125,63 +81,193 @@ Some components are optional and require special jar files to be compiled
|
|||
and added to the application. Some of these jars are already included
|
||||
in the distribution while others not.
|
||||
For each optional package which is not available, a warning can be
|
||||
printed. If you don't like these warnings, specify the property "omit.opt.warnings"
|
||||
(build -Domit.opt.warnings).
|
||||
|
||||
Distribution Version
|
||||
====================
|
||||
When preparing a distribution for release, specify the version ID on
|
||||
the command line: -Dversion="dev-1.2.1", for example.
|
||||
|
||||
Specifying a subset of unit tests to be executed
|
||||
================================================
|
||||
Specify the package on the command line:
|
||||
-Dtest.specific="org.krysalis.p.testme" will select only the testme
|
||||
tests to be run. If you've run any other unit tests in a prior
|
||||
session, you'll need to specify the 'clean' target to remove
|
||||
extraneous test classes from execution:
|
||||
|
||||
./build.sh clean test -Dtest.specific="org/krysalis/p/testme"
|
||||
|
||||
or
|
||||
|
||||
.\build.bat clean test -Dtest.specific="org/krysalis/p/testme"
|
||||
printed.
|
||||
|
||||
|
||||
Happy hacking from the Dev Team :)
|
||||
|
||||
============================================================================ -->
|
||||
Happy hacking :)
|
||||
|
||||
============================================================================
|
||||
</description>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- external reference are relative to to **/*.xtarget; -->
|
||||
<!-- see entity decalrations at the start of this file -->
|
||||
<!-- =================================================================== -->
|
||||
<!-- Pre Initialization --> &preinit-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Project targets --> &project-target;
|
||||
<!-- Basic build targets for the project -->
|
||||
<!-- =================================================================== -->
|
||||
<!-- Initialization targets --> &init-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Compile targets --> &compile-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Interactive targets --> &interactive-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Scratchpad targets --> &scratchpad-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Contrib targets --> &contrib-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Utility targets --> &util-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Developer targets --> &dev-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Testcases targets --> &test-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- "Scripts" targets --> &robot-target;
|
||||
<!-- =================================================================== -->
|
||||
<!-- Documentation targets --> &docs-target;
|
||||
<!-- =================================================================== -->
|
||||
|
||||
</project>
|
||||
|
||||
<!-- End of file -->
|
||||
<!-- ================================== -->
|
||||
<!-- Interactive -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="interactive" depends="-init"
|
||||
description="Interactive target">
|
||||
|
||||
<splash/>
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="centipede"/>
|
||||
<param name="cent-target" value="compile"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Compile -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="compile" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="centipede"/>
|
||||
<param name="cent-target" value="compile"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Build jars -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="jar" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="centipede"/>
|
||||
<param name="cent-target" value="package"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Build distributions -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="dist" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="centipede"/>
|
||||
<param name="cent-target" value="dist"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Clean build dir -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="clean" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="centipede"/>
|
||||
<param name="cent-target" value="clean"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Run Junit tests -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="test" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="junit"/>
|
||||
<param name="cent-target" value="test"/>
|
||||
</antcall>
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="junit"/>
|
||||
<param name="cent-target" value="report"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Generates the documentation -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="docs" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="forrest"/>
|
||||
<param name="cent-target" value="docs"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Generates the javadocs -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="javadocs" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="centipede"/>
|
||||
<param name="cent-target" value="javadocs"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Test the main module stuff -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="test-module"
|
||||
depends="clean, compile, test, jar, docs"
|
||||
description="Testing that all major targets work; useful before a commit"/>
|
||||
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Target used by Gump -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="gump"
|
||||
depends="clean, compile, test, jar, docs, javadocs"
|
||||
description="Target used by Gump"/>
|
||||
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Generate all -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="all"
|
||||
depends="gump"
|
||||
description="Generate all"/>
|
||||
|
||||
<!-- ================================== -->
|
||||
<!-- Create a cent.jar package -->
|
||||
<!-- using an already deployed cent -->
|
||||
<!-- ================================== -->
|
||||
|
||||
<target name="jar-cent" depends="-init"
|
||||
description="Compile java source code">
|
||||
|
||||
<antcall target="call-cent">
|
||||
<param name="cent-name" value="centipede"/>
|
||||
<param name="cent-target" value="jar-cent"/>
|
||||
</antcall>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Import Ant-Centipede -init targets - sets up basic build stuff -->
|
||||
<!-- =================================================================== -->
|
||||
<!--
|
||||
This is the target that initializes tasks and properties used
|
||||
commonly in every other target.
|
||||
|
||||
Remember to add depends="-init" to every target, so that this
|
||||
target is called before any other.
|
||||
|
||||
This target is internal; to make it unusable from the commandline,
|
||||
its name starts with a hyphen. To make it invisible when
|
||||
using -projecthelp, it lacks a description.
|
||||
-->
|
||||
|
||||
&import-antipede;
|
||||
|
||||
</project>
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/layout.xsl"?>
|
||||
<layout dir=".">
|
||||
<library dir="./lib">
|
||||
<endorsed dir="./lib/endorsed"/>
|
||||
<core dir="./lib/core"/>
|
||||
<optional dir="./lib/optional"/>
|
||||
</library>
|
||||
<source dir="./src">
|
||||
<java dir="./src/java"/>
|
||||
<test dir="./src/testcases"/>
|
||||
<documentation dir="./src/documentation">
|
||||
<content dir="./src/documentation/xdocs">
|
||||
<xdocs dir="./src/documentation/xdocs"/>
|
||||
</content>
|
||||
<resources dir="./src/documentation/images">
|
||||
<images dir="./src/documentation/images"/>
|
||||
</resources>
|
||||
</documentation>
|
||||
<scratchpad dir="./src/scratchpad">
|
||||
<java dir="./src/scratchpad/src"/>
|
||||
<library dir="./src/scratchpad/lib"/>
|
||||
</scratchpad>
|
||||
<contributions dir="./src/contrib">
|
||||
<java dir="./src/contrib/src"/>
|
||||
<library dir="./src/contrib/lib"/>
|
||||
</contributions>
|
||||
<examples dir="./src/examples">
|
||||
<java dir="./src/examples/src"/>
|
||||
<library dir="./src/examples/lib"/>
|
||||
</examples>
|
||||
</source>
|
||||
<build dir="./build">
|
||||
<java dir="./build/java"/>
|
||||
<classes dir="./build/classes"/>
|
||||
<test dir="./build/testcases"/>
|
||||
<documentation dir="./build/documentation">
|
||||
<javadocs dir="./build/docs/javadocs"/>
|
||||
<test dir="./build/docs/test"/>
|
||||
</documentation>
|
||||
<work dir="./build/work"/>
|
||||
<scratchpad dir="./build/scratchpad">
|
||||
<java dir="./build/scratchpad/java"/>
|
||||
<classes dir="./build/classes"/>
|
||||
<library dir="./build/scratchpad/lib"/>
|
||||
</scratchpad>
|
||||
<contributions dir="./build/contrib">
|
||||
<java dir="./build/contrib/java"/>
|
||||
<classes dir="./build/classes"/>
|
||||
<library dir="./build/contrib/lib"/>
|
||||
</contributions>
|
||||
<examples dir="./build/examples">
|
||||
<java dir="./build/examples/java"/>
|
||||
<classes dir="./build/classes"/>
|
||||
<library dir="./build/examples/lib"/>
|
||||
</examples>
|
||||
</build>
|
||||
<distributions dir="./dist">
|
||||
<source dir="./dist/src"/>
|
||||
<bin dir="./dist/bin"/>
|
||||
</distributions>
|
||||
</layout>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/module.xsl"?>
|
||||
<?xml-stylesheet type="text/css" href="tools/antipede/resources/stylesheets/module.css"?>
|
||||
<module name="apache-poi">
|
||||
|
||||
<url href="http://jakarta.apache.org/poi/"/>
|
||||
|
||||
<info>
|
||||
<link id="status" href="status.xml">
|
||||
Status </link>
|
||||
<link id="properties" href="properties.xml">
|
||||
properties </link>
|
||||
<link id="layout" href="layout.xml">
|
||||
layout </link>
|
||||
<link id="build" href="build.xml">
|
||||
Build </link>
|
||||
<link id="log" href="log.xml">
|
||||
log </link>
|
||||
</info>
|
||||
|
||||
<cvs repository="jakarta"/>
|
||||
|
||||
<mailing-lists>
|
||||
<mailing-list user="developer"
|
||||
mail="forrest-dev@xml.apache.org"
|
||||
subscribe="forrest-dev-subscribe@xml.apache.org"
|
||||
unsubscribe="forrest-dev-unsubscribe@xml.apache.org"/>
|
||||
</mailing-lists>
|
||||
|
||||
<description>
|
||||
The POI project consists of APIs for manipulating various file formats
|
||||
based upon Microsoft's OLE 2 Compound Document format using pure Java.
|
||||
</description>
|
||||
|
||||
<detailed>
|
||||
A common misconception is that POI writes Excel files. POI is the
|
||||
name of the project. POI contains several components, one of which,
|
||||
HSSF, writes Excel files. The following are components of the entire
|
||||
POI project.POIFS is the oldest and most stable part of the project.
|
||||
It is our port of the OLE 2 Compound Document Format to pure Java.
|
||||
It supports both read and write functionality. All of our components
|
||||
ultimately rely on it by definition. HSSF is our port of the
|
||||
Microsoft Excel 97(-2002) file format (BIFF8) to pure Java.
|
||||
It supports read and write capability. HDF is our port of the
|
||||
Microsoft Word 97 file format to pure Java.
|
||||
It supports read and write capability. This component is in the early
|
||||
stages of design. Jump in!
|
||||
</detailed>
|
||||
|
||||
<what>
|
||||
<goal>just do it</goal>
|
||||
</what>
|
||||
|
||||
<why>
|
||||
Why not?
|
||||
</why>
|
||||
|
||||
<licence>This software is released under the Apache Public License 1.1.
|
||||
For detailed legal and licensing issues, please read the LICENSE.* files
|
||||
in the /legal directory.
|
||||
</licence>
|
||||
|
||||
<credits>
|
||||
<credit>This software includes software developed by the Krysalis Project
|
||||
(http://www.krysalis.org/).
|
||||
</credit>
|
||||
</credits>
|
||||
|
||||
<project name="jakarta-poi">
|
||||
|
||||
<version major="1"
|
||||
minor="5"
|
||||
fix ="0"
|
||||
tag="dev"/>
|
||||
|
||||
<package>org.apache.poi</package>
|
||||
|
||||
<ant target="gump" vm="1.2"/>
|
||||
|
||||
<!-- script name="build"/> -->
|
||||
|
||||
<!-- Project jars POI *build* strictly depends on -->
|
||||
<!-- needed for build -->
|
||||
<depend project="jakarta-ant"/>
|
||||
<depend project="xml-xerces"/>
|
||||
<depend project="xml-xalan2"/>
|
||||
<depend project="xml-cocoon2"/>
|
||||
<depend project="jtidy"/>
|
||||
<depend project="junit"/>
|
||||
<depend project="IzPress"/>
|
||||
<!-- needed for POI -->
|
||||
<depend project="commons-logging"/>
|
||||
|
||||
<!-- Project jars POI build can use -->
|
||||
<option project="jakarta-log4j"/>
|
||||
|
||||
<!-- Work dirs to be included in classpath -->
|
||||
<work nested="build/jakarta-poi/classes"/>
|
||||
<work nested="build/jakarta-poi/testcases"/>
|
||||
<work nested="tools/tmp/anttasks"/>
|
||||
|
||||
<home nested="build/jakarta-poi"/>
|
||||
|
||||
<!-- POI jars - the result of the build -->
|
||||
<jar name="jakarta-poi.jar" id="poi"/>
|
||||
<jar name="jakarta-poi-scratchpad.jar" id="scratchpad"/>
|
||||
<jar name="jakarta-poi-contrib.jar" id="contrib"/>
|
||||
<jar name="jakarta-poi-examples.jar" id="examples"/>
|
||||
|
||||
<!-- POI Javadocs - location in the build dirs -->
|
||||
<javadoc parent="build/jakarta-poi/docs/apidocs"/>
|
||||
|
||||
<!-- Getting ready for automatic site updates
|
||||
<deliver fromdir="build/jakarta-poi/docs"
|
||||
tosite="jakarta-apache-org"
|
||||
todir="poi/" />
|
||||
-->
|
||||
|
||||
<nag to="poi-dev@jakarta.apache.org"
|
||||
from="Sam Ruby <rubys@us.ibm.com>"/>
|
||||
</project>
|
||||
|
||||
</module>
|
|
@ -1,87 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<project
|
||||
name="Jakarta POI">
|
||||
<info
|
||||
module="jakarta-poi"
|
||||
version="1.5"
|
||||
tag="dev"
|
||||
year="2001-2002"/>
|
||||
|
||||
<description>
|
||||
<short>The POI project consists of APIs for manipulating various file formats based upon Microsoft's OLE 2 Compound Document format using pure Java.</short>
|
||||
|
||||
<detailed>A common misconception is that POI writes Excel files. POI is the name of the project. POI contains several components, one of which, HSSF, writes Excel files. The following are components of the entire POI project.POIFS is the oldest and most stable part of the project. It is our port of the OLE 2 Compound Document Format to pure Java. It supports both read and write functionality. All of our components ultimately rely on it by definition. HSSF is our port of the Microsoft Excel 97(-2002) file format (BIFF8) to pure Java. It supports read and write capability. HDF is our port of the Microsoft Word 97 file format to pure Java. It supports read and write capability. This component is in the early stages of design. Jump in! </detailed>
|
||||
|
||||
<where>The home page for the POI project can be found on the web site (http://jakarta.apache.org/poi/). There you also find information on how to download the latest release as well as all the other information you might need regarding this project.</where>
|
||||
|
||||
<requirements>The for installing it you need a Java 1.2 or later compatible virtual machine for your operating system.</requirements>
|
||||
|
||||
<howto>The documentation available as of the date of this release is included in the "docs/" directory. The documentation sources are in the "src/documentation" directory. Look for the most updated documentation on the web site.</howto>
|
||||
|
||||
<licence>For legal and licensing issues, please read the LICENSE.* files in the /legal directory.</licence>
|
||||
</description>
|
||||
|
||||
<module name="jakarta-poi">
|
||||
|
||||
<url href="http://jakarta.apache.org/poi/"/>
|
||||
<description>
|
||||
Ports of file formats based on Microsoft's OLE 2 Compound Document
|
||||
Format (tm) to pure Java (tm).
|
||||
</description>
|
||||
|
||||
<cvs repository="jakarta"/>
|
||||
|
||||
<project name="jakarta-poi">
|
||||
|
||||
<package>org.apache.poi</package>
|
||||
|
||||
<ant target="gump"/>
|
||||
|
||||
<script name="build"/>
|
||||
|
||||
<depend project="jakarta-ant"/>
|
||||
<depend project="xml-xerces"/>
|
||||
<depend project="xml-xalan2"/>
|
||||
<depend project="jtidy"/>
|
||||
<depend project="junit"/>
|
||||
<depend project="commons-logging"/>
|
||||
|
||||
<option project="jakarta-log4j"/>
|
||||
|
||||
<work nested="build/jakarta-poi/classes"/>
|
||||
|
||||
<home nested="build/poi"/>
|
||||
|
||||
<jar name="jakarta-poi.jar" id="poi"/>
|
||||
<jar name="jakarta-poi-scratchpad.jar" id="scratchpad"/>
|
||||
<jar name="jakarta-poi-contrib.jar" id="contrib"/>
|
||||
<jar name="jakarta-poi-examples.jar" id="examples"/>
|
||||
|
||||
<javadoc parent="build/jakarta-poi/docs/apidocs"/>
|
||||
|
||||
</project>
|
||||
|
||||
</module>
|
||||
|
||||
<developers>
|
||||
<!-- in strict alphabetical order -->
|
||||
<person name="Andrew C. Oliver" email="acoliver@apache.org" id="ACO" />
|
||||
<person name="Glen Stampoultzis" email="glens@apache.org" id="GS" />
|
||||
<person name="Marc Johnson" email="mjohnson@apache.org" id="MJ" />
|
||||
<person name="Nicola Ken Barozzi" email="nicolaken@apache.org" id="NKB" />
|
||||
<person name="Rainer Klute" email="rainer.klute@epost.de" id="RK" />
|
||||
</developers>
|
||||
|
||||
<todo>
|
||||
<actions priority="medium">
|
||||
<action context="code" assigned-to="NKB">
|
||||
|
||||
</action>
|
||||
</actions>
|
||||
</todo>
|
||||
|
||||
<credits>
|
||||
<credit>This product includes software developed by the Krysalis Project (http://www.krysalis.org/).</credit>
|
||||
</credits>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/properties.xsl"?>
|
||||
<!-- Project properties -->
|
||||
<properties>
|
||||
<!-- Properties for core Ant tasks-->
|
||||
<ant>
|
||||
<XmlLogger>
|
||||
<stylesheet uri="./tools/antipede/resources/stylesheets/log.xsl"/>
|
||||
</XmlLogger>
|
||||
</ant>
|
||||
|
||||
<XmlLogger file="log.xml"/>
|
||||
|
||||
<!-- Properties of the build -->
|
||||
<build>
|
||||
<!-- What to tell the compiler -->
|
||||
<compiler emacs="on"
|
||||
warnings="true"
|
||||
pedantic="false"
|
||||
depend="true"
|
||||
fulldepend="true"
|
||||
debug="on"
|
||||
optimize="off"
|
||||
deprecation="on"
|
||||
nowarn="off"
|
||||
type="classic"
|
||||
vm="1.2"/>
|
||||
|
||||
</build>
|
||||
<forrest>
|
||||
<!-- available skins:
|
||||
jakarta-site
|
||||
scarab-site
|
||||
xml-apache-site
|
||||
cocoon-printer -->
|
||||
<skin name="jakarta-site"/>
|
||||
</forrest>
|
||||
|
||||
</properties>
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/status.xsl"?>
|
||||
<status>
|
||||
|
||||
<developers>
|
||||
<!-- in strict alphabetical order -->
|
||||
<person name="Andrew C. Oliver" id="acoliver" email="acoliver@apache.org"/>
|
||||
<person name="Glen Stampoultzis" id="glens" email="glens@apache.org"/>
|
||||
<person name="Marc Johnson" id="mjohnson" email="mjohnson@apache.org"/>
|
||||
<person name="Nicola Ken Barozzi" id="nicolaken" email="nicolaken@apache.org"/>
|
||||
<person name="Rainer Klute" id="rainer" email="rainer@apache.org"/>
|
||||
</developers>
|
||||
|
||||
<todo>
|
||||
<actions priority="high">
|
||||
<action context="code" assigned-to="acoliver">
|
||||
Do it
|
||||
</action>
|
||||
</actions>
|
||||
</todo>
|
||||
|
||||
<changes>
|
||||
<release version="0.1" date="2002">
|
||||
<action dev="nicolaken" type="add">
|
||||
Merged project needed info in project-info.xgump.xml
|
||||
</action>
|
||||
</release>
|
||||
</changes>
|
||||
|
||||
</status>
|
|
@ -1 +1 @@
|
|||
anttasks
|
||||
tmp
|
|
@ -1,107 +0,0 @@
|
|||
#! /bin/sh
|
||||
|
||||
if [ -f "$HOME/.antrc" ] ; then
|
||||
. $HOME/.antrc
|
||||
fi
|
||||
|
||||
# Cygwin support. $cygwin _must_ be set to either true or false.
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true ;;
|
||||
*) cygwin=false ;;
|
||||
esac
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched
|
||||
if $cygwin; then
|
||||
[ -n "$ANT_HOME" ] &&
|
||||
ANT_HOME=`cygpath --unix "$ANT_HOME"`
|
||||
[ -n "$JAVA_HOME" ] &&
|
||||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
[ -n "$CLASSPATH" ] &&
|
||||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
|
||||
fi
|
||||
|
||||
if [ "$ANT_HOME" = "" ] ; then
|
||||
# try to find ANT
|
||||
if [ -d /opt/ant ] ; then
|
||||
ANT_HOME=/opt/ant
|
||||
fi
|
||||
|
||||
if [ -d ${HOME}/opt/ant ] ; then
|
||||
ANT_HOME=${HOME}/opt/ant
|
||||
fi
|
||||
|
||||
## resolve links - $0 may be a link to ant's home
|
||||
PRG=$0
|
||||
progname=`basename $0`
|
||||
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '.*/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG="`dirname $PRG`/$link"
|
||||
fi
|
||||
done
|
||||
|
||||
ANT_HOME=`dirname "$PRG"`/..
|
||||
|
||||
fi
|
||||
|
||||
if [ "$JAVA_HOME" != "" ] ; then
|
||||
if [ "$JAVACMD" = "" ] ; then
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
else
|
||||
if [ "$JAVACMD" = "" ] ; then
|
||||
JAVACMD=java
|
||||
fi
|
||||
fi
|
||||
|
||||
# add in the dependency .jar files
|
||||
DIRLIBS=${ANT_HOME}/lib/*.jar
|
||||
for i in ${DIRLIBS}
|
||||
do
|
||||
# if the directory is empty, then it will return the input string
|
||||
# this is stupid, so case for it
|
||||
if [ "$i" != "${DIRLIBS}" ] ; then
|
||||
LOCALCLASSPATH=$LOCALCLASSPATH:"$i"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$CLASSPATH" != "" ] ; then
|
||||
LOCALCLASSPATH=$CLASSPATH:$LOCALCLASSPATH
|
||||
fi
|
||||
|
||||
if [ "$JAVA_HOME" != "" ] ; then
|
||||
if test -f $JAVA_HOME/lib/tools.jar ; then
|
||||
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar
|
||||
fi
|
||||
|
||||
if test -f $JAVA_HOME/lib/classes.zip ; then
|
||||
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip
|
||||
fi
|
||||
else
|
||||
echo "Warning: JAVA_HOME environment variable is not set."
|
||||
echo " If build fails because sun.* classes could not be found"
|
||||
echo " you will need to set the JAVA_HOME environment variable"
|
||||
echo " to the installation directory of java."
|
||||
fi
|
||||
|
||||
# supply JIKESPATH to Ant as jikes.class.path
|
||||
if [ "$JIKESPATH" != "" ] ; then
|
||||
if [ "$ANT_OPTS" != "" ] ; then
|
||||
ANT_OPTS="$ANT_OPTS -Djikes.class.path=$JIKESPATH"
|
||||
else
|
||||
ANT_OPTS=-Djikes.class.path=$JIKESPATH
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin; then
|
||||
ANT_HOME=`cygpath --path --windows "$ANT_HOME"`
|
||||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
|
||||
LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
|
||||
fi
|
||||
|
||||
$JAVACMD -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" $ANT_OPTS org.apache.tools.ant.Main "$@"
|
|
@ -1,97 +0,0 @@
|
|||
@echo off
|
||||
|
||||
if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat"
|
||||
|
||||
if not "%OS%"=="Windows_NT" goto win9xStart
|
||||
:winNTStart
|
||||
@setlocal
|
||||
|
||||
rem %~dp0 is name of current script under NT
|
||||
set DEFAULT_ANT_HOME=%~dp0
|
||||
|
||||
rem : operator works similar to make : operator
|
||||
set DEFAULT_ANT_HOME=%DEFAULT_ANT_HOME:\bin\=%
|
||||
|
||||
if %ANT_HOME%a==a set ANT_HOME=%DEFAULT_ANT_HOME%
|
||||
set DEFAULT_ANT_HOME=
|
||||
|
||||
rem On NT/2K grab all arguments at once
|
||||
set ANT_CMD_LINE_ARGS=%*
|
||||
goto doneStart
|
||||
|
||||
:win9xStart
|
||||
rem Slurp the command line arguments. This loop allows for an unlimited number of
|
||||
rem agruments (up to the command line limit, anyway).
|
||||
|
||||
set ANT_CMD_LINE_ARGS=
|
||||
|
||||
:setupArgs
|
||||
if %1a==a goto doneStart
|
||||
set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
|
||||
shift
|
||||
goto setupArgs
|
||||
|
||||
:doneStart
|
||||
rem This label provides a place for the argument list loop to break out
|
||||
rem and for NT handling to skip to.
|
||||
|
||||
rem find ANT_HOME
|
||||
if not "%ANT_HOME%"=="" goto checkJava
|
||||
|
||||
rem check for ant in Program Files on system drive
|
||||
if not exist "%SystemDrive%\Program Files\ant" goto checkSystemDrive
|
||||
set ANT_HOME=%SystemDrive%\Program Files\ant
|
||||
goto checkJava
|
||||
|
||||
:checkSystemDrive
|
||||
rem check for ant in root directory of system drive
|
||||
if not exist "%SystemDrive%\ant" goto noAntHome
|
||||
set ANT_HOME=%SystemDrive%\ant
|
||||
goto checkJava
|
||||
|
||||
:noAntHome
|
||||
echo ANT_HOME is not set and ant could not be located. Please set ANT_HOME.
|
||||
goto end
|
||||
|
||||
:checkJava
|
||||
set _JAVACMD=%JAVACMD%
|
||||
set LOCALCLASSPATH="%CLASSPATH%"
|
||||
for %%i in ("%ANT_HOME%\lib\*.jar") do call "%ANT_HOME%\bin\lcp.bat" "%%i"
|
||||
|
||||
if "%JAVA_HOME%" == "" goto noJavaHome
|
||||
if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java
|
||||
if exist "%JAVA_HOME%\lib\tools.jar" call "%ANT_HOME%\bin\lcp.bat" "%JAVA_HOME%\lib\tools.jar"
|
||||
if exist "%JAVA_HOME%\lib\classes.zip" call "%ANT_HOME%\bin\lcp.bat" "%JAVA_HOME%\lib\classes.zip"
|
||||
goto checkJikes
|
||||
|
||||
:noJavaHome
|
||||
if "%_JAVACMD%" == "" set _JAVACMD=java
|
||||
echo.
|
||||
echo Warning: JAVA_HOME environment variable is not set.
|
||||
echo If build fails because sun.* classes could not be found
|
||||
echo you will need to set the JAVA_HOME environment variable
|
||||
echo to the installation directory of java.
|
||||
echo.
|
||||
|
||||
:checkJikes
|
||||
if not "%JIKESPATH%" == "" goto runAntWithJikes
|
||||
|
||||
:runAnt
|
||||
%_JAVACMD% -classpath %LOCALCLASSPATH% -Dant.home="%ANT_HOME%" %ANT_OPTS% org.apache.tools.ant.Main %ANT_CMD_LINE_ARGS%
|
||||
goto end
|
||||
|
||||
:runAntWithJikes
|
||||
%_JAVACMD% -classpath %LOCALCLASSPATH% -Dant.home="%ANT_HOME%" -Djikes.class.path=%JIKESPATH% %ANT_OPTS% org.apache.tools.ant.Main %ANT_CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
set LOCALCLASSPATH=
|
||||
set _JAVACMD=
|
||||
set ANT_CMD_LINE_ARGS=
|
||||
|
||||
if not "%OS%"=="Windows_NT" goto mainEnd
|
||||
:winNTend
|
||||
@endlocal
|
||||
|
||||
:mainEnd
|
||||
if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Args: DIR command
|
||||
cd "$1"
|
||||
CMD="$2"
|
||||
shift
|
||||
shift
|
||||
|
||||
exec $CMD "$@"
|
|
@ -1,20 +0,0 @@
|
|||
@echo off
|
||||
|
||||
# Change drive and directory to %1 (Win9X only for NT/2K use "cd /d")
|
||||
cd %1
|
||||
%1\
|
||||
set ANT_RUN_CMD=%2
|
||||
shift
|
||||
shift
|
||||
|
||||
set PARAMS=
|
||||
:loop
|
||||
if ""%1 == "" goto runCommand
|
||||
set PARAMS=%PARAMS% %1
|
||||
shift
|
||||
goto loop
|
||||
|
||||
:runCommand
|
||||
rem echo %ANT_RUN_CMD% %PARAMS%
|
||||
%ANT_RUN_CMD% %PARAMS%
|
||||
|
|
@ -1,216 +0,0 @@
|
|||
#! /usr/bin/env python
|
||||
#
|
||||
# Mass string translation for java/xml files (change Wanted re for other files)
|
||||
#
|
||||
# Author: Peter Donald <donaldp@apache.org>
|
||||
#
|
||||
# Adapted from fixid.py in python distribution under Tools
|
||||
#
|
||||
|
||||
import sys
|
||||
import re
|
||||
import string
|
||||
import os
|
||||
from stat import *
|
||||
import getopt
|
||||
|
||||
err = sys.stderr.write
|
||||
dbg = err
|
||||
out = sys.stdout.write
|
||||
|
||||
def usage():
|
||||
progname = sys.argv[0]
|
||||
err('Usage: ' + progname + ' [-s file] ... file-or-directory ...\n')
|
||||
err('\n')
|
||||
err('-s substfile : add a file of substitutions\n')
|
||||
err('\n')
|
||||
err('Each non-empty non-comment line in a substitution file must\n')
|
||||
err('contain exactly two words separated by a | character.\n')
|
||||
|
||||
def main():
|
||||
try:
|
||||
opts, args = getopt.getopt(sys.argv[1:], 'crs:')
|
||||
except getopt.error, msg:
|
||||
err('Options error: ' + str(msg) + '\n')
|
||||
usage()
|
||||
sys.exit(2)
|
||||
bad = 0
|
||||
if not args: # No arguments
|
||||
usage()
|
||||
sys.exit(2)
|
||||
for opt, arg in opts:
|
||||
if opt == '-s':
|
||||
addsubst(arg)
|
||||
initre()
|
||||
for arg in args:
|
||||
if os.path.isdir(arg):
|
||||
if recursedown(arg): bad = 1
|
||||
elif os.path.islink(arg):
|
||||
err(arg + ': will not process symbolic links\n')
|
||||
bad = 1
|
||||
else:
|
||||
if fix(arg): bad = 1
|
||||
sys.exit(bad)
|
||||
|
||||
# Change this regular expression to select a different set of files
|
||||
Wanted = '^[a-zA-Z0-9_\-]+\.(java|xml|xinfo)$'
|
||||
def wanted(name):
|
||||
return None <> re.match(Wanted, name)
|
||||
|
||||
def recursedown(dirname):
|
||||
dbg('recursedown(' + `dirname` + ')\n')
|
||||
bad = 0
|
||||
try:
|
||||
names = os.listdir(dirname)
|
||||
except os.error, msg:
|
||||
err(dirname + ': cannot list directory: ' + str(msg) + '\n')
|
||||
return 1
|
||||
names.sort()
|
||||
subdirs = []
|
||||
for name in names:
|
||||
if name in (os.curdir, os.pardir): continue
|
||||
fullname = os.path.join(dirname, name)
|
||||
if os.path.islink(fullname): pass
|
||||
elif os.path.isdir(fullname):
|
||||
subdirs.append(fullname)
|
||||
elif wanted(name):
|
||||
if fix(fullname): bad = 1
|
||||
for fullname in subdirs:
|
||||
if recursedown(fullname): bad = 1
|
||||
return bad
|
||||
|
||||
def fix(filename):
|
||||
dbg('fix(' + `filename` + ')\n')
|
||||
|
||||
# File replacement mode
|
||||
try:
|
||||
f = open(filename, 'r')
|
||||
except IOError, msg:
|
||||
err(filename + ': cannot open: ' + str(msg) + '\n')
|
||||
return 1
|
||||
|
||||
head, tail = os.path.split(filename)
|
||||
tempname = os.path.join(head, '@' + tail)
|
||||
|
||||
# If we find a match, we rewind the file and start over but
|
||||
# now copy everything to a temp file.
|
||||
lineno = 0
|
||||
g = None
|
||||
while 1:
|
||||
line = f.readline()
|
||||
if not line: break
|
||||
lineno = lineno + 1
|
||||
newline = fixline(line)
|
||||
if newline != line:
|
||||
if g is None:
|
||||
try:
|
||||
g = open(tempname, 'w')
|
||||
except IOError, msg:
|
||||
f.close()
|
||||
err(tempname+': cannot create: '+
|
||||
str(msg)+'\n')
|
||||
return 1
|
||||
f.seek(0)
|
||||
lineno = 0
|
||||
out(filename + ':\n')
|
||||
continue # restart from the beginning
|
||||
out(`lineno` + '\n')
|
||||
out('< ' + line)
|
||||
out('> ' + newline)
|
||||
if g is not None:
|
||||
g.write(newline)
|
||||
|
||||
# End of file
|
||||
f.close()
|
||||
if not g: return 0 # No changes
|
||||
|
||||
# Finishing touch -- move files
|
||||
|
||||
# First copy the file's mode to the temp file
|
||||
try:
|
||||
statbuf = os.stat(filename)
|
||||
os.chmod(tempname, statbuf[ST_MODE] & 07777)
|
||||
except os.error, msg:
|
||||
err(tempname + ': warning: chmod failed (' + str(msg) + ')\n')
|
||||
|
||||
# Then make a backup of the original file as filename~
|
||||
try:
|
||||
os.rename(filename, filename + '~')
|
||||
except os.error, msg:
|
||||
err(filename + ': warning: backup failed (' + str(msg) + ')\n')
|
||||
|
||||
# Now move the temp file to the original file
|
||||
try:
|
||||
os.rename(tempname, filename)
|
||||
except os.error, msg:
|
||||
err(filename + ': rename failed (' + str(msg) + ')\n')
|
||||
return 1
|
||||
|
||||
# Return succes
|
||||
return 0
|
||||
|
||||
def initre():
|
||||
global SearcherExpr
|
||||
|
||||
keys = Dict.keys()
|
||||
keyCount = len(keys)
|
||||
i = 0
|
||||
reStr = ""
|
||||
while i < len(keys):
|
||||
if i != 0: reStr = reStr + '|'
|
||||
reStr = reStr + keys[i]
|
||||
i = i + 1
|
||||
SearcherExpr = re.compile( reStr )
|
||||
|
||||
def fixline(line):
|
||||
global Program
|
||||
## print '-->', `line`
|
||||
i = 0
|
||||
|
||||
while i < len(line):
|
||||
match = SearcherExpr.search(line, i)
|
||||
if match == None: break
|
||||
found = match.group(0)
|
||||
i = match.start()
|
||||
n = len(found)
|
||||
if Dict.has_key(found):
|
||||
subst = Dict[found]
|
||||
|
||||
line = line[:i] + subst + line[i+n:]
|
||||
n = len(subst)
|
||||
i = i + n
|
||||
return line
|
||||
|
||||
Dict = {}
|
||||
NotInComment = {}
|
||||
|
||||
def addsubst(substfile):
|
||||
try:
|
||||
fp = open(substfile, 'r')
|
||||
except IOError, msg:
|
||||
err(substfile + ': cannot read substfile: ' + str(msg) + '\n')
|
||||
sys.exit(1)
|
||||
lineno = 0
|
||||
|
||||
while 1:
|
||||
line = fp.readline()
|
||||
if not line: break
|
||||
lineno = lineno + 1
|
||||
try:
|
||||
i = string.index(line, '#')
|
||||
except string.index_error:
|
||||
i = -1 # Happens to delete trailing \n
|
||||
words = string.split(line[:i],'|')
|
||||
if not words: continue
|
||||
if len(words) <> 2:
|
||||
err(substfile + ':' + `lineno` + ': warning: bad line: ' + line)
|
||||
continue
|
||||
[key, value] = words
|
||||
|
||||
## print 'Will replace ', key, ' with ', value
|
||||
|
||||
Dict[key] = value
|
||||
|
||||
fp.close()
|
||||
|
||||
main()
|
|
@ -1,2 +0,0 @@
|
|||
set LOCALCLASSPATH=%1;%LOCALCLASSPATH%
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
#######################################################################
|
||||
#
|
||||
# runant.pl
|
||||
#
|
||||
# wrapper script for invoking ant in a platform with Perl installed
|
||||
# this may include cgi-bin invocation, which is considered somewhat daft.
|
||||
# (slo: that should be a separate file which can be derived from this
|
||||
# and returns the XML formatted output)
|
||||
#
|
||||
# the code is not totally portable due to classpath and directory splitting
|
||||
# issues. oops. (NB, use File::Spec::Functions will help and the code is
|
||||
# structured for the catfile() call, but because of perl version funnies
|
||||
# the code is not included.
|
||||
#
|
||||
# created: 2000-8-24
|
||||
# last modified: 2000-8-24
|
||||
# author: Steve Loughran steve_l@sourceforge.net
|
||||
#######################################################################
|
||||
#
|
||||
# Assumptions:
|
||||
#
|
||||
# - the "java" executable/script is on the command path
|
||||
# - ANT_HOME has been set
|
||||
# - target platform uses ":" as classpath separator or perl indicates it is dos/win32
|
||||
# - target platform uses "/" as directory separator.
|
||||
|
||||
#be fussy about variables
|
||||
use strict;
|
||||
|
||||
#platform specifics (disabled)
|
||||
#use File::Spec::Functions;
|
||||
|
||||
#turn warnings on during dev; generates a few spurious uninitialised var access warnings
|
||||
#use warnings;
|
||||
|
||||
#and set $debug to 1 to turn on trace info
|
||||
my $debug=0;
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
# check to make sure environment is setup
|
||||
#
|
||||
|
||||
my $HOME = $ENV{ANT_HOME};
|
||||
if ($HOME eq "")
|
||||
{
|
||||
die "\n\nANT_HOME *MUST* be set!\n\n";
|
||||
}
|
||||
|
||||
my $JAVACMD = $ENV{JAVACMD};
|
||||
$JAVACMD = "java" if $JAVACMD eq "";
|
||||
|
||||
#ISSUE: what java wants to split up classpath varies from platform to platform
|
||||
#and perl is not too hot at hinting which box it is on.
|
||||
#here I assume ":" 'cept on win32 and dos. Add extra tests here as needed.
|
||||
my $s=":";
|
||||
if(($^O eq "MSWin32") || ($^O eq "dos"))
|
||||
{
|
||||
$s=";";
|
||||
}
|
||||
|
||||
#build up standard classpath
|
||||
my $localpath=$ENV{CLASSPATH};
|
||||
if ($localpath eq "")
|
||||
{
|
||||
print "warning: no initial classpath\n" if ($debug);
|
||||
$localpath="";
|
||||
}
|
||||
|
||||
#add jar files. I am sure there is a perl one liner to do this.
|
||||
my $jarpattern="$HOME/lib/*.jar";
|
||||
my @jarfiles =glob($jarpattern);
|
||||
print "jarfiles=@jarfiles\n" if ($debug);
|
||||
my $jar;
|
||||
foreach $jar (@jarfiles )
|
||||
{
|
||||
$localpath.="$s$jar";
|
||||
}
|
||||
|
||||
#if Java home is defined, look for tools.jar & classes.zip and add to classpath
|
||||
my $JAVA_HOME = $ENV{JAVA_HOME};
|
||||
if ($JAVA_HOME ne "")
|
||||
{
|
||||
my $tools="$JAVA_HOME/lib/tools.jar";
|
||||
if (-e "$tools")
|
||||
{
|
||||
$localpath .= "$s$tools";
|
||||
}
|
||||
my $classes="$JAVA_HOME/lib/classes.zip";
|
||||
if (-e $classes)
|
||||
{
|
||||
$localpath .= "$s$classes";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
print "\n\nWarning: JAVA_HOME environment variable is not set.\n".
|
||||
"If the build fails because sun.* classes could not be found\n".
|
||||
"you will need to set the JAVA_HOME environment variable\n".
|
||||
"to the installation directory of java\n";
|
||||
}
|
||||
|
||||
#jikes
|
||||
my @ANT_OPTS=split $ENV{ANT_OPTS};
|
||||
if($ENV{JIKESPATH} ne "")
|
||||
{
|
||||
push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}";
|
||||
}
|
||||
|
||||
#construct arguments to java
|
||||
|
||||
my @ARGS;
|
||||
push @ARGS, "-classpath", "$localpath", "-Dant.home=$HOME";
|
||||
push @ARGS, @ANT_OPTS;
|
||||
push @ARGS, "org.apache.tools.ant.Main";
|
||||
push @ARGS, @ARGV;
|
||||
|
||||
print "\n $JAVACMD @ARGS\n\n" if ($debug);
|
||||
|
||||
my $returnValue = system $JAVACMD, @ARGS;
|
||||
if ($returnValue eq 0)
|
||||
{
|
||||
exit 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
# only 0 and 1 are widely recognized as exit values
|
||||
# so change the exit value to 1
|
||||
exit 1;
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,159 +0,0 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) The Apache Software Foundation. All rights reserved. *
|
||||
* ------------------------------------------------------------------------- *
|
||||
* This software is published under the terms of the Apache Software License *
|
||||
* version 1.1, a copy of which has been included with this distribution in *
|
||||
* the LICENSE file. *
|
||||
*****************************************************************************/
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import java.util.zip.*;
|
||||
import org.apache.tools.ant.*;
|
||||
import org.apache.tools.ant.taskdefs.*;
|
||||
import org.apache.tools.ant.types.*;
|
||||
|
||||
/**
|
||||
* Will set the given property if the requested class is available in the
|
||||
* specified classpath. The found class is not loaded!
|
||||
* This class is heavily based on the available task in the ant package:
|
||||
* @author Stefano Mazzocchi <a href="mailto:stefano@apache.org">stefano@apache.org</a>
|
||||
*
|
||||
* This task searches only in the defined path but not in the parents path
|
||||
* unless explicitly overridden by the value of ${build.sysclasspath}
|
||||
* like the original available task does.
|
||||
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
|
||||
* @version CVS $Revision$ $Date$
|
||||
*/
|
||||
|
||||
public class ClassAvailableTask extends Task {
|
||||
|
||||
/**
|
||||
* A hashtable of zip files opened by the classloader
|
||||
*/
|
||||
private Hashtable zipFiles = new Hashtable();
|
||||
|
||||
private String property;
|
||||
private String classname;
|
||||
private Path classpath;
|
||||
private String value = "true";
|
||||
|
||||
public void setClasspath(Path classpath) {
|
||||
createClasspath().append(classpath);
|
||||
}
|
||||
|
||||
public Path createClasspath() {
|
||||
if (this.classpath == null) {
|
||||
this.classpath = new Path(this.project);
|
||||
}
|
||||
return this.classpath.createPath();
|
||||
}
|
||||
|
||||
public void setClasspathRef(Reference r) {
|
||||
createClasspath().setRefid(r);
|
||||
}
|
||||
|
||||
public void setProperty(String property) {
|
||||
this.property = property;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public void setClassname(String classname) {
|
||||
if (!"".equals(classname)) {
|
||||
this.classname = classname;
|
||||
}
|
||||
}
|
||||
|
||||
public void execute() throws BuildException {
|
||||
if (property == null) {
|
||||
throw new BuildException("property attribute is required", location);
|
||||
}
|
||||
|
||||
if (eval()) {
|
||||
this.project.setProperty(property, value);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean eval() throws BuildException {
|
||||
if (classname == null) {
|
||||
throw new BuildException("At least one of (classname|file|resource) is required", location);
|
||||
}
|
||||
|
||||
if (classpath != null) {
|
||||
classpath.setProject(project);
|
||||
classpath = classpath.concatSystemClasspath("ignore");
|
||||
}
|
||||
|
||||
if (!findClassInComponents(classname)) {
|
||||
log("Unable to load class " + classname + " to set property " + property, Project.MSG_VERBOSE);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an inputstream to a given resource in the given file which may
|
||||
* either be a directory or a zip file.
|
||||
*
|
||||
* @param file the file (directory or jar) in which to search for the resource.
|
||||
* @param resourceName the name of the resource for which a stream is required.
|
||||
*
|
||||
* @return a stream to the required resource or null if the resource cannot be
|
||||
* found in the given file object
|
||||
*/
|
||||
private boolean contains(File file, String resourceName) {
|
||||
try {
|
||||
if (!file.exists()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (file.isDirectory()) {
|
||||
File resource = new File(file, resourceName);
|
||||
|
||||
if (resource.exists()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// is the zip file in the cache
|
||||
ZipFile zipFile = (ZipFile)zipFiles.get(file);
|
||||
if (zipFile == null) {
|
||||
zipFile = new ZipFile(file);
|
||||
zipFiles.put(file, zipFile);
|
||||
}
|
||||
ZipEntry entry = zipFile.getEntry(resourceName);
|
||||
if (entry != null) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
log("Ignoring Exception " + e.getClass().getName() + ": " + e.getMessage() +
|
||||
" reading resource " + resourceName + " from " + file, Project.MSG_VERBOSE);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find a class on the given classpath.
|
||||
*/
|
||||
private boolean findClassInComponents(String name) {
|
||||
// we need to search the components of the path to see if we can find the
|
||||
// class we want.
|
||||
final String classname = name.replace('.', '/') + ".class";
|
||||
final String[] list = classpath.list();
|
||||
boolean found = false;
|
||||
int i = 0;
|
||||
while (i < list.length && found == false) {
|
||||
final File pathComponent = (File)project.resolveFile(list[i]);
|
||||
found = this.contains(pathComponent, classname);
|
||||
i++;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
}
|
|
@ -1,279 +0,0 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) The Krysalis project. All rights reserved. *
|
||||
* ------------------------------------------------------------------------- *
|
||||
* This software is published under the terms of the Krysalis Patchy *
|
||||
* Software License version 1.1_01, a copy of which has been included *
|
||||
* at the bottom of this file. *
|
||||
*****************************************************************************/
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.Writer;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.FileWriter;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Attr;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.tidy.Tidy;
|
||||
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.taskdefs.Property;
|
||||
|
||||
/**
|
||||
* Task to ask property values to the user. Uses current value as default.
|
||||
*
|
||||
* @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a>
|
||||
* @created 14 January 2002
|
||||
*/
|
||||
|
||||
public class JTidyTask
|
||||
extends org.apache.tools.ant.Task
|
||||
{
|
||||
private String src;
|
||||
private String dest;
|
||||
private String log;
|
||||
private Tidy tidy;
|
||||
private String warn = "false";
|
||||
private String summary = "false";
|
||||
PrintWriter pw;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
|
||||
public JTidyTask()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the task.
|
||||
*/
|
||||
|
||||
public void init()
|
||||
{
|
||||
super.init();
|
||||
|
||||
// Setup an instance of Tidy.
|
||||
tidy = new Tidy();
|
||||
tidy.setXmlOut(true);
|
||||
tidy.setXHTML(true);
|
||||
tidy.setDropFontTags(true);
|
||||
tidy.setLiteralAttribs(true);
|
||||
tidy.setMakeClean(true);
|
||||
tidy.setShowWarnings(Boolean.getBoolean(warn));
|
||||
tidy.setQuiet(!Boolean.getBoolean(summary));
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the task.
|
||||
* @exception org.apache.tools.ant.BuildException The exception raised during task execution.
|
||||
*/
|
||||
|
||||
public void execute()
|
||||
throws org.apache.tools.ant.BuildException
|
||||
{
|
||||
try
|
||||
{
|
||||
PrintWriter pw = new PrintWriter(new FileWriter(log));
|
||||
|
||||
tidy.setErrout(pw);
|
||||
|
||||
// Extract the document using JTidy and stream it.
|
||||
BufferedInputStream in =
|
||||
new BufferedInputStream(new FileInputStream(src));
|
||||
|
||||
// FileOutputStream out = new FileOutputStream(dest);
|
||||
PrintWriter out =
|
||||
new PrintWriter(new FileWriter(dest));
|
||||
|
||||
// using null as output to get dom so to remove duplicate attributes
|
||||
org.w3c.dom.Document domDoc = tidy.parseDOM(in, null);
|
||||
|
||||
domDoc.normalize();
|
||||
stripDuplicateAttributes(domDoc, null);
|
||||
org.apache.xml.serialize.OutputFormat format =
|
||||
new org.apache.xml.serialize.OutputFormat();
|
||||
|
||||
format.setIndenting(true);
|
||||
format.setEncoding("ISO-8859-1");
|
||||
format.setPreserveSpace(true);
|
||||
format.setLineSeparator("\n");
|
||||
org.apache.xml.serialize.XMLSerializer serializer =
|
||||
new org.apache.xml.serialize.XMLSerializer(out, format);
|
||||
|
||||
serializer.serialize(domDoc);
|
||||
out.flush();
|
||||
out.close();
|
||||
in.close();
|
||||
pw.flush();
|
||||
pw.close();
|
||||
}
|
||||
catch (IOException ioe)
|
||||
{
|
||||
throw new BuildException(ioe);
|
||||
}
|
||||
}
|
||||
|
||||
public void setSrc(String src)
|
||||
{
|
||||
this.src = src;
|
||||
}
|
||||
|
||||
public void setDest(String dest)
|
||||
{
|
||||
this.dest = dest;
|
||||
}
|
||||
|
||||
public void setLog(String log)
|
||||
{
|
||||
this.log = log;
|
||||
}
|
||||
|
||||
public void setWarn(String warn)
|
||||
{
|
||||
this.warn = warn;
|
||||
}
|
||||
|
||||
public void setSummary(String summary)
|
||||
{
|
||||
this.summary = summary;
|
||||
}
|
||||
|
||||
// using parent because jtidy dom is bugged, cannot get parent or delete child
|
||||
public static void stripDuplicateAttributes(Node node, Node parent)
|
||||
{
|
||||
|
||||
// The output depends on the type of the node
|
||||
switch (node.getNodeType())
|
||||
{
|
||||
|
||||
case Node.DOCUMENT_NODE :
|
||||
{
|
||||
Document doc = ( Document ) node;
|
||||
Node child = doc.getFirstChild();
|
||||
|
||||
while (child != null)
|
||||
{
|
||||
stripDuplicateAttributes(child, node);
|
||||
child = child.getNextSibling();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Node.ELEMENT_NODE :
|
||||
{
|
||||
Element elt = ( Element ) node;
|
||||
NamedNodeMap attrs = elt.getAttributes();
|
||||
ArrayList nodesToRemove = new ArrayList();
|
||||
int nodesToRemoveNum = 0;
|
||||
|
||||
for (int i = 0; i < attrs.getLength(); i++)
|
||||
{
|
||||
Node a = attrs.item(i);
|
||||
|
||||
for (int j = 0; j < attrs.getLength(); j++)
|
||||
{
|
||||
Node b = attrs.item(j);
|
||||
|
||||
// if there are two attributes with same name
|
||||
if ((i != j)
|
||||
&& (a.getNodeName().equals(b.getNodeName())))
|
||||
{
|
||||
nodesToRemove.add(b);
|
||||
nodesToRemoveNum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < nodesToRemoveNum; i++)
|
||||
{
|
||||
org.w3c.dom.Attr nodeToDelete =
|
||||
( org.w3c.dom.Attr ) nodesToRemove.get(i);
|
||||
org.w3c.dom.Element nodeToDeleteParent =
|
||||
( org.w3c.dom
|
||||
.Element ) node; // nodeToDelete.getParentNode();
|
||||
|
||||
nodeToDeleteParent.removeAttributeNode(nodeToDelete);
|
||||
}
|
||||
nodesToRemove.clear();
|
||||
Node child = elt.getFirstChild();
|
||||
|
||||
while (child != null)
|
||||
{
|
||||
stripDuplicateAttributes(child, node);
|
||||
child = child.getNextSibling();
|
||||
}
|
||||
break;
|
||||
}
|
||||
default :
|
||||
|
||||
// do nothing
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
The Krysalis Patchy Software License, Version 1.1_01
|
||||
Copyright (c) 2002 Nicola Ken Barozzi. All rights reserved.
|
||||
|
||||
This Licence is compatible with the BSD licence as described and
|
||||
approved by http://www.opensource.org/, and is based on the
|
||||
Apache Software Licence Version 1.1.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. The end-user documentation included with the redistribution,
|
||||
if any, must include the following acknowledgment:
|
||||
"This product includes software developed for project
|
||||
Krysalis (http://www.krysalis.org/)."
|
||||
Alternately, this acknowledgment may appear in the software itself,
|
||||
if and wherever such third-party acknowledgments normally appear.
|
||||
|
||||
4. The names "Krysalis" and "Nicola Ken Barozzi" and
|
||||
"Krysalis Centipede" must not be used to endorse or promote products
|
||||
derived from this software without prior written permission. For
|
||||
written permission, please contact krysalis@nicolaken.org.
|
||||
|
||||
5. Products derived from this software may not be called "Krysalis",
|
||||
"Krysalis Centipede", nor may "Krysalis" appear in their name,
|
||||
without prior written permission of Nicola Ken Barozzi.
|
||||
|
||||
6. This software may contain voluntary contributions made by many
|
||||
individuals, who decided to donate the code to this project in
|
||||
respect of this licence.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE KRYSALIS PROJECT OR
|
||||
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
====================================================================*/
|
|
@ -1,91 +0,0 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) The Apache Software Foundation. All rights reserved. *
|
||||
* ------------------------------------------------------------------------- *
|
||||
* This software is published under the terms of the Apache Software License *
|
||||
* version 1.1, a copy of which has been included with this distribution in *
|
||||
* the LICENSE file. *
|
||||
*****************************************************************************/
|
||||
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import org.apache.tools.ant.taskdefs.Property;
|
||||
|
||||
/**
|
||||
* Task to ask property values to the user. Uses current value as default.
|
||||
*
|
||||
* @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a>
|
||||
* @created 14 January 2002
|
||||
* @version CVS $Revision$ $Date$
|
||||
*/
|
||||
public class UserInputTask extends org.apache.tools.ant.Task {
|
||||
|
||||
private String question;
|
||||
private String name;
|
||||
private String value;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public UserInputTask() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the task.
|
||||
*/
|
||||
public void init() {
|
||||
super.init();
|
||||
question = "?";
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the task.
|
||||
* @exception org.apache.tools.ant.BuildException The exception raised during task execution.
|
||||
*/
|
||||
public void execute() throws org.apache.tools.ant.BuildException {
|
||||
value = project.getProperty(name);
|
||||
String defaultvalue = value;
|
||||
|
||||
//if the property exists
|
||||
if (value != null) {
|
||||
|
||||
System.out.println("\n"+question + " ["+value + "] ");
|
||||
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader (System.in));
|
||||
|
||||
try
|
||||
{
|
||||
value = reader.readLine();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
value = defaultvalue;
|
||||
}
|
||||
|
||||
if (!value.equals("")) {
|
||||
project.setProperty(name, value);
|
||||
} else {
|
||||
project.setProperty(name, defaultvalue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the prompt text that will be presented to the user.
|
||||
* @param prompt String
|
||||
*/
|
||||
public void addText(String question) {
|
||||
this.question=question;
|
||||
}
|
||||
|
||||
public void setQuestion(String question) {
|
||||
this.question = question;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,226 +0,0 @@
|
|||
/*****************************************************************************
|
||||
* Copyright (C) The Krysalis project. All rights reserved. *
|
||||
* ------------------------------------------------------------------------- *
|
||||
* This software is published under the terms of the Krysalis Patchy *
|
||||
* Software License version 1.1_01, a copy of which has been included *
|
||||
* at the bottom of this file. *
|
||||
*****************************************************************************/
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.Writer;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.FileWriter;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Attr;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.DOMException;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.FactoryConfigurationError;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.SAXParseException;
|
||||
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.taskdefs.Property;
|
||||
|
||||
import org.apache.tools.ant.BuildException;
|
||||
import org.apache.tools.ant.taskdefs.Property;
|
||||
|
||||
import org.apache.tools.ant.Task;
|
||||
import org.apache.tools.ant.Project;
|
||||
import org.apache.tools.ant.AntClassLoader;
|
||||
import org.apache.tools.ant.ProjectHelper;
|
||||
import org.apache.tools.ant.types.Path;
|
||||
import org.apache.tools.ant.types.Reference;
|
||||
|
||||
/**
|
||||
* Task get property values from a valid xml file.
|
||||
* Example:
|
||||
* <root-tag myattr="true">
|
||||
* <inner-tag>Text</inner-tag>
|
||||
* <2><3><4>false</4></3></2>
|
||||
* </root-tag>
|
||||
*
|
||||
* xml.root-tag.myattr=true
|
||||
* xml.root-tag.inner-tag=Text
|
||||
* xml.root-tag.2.3.4=false
|
||||
*
|
||||
* @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a>
|
||||
* @created 14 January 2002
|
||||
*/
|
||||
|
||||
public class XmlPropertyTask extends org.apache.tools.ant.Task
|
||||
{
|
||||
private String src;
|
||||
private org.w3c.dom.Document document;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public XmlPropertyTask()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the task.
|
||||
*/
|
||||
|
||||
public void init()
|
||||
{
|
||||
super.init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the task.
|
||||
* @exception org.apache.tools.ant.BuildException The exception raised during task execution.
|
||||
*/
|
||||
public void execute()
|
||||
throws org.apache.tools.ant.BuildException
|
||||
{
|
||||
BufferedInputStream configurationStream = null;
|
||||
|
||||
try
|
||||
{
|
||||
configurationStream =
|
||||
new BufferedInputStream(new FileInputStream(src));
|
||||
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
|
||||
factory.setValidating(false);
|
||||
factory.setNamespaceAware(false);
|
||||
|
||||
DocumentBuilder builder = factory.newDocumentBuilder();
|
||||
document = builder.parse( configurationStream );
|
||||
|
||||
addNodeRecursively(document.getDocumentElement(),"xml");
|
||||
|
||||
} catch (SAXException sxe) {
|
||||
// Error generated during parsing
|
||||
Exception x = sxe;
|
||||
if (sxe.getException() != null)
|
||||
x = sxe.getException();
|
||||
throw new BuildException(x);
|
||||
|
||||
} catch (ParserConfigurationException pce) {
|
||||
// Parser with specified options can't be built
|
||||
throw new BuildException(pce);
|
||||
} catch (IOException ioe) {
|
||||
// I/O error
|
||||
throw new BuildException(ioe);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if(configurationStream!=null){
|
||||
try{configurationStream.close();}catch(Exception e){}}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void addNodeRecursively(org.w3c.dom.Node node, String text) {
|
||||
|
||||
if (node.hasAttributes()) {
|
||||
org.w3c.dom.NamedNodeMap nodeAttributes = node.getAttributes();
|
||||
for (int i = 0; i < nodeAttributes.getLength(); i++) {
|
||||
Node attributeNode = nodeAttributes.item(i);
|
||||
String attributeName = text+"."+node.getNodeName()+"."+attributeNode.getNodeName();
|
||||
String attributeValue = attributeNode.getNodeValue();
|
||||
log(attributeName+":"+attributeValue, Project.MSG_VERBOSE);
|
||||
project.setUserProperty(attributeName,attributeValue);
|
||||
}
|
||||
}
|
||||
|
||||
if(node.getNodeType()==Node.TEXT_NODE){
|
||||
String nodeText = node.getNodeValue();
|
||||
if(nodeText.trim().length()!=0)
|
||||
{
|
||||
log(text+":"+nodeText, Project.MSG_VERBOSE);
|
||||
project.setUserProperty(text,nodeText);
|
||||
}
|
||||
}
|
||||
|
||||
if (node.hasChildNodes()) {
|
||||
text+=("."+node.getNodeName());
|
||||
org.w3c.dom.NodeList nodeChildren = node.getChildNodes();
|
||||
for (int i = 0; i < nodeChildren.getLength(); i++) {
|
||||
addNodeRecursively(nodeChildren.item(i), text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setFile(String src)
|
||||
{
|
||||
this.src = src;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
The Krysalis Patchy Software License, Version 1.1_01
|
||||
Copyright (c) 2002 Nicola Ken Barozzi. All rights reserved.
|
||||
|
||||
This Licence is compatible with the BSD licence as described and
|
||||
approved by http://www.opensource.org/, and is based on the
|
||||
Apache Software Licence Version 1.1.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. The end-user documentation included with the redistribution,
|
||||
if any, must include the following acknowledgment:
|
||||
"This product includes software developed for project
|
||||
Krysalis (http://www.krysalis.org/)."
|
||||
Alternately, this acknowledgment may appear in the software itself,
|
||||
if and wherever such third-party acknowledgments normally appear.
|
||||
|
||||
4. The names "Krysalis" and "Nicola Ken Barozzi" and
|
||||
"Krysalis Centipede" must not be used to endorse or promote products
|
||||
derived from this software without prior written permission. For
|
||||
written permission, please contact krysalis@nicolaken.org.
|
||||
|
||||
5. Products derived from this software may not be called "Krysalis",
|
||||
"Krysalis Centipede", nor may "Krysalis" appear in their name,
|
||||
without prior written permission of Nicola Ken Barozzi.
|
||||
|
||||
6. This software may contain voluntary contributions made by many
|
||||
individuals, who decided to donate the code to this project in
|
||||
respect of this licence.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE KRYSALIS PROJECT OR
|
||||
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
====================================================================*/
|
|
@ -1,18 +0,0 @@
|
|||
- build distributions
|
||||
- sign distributions
|
||||
- Generate announcements and HEADER.html
|
||||
- upload distributions to correct dir
|
||||
- tag CVS
|
||||
- generate www pages and upload
|
||||
- bump release ID
|
||||
- send announcements to announcement@apache.org, announcements@xml.apache.org, announcements@jakarta.apache.org
|
||||
- news to newsgroups: comp.lang.java.softwaretools
|
||||
- post stories on
|
||||
*) jakarta news page
|
||||
*) theserverside.com
|
||||
*) freshmeat.net
|
||||
*) www.javaworld.com
|
||||
*) www.javalobby.com
|
||||
*) www.jguru.com
|
||||
*) www.slashdot.org
|
||||
(and follow them up)
|
|
@ -1,89 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output method="html" indent="yes"/>
|
||||
|
||||
<xsl:template match="changes">
|
||||
<xsl:variable name="version" select="@version"/>
|
||||
<xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="announcement">
|
||||
<style>
|
||||
body { background-color: #FFFFFF }
|
||||
p { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
|
||||
li,ul { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }
|
||||
div { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-style:italic }
|
||||
h1 { font-size: 14pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
|
||||
h2 { font-size: 12pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
|
||||
h3 { font-size: 10pt; font-family: Helvetica, Arial, sans-serif; font-weight: bold }
|
||||
A:link { color: #0000A0 } /* unvisited link */
|
||||
A:visited { color: #A00000 } /* visited links */
|
||||
A:active { color: #00A000 } /* active links */
|
||||
</style>
|
||||
|
||||
<a name="sig"><h2>PGP Signatures</h2></a>
|
||||
|
||||
<p>Many of the distribution kits have been digitally signed (using
|
||||
PGP). If so, there will be an accompanying
|
||||
<samp><em>distribution</em>.asc</samp> file in the same directory as
|
||||
the distribution. The PGP keys can be found in the distribution
|
||||
directory at <<a href="http://jakarta.apache.org/builds/jakarta-avalon/release/KEYS">
|
||||
<samp>http://jakarta.apache.org/builds/jakarta-avalon/release/KEYS</samp></a>>.</p>
|
||||
|
||||
<xsl:variable name="filename"><xsl:value-of
|
||||
select="project/downloads/@name"/>-<xsl:value-of
|
||||
select="project/changes/@version"/>-bin.tar.gz</xsl:variable>
|
||||
|
||||
<pre>Always test available signatures, <i>e.g.</i>,
|
||||
> pgpk -a KEYS
|
||||
> pgpv <xsl:value-of select="$filename"/>.asc
|
||||
<i>or</i>,
|
||||
> pgp -ka KEYS
|
||||
> pgp <xsl:value-of select="$filename"/>.asc
|
||||
<i>or</i>,
|
||||
> gpg --import KEYS
|
||||
> gpg --verify <xsl:value-of select="$filename"/>.asc
|
||||
</pre>
|
||||
|
||||
<xsl:for-each select="project">
|
||||
<xsl:if test="downloads">
|
||||
<h2>About <xsl:value-of select="title"/></h2>
|
||||
<xsl:apply-templates select="."/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="project">
|
||||
|
||||
<p>For more information about <xsl:value-of select="title"/>, please go to
|
||||
<a><xsl:attribute name="href"><xsl:value-of select="@site"/></xsl:attribute>
|
||||
<xsl:value-of select="@site"/></a>.</p>
|
||||
|
||||
<!-- print out ChangeLog if present -->
|
||||
<xsl:if test="changes">
|
||||
<h3>ChangeLog for <xsl:value-of select="title"/></h3>
|
||||
<xsl:apply-templates select="changes"/>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="ulink">
|
||||
<a href="{@uri}"><xsl:value-of select="."/></a>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="release">
|
||||
<ul>
|
||||
<xsl:for-each select="action">
|
||||
<li>
|
||||
<xsl:value-of select="normalize-space(.)"/>
|
||||
<xsl:if test="@dev">
|
||||
<xsl:text>[</xsl:text><xsl:value-of select="@dev"/><xsl:text>]</xsl:text>
|
||||
</xsl:if>
|
||||
</li>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -1,174 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output method="text" indent="no"/>
|
||||
|
||||
<xsl:template match="changes">
|
||||
<xsl:variable name="version" select="@version"/>
|
||||
<xsl:apply-templates select="document(@file,/)/changes/release[attribute::version=string($version)]"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="print-title">
|
||||
<xsl:param name="title"/>
|
||||
<xsl:variable name="text" select="normalize-space($title)"/>
|
||||
<xsl:value-of select="$text"/><xsl:text>
|
||||
</xsl:text>
|
||||
<xsl:call-template name="line">
|
||||
<xsl:with-param name="len" select="string-length($text)"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="announcement">
|
||||
<text>
|
||||
<xsl:call-template name="print-title">
|
||||
<xsl:with-param name="title"><xsl:value-of select="title"/> Released</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="word-wrap">
|
||||
<xsl:with-param name="text" select="normalize-space(abstract)"/>
|
||||
<xsl:with-param name="count" select="0"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text>
|
||||
|
||||
</xsl:text>
|
||||
<xsl:for-each select="project">
|
||||
<xsl:call-template name="print-title">
|
||||
<xsl:with-param name="title">About <xsl:value-of select="title"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<xsl:apply-templates select="."/>
|
||||
<xsl:text>
|
||||
|
||||
</xsl:text>
|
||||
</xsl:for-each>
|
||||
</text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="project">
|
||||
<xsl:choose>
|
||||
<xsl:when test="description/para">
|
||||
<xsl:for-each select="description/para">
|
||||
<xsl:call-template name="word-wrap">
|
||||
<xsl:with-param name="text">
|
||||
<xsl:apply-templates select="."/>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="count" select="0"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text>
|
||||
|
||||
</xsl:text>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="word-wrap">
|
||||
<xsl:with-param name="text">
|
||||
<xsl:apply-templates select="description"/>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="count" select="0"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text>
|
||||
For more information about </xsl:text>
|
||||
<xsl:value-of select="title"/>
|
||||
<xsl:text>, please go to
|
||||
</xsl:text>
|
||||
<xsl:value-of select="@site"/>
|
||||
|
||||
<!-- print out ChangeLog if present -->
|
||||
<xsl:if test="changes">
|
||||
<xsl:text>
|
||||
|
||||
ChangeLog for </xsl:text>
|
||||
<xsl:value-of select="title"/>
|
||||
<xsl:text>
|
||||
|
||||
</xsl:text>
|
||||
<xsl:apply-templates select="changes"/>
|
||||
</xsl:if>
|
||||
|
||||
<!-- print out Downloads if present -->
|
||||
<xsl:if test="downloads">
|
||||
<xsl:text>
|
||||
Downloads for </xsl:text><xsl:value-of select="title"/> available at
|
||||
|
||||
<xsl:value-of select="downloads/@base"/>/latest
|
||||
</xsl:if>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="para">
|
||||
<xsl:apply-templates/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="ulink">
|
||||
<xsl:value-of select="."/>
|
||||
<xsl:text> (</xsl:text>
|
||||
<xsl:value-of select="@uri"/>
|
||||
<xsl:text>)</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="release">
|
||||
<xsl:for-each select="action">
|
||||
<xsl:text>*) </xsl:text>
|
||||
<xsl:call-template name="word-wrap">
|
||||
<xsl:with-param name="text" select="."/>
|
||||
<xsl:with-param name="count" select="0"/>
|
||||
</xsl:call-template><xsl:text> </xsl:text>
|
||||
<xsl:if test="@dev">
|
||||
<xsl:text>[</xsl:text><xsl:value-of select="@dev"/><xsl:text>]</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:text>
|
||||
|
||||
</xsl:text>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="line">
|
||||
<xsl:param name="len"/>
|
||||
<xsl:if test="number($len) > 0">
|
||||
<xsl:text>-</xsl:text>
|
||||
<xsl:call-template name="line">
|
||||
<xsl:with-param name="len" select="number($len)-1"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="word-wrap">
|
||||
<xsl:param name="text"/>
|
||||
<xsl:param name="count"/>
|
||||
<xsl:param name="mytext" select="normalize-space($text)"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$count > 40">
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
<xsl:call-template name="word-wrap">
|
||||
<xsl:with-param name="text" select="$mytext"/>
|
||||
<xsl:with-param name="count" select="0"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:when test="not(contains($mytext,' '))">
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$mytext"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:variable name="word" select="substring-before($mytext,' ')"/>
|
||||
<xsl:variable name="remainder" select="substring-after($mytext,' ')"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$word"/>
|
||||
<xsl:if test="string-length($word) > 0">
|
||||
<xsl:call-template name="word-wrap">
|
||||
<xsl:with-param name="text" select="$remainder"/>
|
||||
<xsl:with-param name="count" select="$count + string-length($word)"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml">
|
||||
<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
|
||||
<xsl:template match="html:body">
|
||||
<patch-queue>
|
||||
<xsl:apply-templates/>
|
||||
</patch-queue>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="html:tr">
|
||||
<xsl:if test="contains(@class,'th')">
|
||||
<bug>
|
||||
<xsl:attribute name="id"><xsl:value-of select="html:td[1]/html:a"/></xsl:attribute>
|
||||
<xsl:attribute name="url">http://nagoya.apache.org/bugzilla/<xsl:value-of select="html:td[1]/html:a/@href"/></xsl:attribute>
|
||||
<xsl:attribute name="severity"><xsl:value-of select="html:td[2]"/></xsl:attribute>
|
||||
<xsl:attribute name="priority"><xsl:value-of select="html:td[3]"/></xsl:attribute>
|
||||
<xsl:attribute name="platform"><xsl:value-of select="html:td[4]"/></xsl:attribute>
|
||||
<xsl:attribute name="owner"><xsl:value-of select="html:td[5]"/></xsl:attribute>
|
||||
<xsl:attribute name="status"><xsl:value-of select="html:td[6]"/></xsl:attribute>
|
||||
<xsl:attribute name="resolution"><xsl:value-of select="html:td[7]"/></xsl:attribute>
|
||||
<xsl:attribute name="summary"><xsl:value-of select="html:td[8]"/></xsl:attribute>
|
||||
</bug>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="@*|*|text()|processing-instruction()">
|
||||
<xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -1,95 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:output indent="yes"/>
|
||||
|
||||
<xsl:param name="module">module</xsl:param>
|
||||
<xsl:param name="cvsweb">cvsweb</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="../../../../html/javadoc.css" title="Style"></link>
|
||||
</head>
|
||||
<body bgcolor="white">
|
||||
<h1>Change Log</h1>
|
||||
|
||||
<xsl:apply-templates select="changelog/entry">
|
||||
<xsl:sort order="descending" select="date" />
|
||||
</xsl:apply-templates>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="entry">
|
||||
|
||||
<h2>
|
||||
<xsl:call-template name="escape-return">
|
||||
<xsl:with-param name="string"><xsl:value-of select="msg"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</h2>
|
||||
<p>
|
||||
<b>
|
||||
<xsl:apply-templates select="date"/>
|
||||
by <xsl:value-of disable-output-escaping="yes" select="author"/>
|
||||
</b>
|
||||
</p>
|
||||
<p>
|
||||
<xsl:apply-templates select="file"/>
|
||||
</p>
|
||||
<hr/>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="date">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="weekday">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="time">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file">
|
||||
<br/><a>
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(prevrevision) = 0 ">
|
||||
<xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?rev=<xsl:value-of select="revision" />&content-type=text/x-cvsweb-markup</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" />?r1=<xsl:value-of select="revision" />&r2=<xsl:value-of select="prevrevision"/>&diff_format=h</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:value-of select="name" />
|
||||
</a>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="escape-return">
|
||||
<xsl:param name="string"/>
|
||||
<!-- must be a better way to define a carrige return -->
|
||||
<xsl:variable name="return"><xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($string, $return)">
|
||||
<xsl:value-of select="substring-before($string, $return)"/><br/>
|
||||
<xsl:call-template name="escape-return">
|
||||
<xsl:with-param name="string">
|
||||
<xsl:value-of select="substring-after($string, $return)"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$string"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
|
||||
<xsl:output method="text"/>
|
||||
|
||||
<xsl:template match="/">-----------------------------------------------------------
|
||||
This mail is generated automatically using
|
||||
Jakarta Ant. Contents are automatically
|
||||
downloaded from Apache's Bugzilla.
|
||||
-----------------------------------------------------------
|
||||
Please do not reply to this mail.
|
||||
-----------------------------------------------------------
|
||||
|
||||
***********************************************************
|
||||
__ __ __ __ __ __
|
||||
(___ (__) (___ (__) (__) | )
|
||||
|
||||
__ __ _|_ __ |__ ___ __
|
||||
|__) (__( |_, (___ | ) (__/_ __)
|
||||
|
|
||||
***********************************************************
|
||||
***************** patches in queue: <xsl:value-of select="count(patch-queue/bug)"/> ********************
|
||||
***********************************************************
|
||||
<xsl:for-each select="patch-queue/bug">
|
||||
-----------------------------------------------------------
|
||||
<xsl:value-of select="@id"/>:<xsl:value-of select="@summary"/>
|
||||
-----------------------------------------------------------
|
||||
<xsl:value-of select="@url"/>
|
||||
|
||||
REVIEWER: <xsl:value-of select="@owner"/>
|
||||
RESOLUTION: <xsl:value-of select="@resolution"/>
|
||||
STATUS: <xsl:value-of select="@status"/>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
*************************that's it!************************
|
||||
|
||||
------------------------patch HOWTO------------------------
|
||||
|
||||
Send patches to http://nagoya.apache.org/bugzilla/
|
||||
specifying [PATCH] in the summary.
|
||||
Bugzilla sends a mail automatically to this list.
|
||||
Reviewers will mark it FIXED there when applied.
|
||||
Patches not sent to Bugzilla will not be reviewed.
|
||||
-----------------------------------------------------------
|
||||
This file is generated and updated automatically at least
|
||||
once a week, and the data is taken from Bugzilla.
|
||||
If you don't find the patch you submitted to bugzilla
|
||||
after one week, please notify cocoon-dev@xml.apache.org
|
||||
for assistance.
|
||||
-----------------------------------------------------------
|
||||
There is usually a HEAD branch and a previous-version
|
||||
branch that are maintained. Where will the patch go?
|
||||
1. If it is a bug fix it should go to both branches
|
||||
2. If something is totally new it goes into HEAD scratchpad.
|
||||
3. Something in between, but does not break backward
|
||||
compatibility _may_ go into both (and may not)
|
||||
4. For everything else, a vote is required so
|
||||
first it may go into HEAD, and then be VOTEd in order
|
||||
to sync this into branch.
|
||||
Please note that structural changes have to be VOTEd first.
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@*|*|text()|processing-instruction()">
|
||||
<xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -1,109 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<!-- @author <a href="mailto:barozzi@nicolaken.com">Nicola Ken Barozzi</a> -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<xsl:text disable-output-escaping="yes">
|
||||
<![CDATA[
|
||||
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN"
|
||||
"dtd/document-v10.dtd">
|
||||
]]>
|
||||
</xsl:text>
|
||||
|
||||
<document>
|
||||
<header>
|
||||
<title>Patch Queue</title>
|
||||
<authors>
|
||||
<person name="Robin Green" email="greenrd@hotmail.com"/>
|
||||
<person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>
|
||||
</authors>
|
||||
</header>
|
||||
|
||||
<body>
|
||||
|
||||
<s1 title="Introduction">
|
||||
|
||||
<p>
|
||||
This is an <strong>informal</strong> list - in chronological order -
|
||||
of some of the noteworthy patches that have been posted
|
||||
to the <link href="mailto:cocoon-dev@xml.apache.org">cocoon-dev</link> mailing list.
|
||||
These patches are not (yet) part of the Apache Cocoon project, but need reviewing for possible
|
||||
inclusion. This system was instituted because, due to the large volume of mail and
|
||||
the lack of time of the committers, some patches tended to get forgotten about. This
|
||||
queue does not guarantee that any patch will be reviewed within a reasonable time frame,
|
||||
but it does at least make them easier to find!
|
||||
</p>
|
||||
|
||||
<p><strong>Reviewers wanted!</strong> - If you have time to review and/or test these patches,
|
||||
we would be grateful for your time. Please post comments to the cocoon-dev mailing lists.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Before submitting a patch, please read the page on <connect href="contrib.xml">Third-Party
|
||||
Contributions</connect>. The preferred submission method for patches is:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Post to cocoon-dev@xml.apache.org</li>
|
||||
<li>Describe the patch, the reason for it and (if necessary) why this is important.</li>
|
||||
<li>Generate the patch in <code>diff -u</code> format from CVS</li>
|
||||
<li>Also generate a documentation patch or new file, if this is something that should be documented.
|
||||
</li>
|
||||
<li>Post as an attachment rather than inline (unless it is trivially small).</li>
|
||||
</ul>
|
||||
|
||||
<p>Following the above guidelines will facilitate your patch being reviewed
|
||||
and applied efficiently.</p>
|
||||
|
||||
</s1>
|
||||
|
||||
<s1 title="Patch Queue">
|
||||
|
||||
<p><strong> [Under Construction] </strong> Archive links will be added later.
|
||||
<strong>Please do not bother the patch submitters/authors</strong> without first reading the
|
||||
relevant post(s) in the <connect href="mail-archives.xml">mailing list archives.</connect>
|
||||
</p>
|
||||
|
||||
<p>Vapourware will not be listed.</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>id<!--and Link--></th>
|
||||
<th>Summary</th>
|
||||
<th>Reviewer</th>
|
||||
<th>Resolution</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
<xsl:for-each select="patch-queue/bug">
|
||||
<tr>
|
||||
<th>
|
||||
<connect>
|
||||
<xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
|
||||
<xsl:value-of select="@id"/>
|
||||
</connect>
|
||||
</th>
|
||||
<th><xsl:value-of select="@summary"/></th>
|
||||
<th><xsl:value-of select="@owner"/></th>
|
||||
<th><xsl:value-of select="@resolution"/></th>
|
||||
<th><xsl:value-of select="@status"/></th>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
|
||||
<p>See also additional list of patches to be added in <connect href="todo.xml">To Do</connect>.
|
||||
</p>
|
||||
|
||||
</s1>
|
||||
</body>
|
||||
</document>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="@*|*|text()|processing-instruction()">
|
||||
<xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -1,160 +0,0 @@
|
|||
<!-- =================================================================== -->
|
||||
<!-- Prepares the build directory -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="prepare" depends="init">
|
||||
<mkdir dir="${build.dir}"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Prepares the source code -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="prepare-src" depends="prepare">
|
||||
<mkdir dir="${build.src}"/>
|
||||
<mkdir dir="${build.dest}"/>
|
||||
<copy todir="${build.src}" filtering="on">
|
||||
<fileset dir="${java.dir}"/>
|
||||
</copy>
|
||||
|
||||
<mkdir dir="${build.scratchpad.src}"/>
|
||||
<mkdir dir="${build.scratchpad.dest}"/>
|
||||
<copy todir="${build.scratchpad.src}" filtering="on">
|
||||
<fileset dir="${scratchpad.src}"/>
|
||||
</copy>
|
||||
|
||||
<mkdir dir="${build.examples.src}"/>
|
||||
<mkdir dir="${build.examples.dest}"/>
|
||||
<copy todir="${build.examples.src}" filtering="on">
|
||||
<fileset dir="${examples.src}"/>
|
||||
</copy>
|
||||
|
||||
<mkdir dir="${build.contrib.src}"/>
|
||||
<mkdir dir="${build.contrib.dest}"/>
|
||||
<copy todir="${build.contrib.src}" filtering="on">
|
||||
<fileset dir="${contrib.src}"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Compiles the source directory -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="compile" depends="prepare-src"
|
||||
description="Compiles the source code">
|
||||
<copy todir="${build.dest}">
|
||||
<fileset dir="${build.src}">
|
||||
<include name="**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<echo message="Compiling with Java ${ant.java.version}, debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>
|
||||
|
||||
<javac srcdir="${build.src}"
|
||||
destdir="${build.dest}"
|
||||
debug="${debug}"
|
||||
optimize="${optimize}"
|
||||
deprecation="${deprecation}"
|
||||
target="${target.vm}"
|
||||
nowarn="${nowarn}">
|
||||
<classpath refid="classpath"/>
|
||||
</javac>
|
||||
|
||||
<copy todir="${build.scratchpad.dest}">
|
||||
<fileset dir="${build.scratchpad.src}">
|
||||
<include name="**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<javac srcdir="${build.scratchpad.src}"
|
||||
destdir="${build.scratchpad.dest}"
|
||||
debug="${debug}"
|
||||
optimize="${optimize}"
|
||||
deprecation="${deprecation}"
|
||||
target="${target.vm}">
|
||||
<classpath refid="scratchpad.classpath"/>
|
||||
</javac>
|
||||
|
||||
<copy todir="${build.examples.dest}">
|
||||
<fileset dir="${build.examples.src}">
|
||||
<include name="**"/>
|
||||
<!--
|
||||
<include name="**/Manifest.mf"/>
|
||||
<include name="**/*.xsl"/>
|
||||
<include name="**/*.roles"/>
|
||||
<include name="**/*.xconf"/>
|
||||
<include name="META-INF/**"/>
|
||||
-->
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<javac srcdir="${build.examples.src}"
|
||||
destdir="${build.examples.dest}"
|
||||
debug="${debug}"
|
||||
optimize="${optimize}"
|
||||
deprecation="${deprecation}"
|
||||
target="${target.vm}">
|
||||
<classpath refid="examples.classpath"/>
|
||||
</javac>
|
||||
|
||||
<copy todir="${build.contrib.dest}">
|
||||
<fileset dir="${build.contrib.src}">
|
||||
<include name="**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<javac srcdir="${build.contrib.src}"
|
||||
destdir="${build.contrib.dest}"
|
||||
debug="${debug}"
|
||||
optimize="${optimize}"
|
||||
deprecation="${deprecation}"
|
||||
target="${target.vm}">
|
||||
<classpath refid="contrib.classpath"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates the jar file -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="all" depends="package" description="Default target"/>
|
||||
|
||||
<target name="package" depends="compile" description="Generates the jar package">
|
||||
<jar jarfile="${build.dir}/${name}.jar" manifest="${build.src}/Manifest.mf">
|
||||
<fileset dir="${build.dest}">
|
||||
<include name="**"/>
|
||||
<include name="META-INF/**"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
|
||||
<jar jarfile="${build.dir}/${scratchpad.name}.jar">
|
||||
<fileset dir="${build.scratchpad.dest}">
|
||||
<include name="**"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
|
||||
<jar jarfile="${build.dir}/${examples.name}.jar">
|
||||
<fileset dir="${build.examples.dest}">
|
||||
<include name="**"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
|
||||
<jar jarfile="${build.dir}/${contrib.name}.jar">
|
||||
<fileset dir="${build.contrib.dest}">
|
||||
<include name="**"/>
|
||||
</fileset>
|
||||
</jar>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Copies the tools.jar to javac.jar in web-inf/lib -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="prepare-tools-lib" depends="package" if="tools.jar.present">
|
||||
<!-- NOTE: java.home is normally set by the JVM to the /jre directory -->
|
||||
<copy file="${tools.jar}" tofile="${build.war}/WEB-INF/lib/javac.jar"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Clean targets -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="clean" depends="init" description="* Cleans the build directories">
|
||||
<delete dir="${build.dir}"/>
|
||||
</target>
|
||||
|
|
@ -1,242 +0,0 @@
|
|||
<!-- =================================================================== -->
|
||||
<!-- Creates the source distribution -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist-src" depends="docs, javadocs, test"
|
||||
description="Prepares the source distribution">
|
||||
<!-- Simply copy all and add the html docs -->
|
||||
<mkdir dir="${dist.root}"/>
|
||||
<mkdir dir="${dist.src.dir}"/>
|
||||
<mkdir dir="${dist.src.dir}/lib"/>
|
||||
<mkdir dir="${dist.src.dir}/lib/core"/>
|
||||
<mkdir dir="${dist.src.dir}/lib/optional"/>
|
||||
<mkdir dir="${dist.src.dir}/lib/endorsed"/>
|
||||
<mkdir dir="${dist.src.dir}/src"/>
|
||||
<mkdir dir="${dist.src.dir}/src/java"/>
|
||||
<mkdir dir="${dist.src.dir}/src/documentation"/>
|
||||
<mkdir dir="${dist.src.dir}/src/resources"/>
|
||||
<mkdir dir="${dist.src.dir}/src/scratchpad"/>
|
||||
<mkdir dir="${dist.src.dir}/src/testcases"/>
|
||||
<mkdir dir="${dist.src.dir}/src/contrib"/>
|
||||
<mkdir dir="${dist.src.dir}/src/examples"/>
|
||||
<mkdir dir="${dist.src.dir}/src/targets"/>
|
||||
<mkdir dir="${dist.src.dir}/docs"/>
|
||||
<mkdir dir="${dist.src.dir}/docs/apidocs"/>
|
||||
<mkdir dir="${dist.src.dir}/tools"/>
|
||||
|
||||
<!--
|
||||
<copy todir="${dist.src.dir}/bin">
|
||||
<fileset dir="${bin.dir}"/>
|
||||
</copy> -->
|
||||
<copy todir="${dist.src.dir}/tools">
|
||||
<fileset dir="${tools.dir}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/documentation">
|
||||
<fileset dir="${build.context}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/lib">
|
||||
<fileset dir="${lib.dir}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/resources" filtering="on">
|
||||
<fileset dir="${resource.dir}">
|
||||
<exclude name="**/*.gif"/>
|
||||
<exclude name="**/*.jpg"/>
|
||||
<exclude name="**/*.png"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/resources" filtering="off">
|
||||
<fileset dir="${resource.dir}">
|
||||
<include name="**/*.gif"/>
|
||||
<include name="**/*.jpg"/>
|
||||
<include name="**/*.png"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/java" filtering="on">
|
||||
<fileset dir="${java.dir}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/scratchpad" filtering="off">
|
||||
<fileset dir="${scratchpad.dir}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/contrib" filtering="off">
|
||||
<fileset dir="${contrib.dir}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/examples" filtering="off">
|
||||
<fileset dir="${examples.dir}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/targets" filtering="off">
|
||||
<fileset dir="./src/targets"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/src/testcases" filtering="off">
|
||||
<fileset dir="${test.dir}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}/docs">
|
||||
<fileset dir="${build.docs}"/>
|
||||
</copy>
|
||||
<copy todir="${dist.src.dir}/docs/apidocs">
|
||||
<fileset dir="${build.javadocs}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}">
|
||||
<fileset dir="${docs.dir}">
|
||||
<include name="changes.xml, todo.xml"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.src.dir}" filtering="on">
|
||||
<fileset dir=".">
|
||||
<include name="README.txt"/>
|
||||
<include name="legal/*"/>
|
||||
<include name="*.bat"/>
|
||||
<include name="*.sh"/>
|
||||
<include name="*.xml"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<chmod perm="+x" file="${dist.src.dir}/build.sh"/>
|
||||
<chmod perm="+x" file="${dist.src.dir}/tools/bin/antRun"/>
|
||||
<fixcrlf srcdir="${dist.src.dir}" includes="**.sh" eol="lf"/>
|
||||
<fixcrlf srcdir="${dist.src.dir}" includes="antRun" eol="lf"/>
|
||||
<fixcrlf srcdir="${dist.src.dir}" includes="**.bat" eol="crlf"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the source distribution as .zip -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist-src-zip" depends="dist-src"
|
||||
description="Generates the source distribution as a .zip file">
|
||||
<zip zipfile="${dist.target}/${dist.name}-src.zip"
|
||||
basedir="${dist.root}/source"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the source distribution with .tar.gzip -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist-src-tgz" depends="dist-src"
|
||||
description="Generates the source distribution as a .tar.gz file">
|
||||
<tar tarfile="${dist.target}/${dist.name}-src.tar"
|
||||
basedir="${dist.root}/source"
|
||||
longfile="gnu"/>
|
||||
<gzip zipfile="${dist.target}/${dist.name}-src.tar.gz"
|
||||
src="${dist.target}/${dist.name}-src.tar"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates the binary distribution -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist-bin" depends="package, docs, javadocs, test"
|
||||
description="Prepares the binary distribution">
|
||||
<!-- Copy the html docs -->
|
||||
<mkdir dir="${dist.root}"/>
|
||||
<mkdir dir="${dist.bin.dir}"/>
|
||||
<mkdir dir="${dist.bin.dir}/lib"/>
|
||||
<mkdir dir="${dist.src.dir}/lib/core"/>
|
||||
<mkdir dir="${dist.src.dir}/lib/optional"/>
|
||||
<mkdir dir="${dist.bin.dir}/docs"/>
|
||||
<mkdir dir="${dist.bin.dir}/docs/apidocs"/>
|
||||
|
||||
<copy todir="${dist.bin.dir}/lib/core">
|
||||
<fileset dir="${lib.dir}/core"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.bin.dir}/lib/optional">
|
||||
<fileset dir="${lib.dir}/optional"/>
|
||||
</copy>
|
||||
|
||||
<copy file="${build.dir}/${name}.jar" tofile="${dist.bin.dir}/lib/core/${name}-${version}.jar"/>
|
||||
|
||||
<copy todir="${dist.bin.dir}/docs">
|
||||
<fileset dir="${build.docs}"/>
|
||||
</copy>
|
||||
<copy todir="${dist.bin.dir}/docs/apidocs">
|
||||
<fileset dir="${build.javadocs}"/>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.bin.dir}">
|
||||
<fileset dir="${docs.dir}">
|
||||
<include name="changes.xml, todo.xml"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<copy todir="${dist.bin.dir}" filtering="on">
|
||||
<fileset dir=".">
|
||||
<include name="README.txt"/>
|
||||
<include name="legal/*"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the binary distribution as .zip -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist-bin-zip" depends="dist-bin"
|
||||
description="Generates the binary distribution as a .zip file">
|
||||
<zip zipfile="${dist.target}/${dist.name}-bin.zip"
|
||||
basedir="${dist.root}/bin"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Packages the binary distribution with .tar.gzip -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist-bin-tgz" depends="dist-bin"
|
||||
description="Generates the binary distribution as a .tar.gz file">
|
||||
<tar tarfile="${dist.target}/${dist.name}-bin.tar"
|
||||
basedir="${dist.root}/bin"
|
||||
longfile="gnu"/>
|
||||
<gzip zipfile="${dist.target}/${dist.name}-bin.tar.gz"
|
||||
src="${dist.target}/${dist.name}-bin.tar"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Clean dist -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="distclean" depends="clean" description="* Cleans everything to the original state">
|
||||
<delete dir="${build.root}"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}.tar.gz"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}.tar"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}.zip"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}-src.tar.gz"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}-src.tar"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}-src.zip"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}-bin.tar.gz"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}-bin.tar"/>
|
||||
<delete file="${dist.target}/core/${Name}-${version}-bin.zip"/>
|
||||
<delete dir="${dist.root}"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Build all distributions -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist"
|
||||
depends="dist-info, dist-bin-tgz, dist-bin-zip, dist-src-tgz, dist-src-zip"
|
||||
description="* Generates all distributions (source/binary)">
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Build all distributions -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="dist-info" depends="init">
|
||||
<echo>**********************************************</echo>
|
||||
<echo>*</echo>
|
||||
<echo>* Build all distributions:</echo>
|
||||
<echo>* - source distribution for windows/unix.</echo>
|
||||
<echo>* - binary distribution for windows/unix.</echo>
|
||||
<echo>*</echo>
|
||||
<echo>* This may take a while...</echo>
|
||||
<echo>*</echo>
|
||||
<echo>***********************************************</echo>
|
||||
<echo/>
|
||||
</target>
|
||||
|
||||
|
||||
|
|
@ -1,169 +0,0 @@
|
|||
<!-- =================================================================== -->
|
||||
<!-- Prepares the docs -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="prepare-docs" depends="init">
|
||||
|
||||
<mkdir dir="${build.context}"/>
|
||||
<mkdir dir="${build.context}/images"/>
|
||||
<mkdir dir="${build.docs}"/>
|
||||
<mkdir dir="${build.dir}/work"/>
|
||||
|
||||
<!-- make filtered copy of XML docs -->
|
||||
<copy todir="${build.context}" filtering="on">
|
||||
<fileset dir="${context.dir}">
|
||||
<exclude name="images/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- Copy images -->
|
||||
<copy todir="${build.context}/images" filtering="off">
|
||||
<fileset dir="${context.dir}/images"/>
|
||||
</copy>
|
||||
|
||||
<!-- Copy entity catalog and entities -->
|
||||
<copy todir="${build.context}/resources/entities" filtering="on">
|
||||
<fileset dir="${resource.dir}/entities"/>
|
||||
</copy>
|
||||
<mkdir dir="${build.context}/WEB-INF/classes"/>
|
||||
<move todir="${build.context}/WEB-INF/classes">
|
||||
<fileset dir="${build.context}/resources/entities">
|
||||
<include name="CatalogManager.properties"/>
|
||||
</fileset>
|
||||
</move>
|
||||
|
||||
<!-- Copy Cocoon configuration (cocoon.xconf) -->
|
||||
<copy todir="${build.context}" filtering="off">
|
||||
<fileset dir="${tools.dir}/cocoon/conf"/>
|
||||
</copy>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Clean generated docs dir. -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="cleandocs" depends="init" description="* Cleans the build docs directories">
|
||||
<delete dir="${build.docs}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- If generated docs is already up-to-date, print a message saying so. -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="making-docs">
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
<echo message=" Building docs, please stand by ..."/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- The documentation system -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="owdocs"
|
||||
depends="prepare-docs, making-docs"
|
||||
description="* Generates the documentation">
|
||||
|
||||
<java classname="org.apache.cocoon.Main" fork="true" dir="${build.context}" failonerror="true">
|
||||
<arg value="-c."/>
|
||||
<arg value="-d../docs"/>
|
||||
<arg value="-w../work"/>
|
||||
<arg value="-l../work/cocoon.log"/>
|
||||
<arg value="-uWARN"/>
|
||||
<arg value="index.html"/>
|
||||
<classpath>
|
||||
<path refid="classpath"/>
|
||||
<fileset dir="${build.dir}">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="${tools.dir}">
|
||||
<include name="*/lib/*.jar"/>
|
||||
</fileset>
|
||||
<pathelement location="${tools.jar}"/>
|
||||
<pathelement location="${build.context}/WEB-INF/classes"/>
|
||||
</classpath>
|
||||
</java>
|
||||
|
||||
<echo message=" ...docs generated succesfully in ./build/${name}/docs ."/>
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- The documentation system -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="docs"
|
||||
depends="cleandocs, owdocs"
|
||||
description="Cleans docs and generates the documentation">
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Create the announcements -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="announcement" depends="prepare" description="* Creates the announcement for new releases">
|
||||
|
||||
<copy file="${project-info}" tofile="${build.project-info}" filtering="on"/>
|
||||
|
||||
<style basedir="./" destdir="./" style="${projectinfo2announcement}"
|
||||
includes="project-info.xml" extension=".txt"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Create the text version of projectinfo -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="projectinfo" depends="prepare" description="* Creates the text version of projectinfo">
|
||||
|
||||
<copy file="${project-info}" tofile="${build.project-info}" filtering="on"/>
|
||||
|
||||
<style basedir="./" destdir="./" style="${project-info2txt}"
|
||||
includes="project-info.xml" extension=".txt"/>
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates the web site -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="site" depends="docs, javadocs"
|
||||
description="Generates the web site">
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Set a variable if javadoc is already up-to-date. -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="javadocs_check">
|
||||
<uptodate property="javadocs.notrequired" targetfile="${build.javadocs}/packages.html" >
|
||||
<srcfiles dir= "${build.src}" includes="**/*.java"/>
|
||||
</uptodate>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- If javadoc is already up-to-date, print a message saying so. -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="javadocs_done" if="javadocs.notrequired">
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
<echo message="Not rebuilding Javadocs, as they are up-to-date:"/>
|
||||
<echo message=" ${build.javadocs}/packages.html is more recent than"/>
|
||||
<echo message=" ${build.src}/**/*.java"/>
|
||||
<echo message="-------------------------------------------------------------"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Creates the API documentation -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="javadocs" depends="prepare-src, javadocs_check, javadocs_done"
|
||||
unless="javadocs.notrequired"
|
||||
description="* Generates the API documentation">
|
||||
<mkdir dir="${build.javadocs}"/>
|
||||
<javadoc packagenames="${packages}"
|
||||
sourcepath="${build.src}"
|
||||
destdir="${build.javadocs}"
|
||||
author="true"
|
||||
version="true"
|
||||
use="false"
|
||||
noindex="true"
|
||||
windowtitle="${Name} API"
|
||||
doctitle="${Name}"
|
||||
bottom="Copyright © ${year} ${fullname} project. All Rights Reserved."
|
||||
stylesheetfile="${resource.dir}/javadoc.css">
|
||||
<classpath refid="classpath"/>
|
||||
</javadoc>
|
||||
</target>
|
|
@ -1,156 +0,0 @@
|
|||
<!-- =================================================================== -->
|
||||
<!-- Initialization target -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="init">
|
||||
<tstamp>
|
||||
<format property="TODAY" pattern="dd-MMMM-yyyy" locale="en"/>
|
||||
<format property="YEAR" pattern="yyyy"/>
|
||||
</tstamp>
|
||||
|
||||
<echo message="--------------------------------------------------------------"/>
|
||||
<echo message="Setting up customized ant tasks..."/>
|
||||
|
||||
<!-- set up tools and compiler properties -->
|
||||
<property name="debug" value="on"/>
|
||||
<property name="optimize" value="off"/>
|
||||
<property name="deprecation" value="on"/>
|
||||
<property name="nowarn" value="off"/>
|
||||
<property name="build.compiler" value="classic"/>
|
||||
<property name="target.vm" value="1.2"/>
|
||||
<property name="tools.dir" value="./tools"/>
|
||||
<property name="tools.ant.dir" value="${tools.dir}/ant"/>
|
||||
<property name="tools.ant.lib" value="${tools.ant.dir}/lib"/>
|
||||
<property name="tools.anttasks.dir" value="${tools.dir}/tmp/anttasks"/>
|
||||
<property name="centipede.dir" value="${tools.dir}/centipede"/>
|
||||
<property name="centipede.lib.dir" value="${centipede.dir}/lib"/>
|
||||
<property name="cocoon.dir" value="${tools.dir}/cocoon"/>
|
||||
<property name="cocoon.lib.dir" value="${cocoon.dir}/lib"/>
|
||||
|
||||
<!-- compile the ant tasks -->
|
||||
<mkdir dir="${tools.anttasks.dir}"/>
|
||||
<javac srcdir="${tools.dir}/centipede/src/java"
|
||||
destdir="${tools.anttasks.dir}"
|
||||
debug="yes"
|
||||
optimize="no"
|
||||
deprecation="no"
|
||||
target="${target.vm}">
|
||||
<classpath refid="centipede.classpath"/>
|
||||
</javac>
|
||||
|
||||
<!-- define generally used centipede ant tasks -->
|
||||
<taskdef name="user-input" classname="UserInputTask" classpath="${tools.anttasks.dir}"/>
|
||||
<taskdef name="xml-property" classname="XmlPropertyTask" classpath="${tools.anttasks.dir}"/>
|
||||
<taskdef name="jtidy" classname="JTidyTask" classpath="${tools.anttasks.dir}"/>
|
||||
<taskdef name="class-available" classname="ClassAvailableTask" classpath="${tools.anttasks.dir}"/>
|
||||
<!--<taskdef name="compress-html" classname="IZPressHtmlCompressTask" classpath="${tools.anttasks.dir}"/>-->
|
||||
|
||||
<echo message="... done."/>
|
||||
|
||||
<!--
|
||||
Load project information from project-info.xml
|
||||
-->
|
||||
<property name="project-info" value="./project-info.xml"/>
|
||||
<xml-property file="${project-info}"/>
|
||||
|
||||
<!--
|
||||
Project information
|
||||
-->
|
||||
<property name="fullname" value="${xml.project.name}"/>
|
||||
<property name="name" value="${xml.project.info.module}"/>
|
||||
<property name="Name" value="${xml.project.name}"/>
|
||||
<property name="packages" value="${xml.project.module.project.package}.*"/>
|
||||
<property name="short.version" value="${xml.project.info.version}"/>
|
||||
<property name="version.tag" value="${xml.project.info.tag}"/>
|
||||
<property name="version" value="${short.version}-${version.tag}"/>
|
||||
<property name="year" value="${xml.project.info.year}"/>
|
||||
|
||||
<echo message="--------------------------------------------------------------"/>
|
||||
<echo message=" ${fullname} [${year}] "/>
|
||||
<echo message="--------------------------------------------------------------"/>
|
||||
<echo message="Building with ${ant.version}"/>
|
||||
<echo message="using build file ${ant.file}"/>
|
||||
<echo message="--------------------------------------------------------------"/>
|
||||
|
||||
<property name="src.dir" value="./src"/>
|
||||
<property name="java.dir" value="${src.dir}/java"/>
|
||||
<property name="test.dir" value="${src.dir}/testcases"/>
|
||||
<property name="test.specific" value=""/>
|
||||
<property name="lib.dir" value="./lib"/>
|
||||
<property name="bin.dir" value="./bin"/>
|
||||
<property name="docs.dir" value="${src.dir}/documentation/xdocs"/>
|
||||
<property name="images.dir" value="${src.dir}/documentation/images"/>
|
||||
<property name="resource.dir" value="${src.dir}/resources"/>
|
||||
<property name="context.dir" value="${src.dir}/documentation"/>
|
||||
|
||||
<property name="scratchpad.dir" value="${src.dir}/scratchpad"/>
|
||||
<property name="scratchpad.src" value="${scratchpad.dir}/src"/>
|
||||
<property name="scratchpad.lib" value="${scratchpad.dir}/lib"/>
|
||||
<property name="scratchpad.name" value="${name}-scratchpad"/>
|
||||
|
||||
<property name="examples.dir" value="${src.dir}/examples"/>
|
||||
<property name="examples.src" value="${examples.dir}/src"/>
|
||||
<property name="examples.lib" value="${examples.dir}/lib"/>
|
||||
<property name="examples.name" value="${name}-examples"/>
|
||||
|
||||
<property name="contrib.dir" value="${src.dir}/contrib"/>
|
||||
<property name="contrib.src" value="${contrib.dir}/src"/>
|
||||
<property name="contrib.lib" value="${contrib.dir}/lib"/>
|
||||
<property name="contrib.name" value="${name}-contrib"/>
|
||||
|
||||
<property name="build.root" value="./build"/>
|
||||
<property name="build.dir" value="${build.root}/${name}"/>
|
||||
<property name="build.src" value="${build.dir}/src"/>
|
||||
<property name="build.test" value="${build.dir}/testcases"/>
|
||||
<property name="build.dest" value="${build.dir}/classes"/>
|
||||
<property name="build.docs" value="${build.dir}/docs"/>
|
||||
<property name="build.xdocs" value="${build.dir}/xdocs"/>
|
||||
<property name="build.docs.printer" value="${build.dir}/printer-docs"/>
|
||||
<property name="build.javadocs" value="${build.dir}/javadocs"/>
|
||||
<property name="build.context" value="${build.dir}/documentation"/>
|
||||
<property name="build.scratchpad" value="${build.dir}/scratchpad"/>
|
||||
<property name="build.scratchpad.src" value="${build.scratchpad}/src"/>
|
||||
<property name="build.scratchpad.dest" value="${build.scratchpad}/classes"/>
|
||||
<property name="build.examples" value="${build.dir}/examples"/>
|
||||
<property name="build.examples.src" value="${build.examples}/src"/>
|
||||
<property name="build.examples.dest" value="${build.examples}/classes"/>
|
||||
<property name="build.contrib" value="${build.dir}/contrib"/>
|
||||
<property name="build.contrib.src" value="${build.contrib}/src"/>
|
||||
<property name="build.contrib.dest" value="${build.contrib}/classes"/>
|
||||
<property name="build.patchqueue" value="${build.dir}/patchqueue"/>
|
||||
|
||||
<property name="dist.root" value="./dist"/>
|
||||
<property name="dist.name" value="${name}-${version}"/>
|
||||
<property name="dist.dir" value="${dist.root}/${dist.name}"/>
|
||||
<property name="dist.src.dir" value="${dist.root}/source/${dist.name}"/>
|
||||
<property name="dist.bin.dir" value="${dist.root}/bin/${dist.name}"/>
|
||||
<property name="dist.target" value="${dist.root}"/>
|
||||
|
||||
<property name="site" value="../xml-site/targets/${name}"/>
|
||||
|
||||
<property name="build.project-info" value="${build.dir}/project-info.xml"/>
|
||||
<property name="project-info2txt" value="${src.dir}/documentation/stylesheets/projectinfo2txt.xsl"/>
|
||||
<property name="projectinfo2announcement" value="${src.dir}/documentation/stylesheets/projectinfo2announcement.xsl"/>
|
||||
<property name="projectinfo2todo" value="${src.dir}/documentation/stylesheets/projectinfo2todo.xsl"/>
|
||||
|
||||
<!--
|
||||
The location of tools.jar, relative to the JAVA_HOME home.
|
||||
-->
|
||||
<property name="tools.jar" value="${java.home}/../lib/tools.jar"/>
|
||||
<available file="${tools.jar}" property="tools.jar.present"/>
|
||||
|
||||
<!--
|
||||
Specifies where to send build build-log.xml
|
||||
-->
|
||||
<property name="XmlLogger.file" value="${build.dir}/build-log.xml"/>
|
||||
<delete file="${XmlLogger.file}"/>
|
||||
|
||||
<filter token="Name" value="${fullname}"/>
|
||||
<filter token="name" value="${fullname}"/>
|
||||
<filter token="year" value="${year}"/>
|
||||
<filter token="version" value="${version}"/>
|
||||
<filter token="date" value="${TODAY}"/>
|
||||
<filter token="log" value="true"/>
|
||||
<filter token="verbose" value="true"/>
|
||||
|
||||
|
||||
</target>
|
|
@ -1,88 +0,0 @@
|
|||
<!--
|
||||
Give user a chance to override without editing this file
|
||||
(and without typing -D each time he compiles it)
|
||||
-->
|
||||
<property file=".ant.properties"/>
|
||||
<property file="${user.home}/.ant.properties"/>
|
||||
|
||||
<!--
|
||||
these are here only for those who use jikes compiler. For other
|
||||
developers this part makes no difference.
|
||||
-->
|
||||
<property name="build.compiler.emacs" value="on"/>
|
||||
<property name="build.compiler.warnings" value="true"/>
|
||||
<property name="build.compiler.pedantic" value="false"/>
|
||||
<property name="build.compiler.depend" value="true"/>
|
||||
<property name="build.compiler.fulldepend" value="true"/>
|
||||
|
||||
<!-- Temporary fix. Longer term solution to be discussed. -->
|
||||
<property name="build.root" value="./build"/>
|
||||
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Indentify Classpath -->
|
||||
<!-- =================================================================== -->
|
||||
<path id="centipede.classpath">
|
||||
<fileset dir="./lib/endorsed">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./tools/centipede/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<path id="classpath">
|
||||
<fileset dir="./lib/endorsed">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./lib/core">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./lib/optional">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<path id="examples.classpath">
|
||||
<fileset dir="./lib/endorsed">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<!-- FIXME : how to build a path that references a property set in 'init' target ? -->
|
||||
<pathelement path="${build.root}/jakarta-poi/classes"/>
|
||||
</path>
|
||||
|
||||
<path id="scratchpad.classpath">
|
||||
<fileset dir="./lib/endorsed">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./lib/core">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./lib/optional">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./src/scratchpad/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<!-- FIXME : how to build a path that references a property set in 'init' target ? -->
|
||||
<pathelement path="${build.root}/jakarta-poi/classes"/>
|
||||
</path>
|
||||
|
||||
<path id="contrib.classpath">
|
||||
<fileset dir="./lib/endorsed">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./lib/core">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./lib/optional">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<fileset dir="./src/contrib/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
<!-- FIXME : how to build a path that references a property set in 'init' target ? -->
|
||||
<pathelement path="${build.root}/jakarta-poi/classes"/>
|
||||
</path>
|
||||
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
<!-- =================================================================== -->
|
||||
<!-- Gets pending patches from bugzilla and cleans html -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="prepare-patchqueue" depends="init" description="Patch queue 2 mail">
|
||||
<mkdir dir="${build.patchqueue}"/>
|
||||
<get
|
||||
src="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Cocoon+2&short_desc=%5BPATCH%5D&short_desc_type=anywordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=cocoon+patch+queue&newqueryname=&order=Reuse+same+sort+as+last+time"
|
||||
dest="${build.patchqueue}/bugzillapatchqueue.html"
|
||||
verbose="true"
|
||||
usetimestamp="true"
|
||||
ignoreerrors="true"/>
|
||||
|
||||
<jtidy src="${build.patchqueue}/bugzillapatchqueue.html"
|
||||
dest="${build.patchqueue}/bugzillapatchqueue.xhtml"
|
||||
log="${build.patchqueue}/bugzillapatchqueue.log"
|
||||
summary="true"
|
||||
warn="true"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Transforms bugzilla patches html into xml -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="patchqueue-xml" depends="prepare-patchqueue">
|
||||
<copy file="${tools.dir}/src/bugzilla2patchqueue.xsl"
|
||||
tofile="${build.patchqueue}/bugzilla2patchqueue.xsl"/>
|
||||
<style basedir="${build.patchqueue}"
|
||||
destdir="${build.patchqueue}"
|
||||
includes="bugzillapatchqueue.xhtml"
|
||||
extension=".xml"
|
||||
style="bugzilla2patchqueue.xsl"/>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Makes patches.xml for xdocs using bugzilla patches xml -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="patchqueue-xdocs" depends="patchqueue-xml">
|
||||
<copy file="${tools.dir}/src/patchqueue2xdocs.xsl"
|
||||
tofile="${build.patchqueue}/patchqueue2xdocs.xsl"/>
|
||||
|
||||
<style basedir="${build.patchqueue}"
|
||||
destdir="${build.patchqueue}"
|
||||
includes="bugzillapatchqueue.xml"
|
||||
extension=".xdoc"
|
||||
style="patchqueue2xdocs.xsl"/>
|
||||
|
||||
<copy file="${build.patchqueue}/bugzillapatchqueue.xdoc" tofile="${docs.dir}/patches.xml"/>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Sends a notification of the current patch queue to the mailing list -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="patchqueue" depends="patchqueue-xdocs">
|
||||
<copy file="${tools.dir}/src/patchqueue2text4dev.xsl"
|
||||
tofile="${build.patchqueue}/patchqueue2text4dev.xsl"/>
|
||||
<style basedir="${build.patchqueue}"
|
||||
destdir="${build.patchqueue}"
|
||||
includes="bugzillapatchqueue.xml"
|
||||
extension=".txt"
|
||||
style="patchqueue2text4dev.xsl"/>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Sends a notification of the current patch queue to the mailing list -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="patchqueue-notify" depends="patchqueue">
|
||||
<mail from="patch-queue@nicolaken.com"
|
||||
tolist="cocoon-dev@xml.apache.org"
|
||||
mailhost="192.4.0.155"
|
||||
subject="DO NOT REPLY [PATCH QUEUE] Summary ${TODAY}"
|
||||
files="${build.patchqueue}/bugzillapatchqueue.txt"/>
|
||||
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Calls the targets needed for Gump -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="gump" depends="testmodule, package">
|
||||
</target>
|
||||
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
<!-- =================================================================== -->
|
||||
<!-- Test targets -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="test" depends="compile" description="Perform jUnit tests">
|
||||
<mkdir dir="${build.test}"/>
|
||||
<!-- Copy test files to build test dir -->
|
||||
<copy todir="${build.test}" filtering="on">
|
||||
<fileset dir="${test.dir}/${test.specific}"/>
|
||||
</copy>
|
||||
<!-- Compile tests -->
|
||||
<javac srcdir="${build.test}"
|
||||
destdir="${build.test}"
|
||||
debug="${debug}"
|
||||
optimize="${optimize}"
|
||||
deprecation="${deprecation}"
|
||||
target="${target.vm}">
|
||||
<classpath refid="classpath"/>
|
||||
<classpath>
|
||||
<pathelement path="${build.dest}" />
|
||||
</classpath>
|
||||
</javac>
|
||||
<junit printsummary="yes" haltonfailure="yes" fork="yes">
|
||||
<sysproperty key="UTIL.testdata.path"
|
||||
value="${test.dir}/org/apache/poi/util/data"/>
|
||||
<sysproperty key="HSSF.testdata.path"
|
||||
value="${test.dir}/org/apache/poi/hssf/data"/>
|
||||
<classpath>
|
||||
<pathelement location="${build.test}" />
|
||||
<pathelement location="${build.dest}" />
|
||||
<pathelement path="${java.class.path}" />
|
||||
</classpath>
|
||||
<classpath refid="classpath"/>
|
||||
<formatter type="plain" usefile="no" />
|
||||
<batchtest>
|
||||
<fileset dir="${build.test}">
|
||||
<include name="**/test/*TestCase.class"/>
|
||||
<include name="**/*Test.class" />
|
||||
<include name="**/Test*.class" />
|
||||
<exclude name="**/AllTest.class" />
|
||||
<exclude name="**/*$$*Test.class" />
|
||||
</fileset>
|
||||
</batchtest>
|
||||
</junit>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Testing that all major targets work; useful before a commit -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="testmodule" depends="clean, docs, test, javadocs"
|
||||
description="Testing that all major targets work; useful before a commit ">
|
||||
</target>
|
|
@ -1,22 +0,0 @@
|
|||
<!-- =================================================================== -->
|
||||
<!-- Print out warnings for optional components -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="optional-warnings"
|
||||
description="Outputs warnings if some optional jars are missing from the environment">
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Try other builds that could go into this core build -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="try"
|
||||
depends="init"
|
||||
description="Builds to try before including in main build">
|
||||
<ant target="${try.target}" antfile="./tools/targets/try.xml"/>
|
||||
</target>
|
||||
|
||||
<!-- =================================================================== -->
|
||||
<!-- Fix line endings in src -->
|
||||
<!-- =================================================================== -->
|
||||
<target name="fixsrclf" depends="init" description="Fix lf in src directory (internal use only!)">
|
||||
<fixcrlf srcdir="${java.dir}" includes="**/*.java" eol="lf"/>
|
||||
</target>
|
|
@ -1,718 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<cocoon version="2.0">
|
||||
|
||||
<tree-processor>
|
||||
<!-- The sitemap language -->
|
||||
<language name="sitemap" class="org.apache.cocoon.treeprocessor.sitemap.SitemapLanguage">
|
||||
|
||||
<!-- Namespace for this language -->
|
||||
<namespace uri="http://apache.org/cocoon/sitemap/1.0"/>
|
||||
|
||||
<!-- File name for files in this language, relative to the environment prefix -->
|
||||
<file name="sitemap.xmap"/>
|
||||
|
||||
<!-- Description of the element for nodes parameters -->
|
||||
<parameter element="parameter"/>
|
||||
|
||||
<!-- roles for the sitemap language -->
|
||||
<roles>
|
||||
<role name="org.apache.cocoon.acting.ActionSelector"
|
||||
shorthand="actions"
|
||||
default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/>
|
||||
|
||||
<role name="org.apache.cocoon.selection.SelectorSelector"
|
||||
shorthand="selectors"
|
||||
default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/>
|
||||
|
||||
<role name="org.apache.cocoon.matching.MatcherSelector"
|
||||
shorthand="matchers"
|
||||
default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector">
|
||||
|
||||
<hint shorthand="regexp-uri-matcher"
|
||||
class="org.apache.cocoon.matching.RegexpURIMatcher"/>
|
||||
|
||||
<hint shorthand="wildcard-uri-matcher"
|
||||
class="org.apache.cocoon.matching.WildcardURIMatcher"/>
|
||||
|
||||
</role>
|
||||
|
||||
<role name="org.apache.cocoon.generation.GeneratorSelector"
|
||||
shorthand="generators"
|
||||
default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector">
|
||||
|
||||
<hint shorthand="file-generator"
|
||||
class="org.apache.cocoon.generation.FileGenerator"/>
|
||||
|
||||
<hint shorthand="XSP-generator"
|
||||
class="org.apache.cocoon.generation.ServerPagesGenerator"/>
|
||||
</role>
|
||||
|
||||
<role name="org.apache.cocoon.transformation.TransformerSelector"
|
||||
shorthand="transformers"
|
||||
default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector">
|
||||
|
||||
<hint shorthand="XSLT-transformer"
|
||||
class="org.apache.cocoon.transformation.TraxTransformer"/>
|
||||
|
||||
<hint shorthand="cinclude-transformer"
|
||||
class="org.apache.cocoon.transformation.CIncludeTransformer"/>
|
||||
|
||||
</role>
|
||||
|
||||
<role name="org.apache.cocoon.serialization.SerializerSelector"
|
||||
shorthand="serializers"
|
||||
default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/>
|
||||
|
||||
<role name="org.apache.cocoon.reading.ReaderSelector"
|
||||
shorthand="readers"
|
||||
default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/>
|
||||
|
||||
<role name="org.apache.cocoon.components.notification.NotifyingBuilder"
|
||||
shorthand="notifying-builder"
|
||||
default-class="org.apache.cocoon.components.notification.DefaultNotifyingBuilder"/>
|
||||
|
||||
</roles>
|
||||
|
||||
<!-- node definitions for the sitemap language -->
|
||||
<nodes>
|
||||
<!-- All node names are given as local names in the above namespace (no prefix) -->
|
||||
|
||||
<!-- Sitemap root node -->
|
||||
<node name="sitemap" builder="org.apache.cocoon.treeprocessor.sitemap.SitemapNodeBuilder">
|
||||
<allowed-children>components, views, action-sets, resources, pipelines</allowed-children>
|
||||
</node>
|
||||
|
||||
<!-- Components definition : parse view info associated to components
|
||||
(actual components creation is done by SitemapLanguage) -->
|
||||
<node name="components"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.ComponentsNodeBuilder"/>
|
||||
|
||||
<node name="pipelines"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.PipelinesNodeBuilder">
|
||||
<allowed-children>pipeline</allowed-children>
|
||||
</node>
|
||||
|
||||
<node name="views" builder="org.apache.cocoon.treeprocessor.CategoryNodeBuilder"/>
|
||||
<node name="view" builder="org.apache.cocoon.treeprocessor.sitemap.ViewNodeBuilder"/>
|
||||
<node name="resources" builder="org.apache.cocoon.treeprocessor.CategoryNodeBuilder"/>
|
||||
<node name="resource" builder="org.apache.cocoon.treeprocessor.NamedContainerNodeBuilder"/>
|
||||
<node name="action-sets" builder="org.apache.cocoon.treeprocessor.CategoryNodeBuilder"/>
|
||||
<node name="action-set"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.ActionSetNodeBuilder"/>
|
||||
<node name="pipeline" builder="org.apache.cocoon.treeprocessor.sitemap.PipelineNodeBuilder">
|
||||
<forbidden-children>sitemap, components, pipelines</forbidden-children>
|
||||
</node>
|
||||
<node name="match" builder="org.apache.cocoon.treeprocessor.sitemap.MatchNodeBuilder">
|
||||
<forbidden-children>sitemap, components, pipeline, handle-errors</forbidden-children>
|
||||
</node>
|
||||
<node name="select" builder="org.apache.cocoon.treeprocessor.sitemap.SelectNodeBuilder"/>
|
||||
|
||||
<node name="act" builder="org.apache.cocoon.treeprocessor.sitemap.ActNodeBuilder">
|
||||
<forbidden-children>sitemap, components, pipeline, handle-errors</forbidden-children>
|
||||
</node>
|
||||
<node name="redirect-to"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.RedirectToNodeBuilder"/>
|
||||
<node name="call" builder="org.apache.cocoon.treeprocessor.sitemap.CallNodeBuilder"/>
|
||||
<node name="mount" builder="org.apache.cocoon.treeprocessor.sitemap.MountNodeBuilder"/>
|
||||
<node name="read" builder="org.apache.cocoon.treeprocessor.sitemap.ReadNodeBuilder"/>
|
||||
<node name="aggregate"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.AggregateNodeBuilder"/>
|
||||
<node name="generate" builder="org.apache.cocoon.treeprocessor.sitemap.GenerateNodeBuilder"/>
|
||||
<node name="transform"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.TransformNodeBuilder"/>
|
||||
<node name="serialize"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.SerializeNodeBuilder"/>
|
||||
<node name="handle-errors"
|
||||
builder="org.apache.cocoon.treeprocessor.sitemap.HandleErrorsNodeBuilder"/>
|
||||
|
||||
</nodes>
|
||||
|
||||
</language>
|
||||
|
||||
</tree-processor>
|
||||
|
||||
<!-- Source Handler:
|
||||
The source handler adds special url protocols to the system, they are
|
||||
then available inside Cocoon, e.g. as a source argument for one of the
|
||||
sitemap components.
|
||||
-->
|
||||
<source-handler logger="core.source-handler">
|
||||
<!-- file protocol : this is a WriteableSource -->
|
||||
<protocol name="file" class="org.apache.cocoon.components.source.FileSourceFactory"/>
|
||||
</source-handler>
|
||||
|
||||
<!-- Entity resolution catalogs: *********************************************
|
||||
catalog:
|
||||
The default catalog is distributed at /resources/entities/catalog
|
||||
This is the contextual pathname for Cocoon resources.
|
||||
You can override this path, if necessary, using the "catalog" parameter.
|
||||
<parameter name="catalog" value="/resources/entities/catalog"/>
|
||||
However, it is probably desirable to leave this default catalog config
|
||||
and declare your own local catalogs, which are loaded in addition to
|
||||
the system catalog.
|
||||
|
||||
There are various ways to do local configuration (see "Entity Catalogs"
|
||||
documentation). One way is via the CatalogManager.properties file.
|
||||
As an additional method, you can specify the "local-catalog" parameter here.
|
||||
|
||||
local-catalog:
|
||||
The full filesystem pathname to a single local catalog file.
|
||||
<parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/>
|
||||
|
||||
verbosity:
|
||||
The level of messages for status/debug (messages go to standard output)
|
||||
The following messages are provided ...
|
||||
0 = none
|
||||
1 = ? (... not sure yet)
|
||||
2 = 1+, Loading catalog, Resolved public, Resolved system
|
||||
3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
|
||||
10 = 3+, List all catalog entries when loading a catalog
|
||||
(Cocoon also logs the "Resolved public" messages.)
|
||||
TODO: determine all messages at each level
|
||||
<parameter name="verbosity" value="2"/>
|
||||
|
||||
************************************************************************** -->
|
||||
<entity-resolver class="org.apache.cocoon.components.resolver.ResolverImpl"
|
||||
logger="core.resolver">
|
||||
<parameter name="catalog" value="/resources/entities/catalog"/>
|
||||
<parameter name="verbosity" value="1"/>
|
||||
</entity-resolver>
|
||||
|
||||
<!-- ================ Apache Cocoon configuration file ================== -->
|
||||
<!-- For full description of the components and their parameters ...
|
||||
- Apache Cocoon User Documentation at /userdocs/
|
||||
- webapp/cocoon.xconf (this file) - describes each core component
|
||||
- each optional component/.../*.xconf - these describe the parameters
|
||||
for each component and are automatically included at build-time.
|
||||
|
||||
The notes that accompany the settings below are intended to be concise.
|
||||
-->
|
||||
|
||||
<!-- ===================== General Components =========================== -->
|
||||
|
||||
<!-- Parser:
|
||||
The default parser used in Apache Cocoon is
|
||||
org.apache.avalon.excalibur.xml.JaxpParser. Apache Cocoon requires a
|
||||
JAXP 1.1 parser.
|
||||
If you have problems because your servlet environment uses its own
|
||||
parser not conforming to JAXP 1.1 try using the alternative
|
||||
XercesParser instead of the JaxpParser. To activate the XercesParser,
|
||||
change the class attribute to
|
||||
class="org.apache.avalon.excalibur.xml.XercesParser"
|
||||
You will also need to add a system property to your JVM,
|
||||
probably on the startup of your servlet engine like this:
|
||||
-Dorg.apache.avalon.excalibur.xml.Parser=org.apache.avalon.excalibur.xml.XercesParser
|
||||
|
||||
Configuration for the JaxpParser (not the XercesParser!):
|
||||
- validate (boolean, default = false): This parameter causes the parser
|
||||
to be a validating parser.
|
||||
XML validation is only being used for the documentation build.
|
||||
(If you are going to use it elsewhere, then do so with caution.)
|
||||
You really should have validated all of your XML documents already,
|
||||
according to their proper DTD or schema. Do not expect Cocoon to do it.
|
||||
- namespace-prefixes (boolean, default = false) : do we want
|
||||
namespaces declarations also as 'xmlns:' attributes ?
|
||||
Note : setting this to true confuses some XSL processors (e.g. Saxon).
|
||||
- stop-on-warning (boolean, default = true) : should the parser
|
||||
stop parsing if a warning occurs ?
|
||||
- stop-on-recoverable-error (boolean, default = true) : should the parser
|
||||
stop parsing if a recoverable error occurs ?
|
||||
- reuse-parsers (boolean, default = true) : do we want to reuse
|
||||
parsers or create a new parser for each parse ?
|
||||
Note : even if this parameter is true, parsers are not
|
||||
recycled in case of parsing errors : some parsers (e.g. Xerces) don't like
|
||||
to be reused after failure.
|
||||
- sax-parser-factory (string) : the name of the SAXParserFactory
|
||||
implementation class to be used instead of using the standard JAXP mechanism
|
||||
(SAXParserFactory.newInstance()). This allows to choose
|
||||
unambiguously the JAXP implementation to be used when several of them are
|
||||
available in the classpath.
|
||||
- document-builder-factory (string) : the name of the
|
||||
DocumentBuilderFactory implementation to be used (similar to
|
||||
sax-parser-factory for DOM).
|
||||
-->
|
||||
<xml-parser class="org.apache.avalon.excalibur.xml.JaxpParser"
|
||||
logger="core.xml-parser">
|
||||
<parameter name="validate" value="false"/>
|
||||
<parameter name="namespace-prefixes" value="false"/>
|
||||
<parameter name="stop-on-warning" value="true"/>
|
||||
<parameter name="stop-on-recoverable-error" value="true"/>
|
||||
<!--
|
||||
<parameter name="reuse-parsers" value="true"/>
|
||||
<parameter name="sax-parser-factory" value="???"/>
|
||||
<parameter name="document-builder-factory" value="???"/>
|
||||
-->
|
||||
</xml-parser>
|
||||
|
||||
<!-- ============================ STORE ============================ -->
|
||||
<!-- Persistent store for the cache. Two store implementations to choose
|
||||
from:
|
||||
* FilesystemStore: Simple. Dependable. Thorougly tested.
|
||||
* JispFilesystemStore: Scalable. New kid on the block. Not thorougly tested.
|
||||
If you opt in to use JispFilesystemStore, comment out FilesystemStore
|
||||
entry.
|
||||
|
||||
JispFilesystemStore configuration parameters
|
||||
(in addition to common parameters):
|
||||
datafile: name of the store file to use.
|
||||
indexfile: name of the index file to use.
|
||||
order: FIXME: put description here.
|
||||
|
||||
<cache-persistent class="org.apache.cocoon.components.store.JispFilesystemStore"
|
||||
logger="core.store.persistent">
|
||||
<parameter name="use-cache-directory" value="true"/>
|
||||
<parameter name="datafile" value="cocoon-cache.dat"/>
|
||||
<parameter name="indexfile" value="cocoon-cache.idx"/>
|
||||
<parameter name="order" value="1701"/>
|
||||
</cache-persistent>
|
||||
|
||||
<cache-persistent class="org.apache.cocoon.components.store.FilesystemStore"
|
||||
logger="core.store.persistent">
|
||||
<parameter name="use-cache-directory" value="true"/>
|
||||
</cache-persistent>
|
||||
-->
|
||||
|
||||
<cache-persistent class="org.apache.cocoon.components.store.JispFilesystemStore"
|
||||
logger="core.store.persistent">
|
||||
<parameter name="use-cache-directory" value="true"/>
|
||||
<parameter name="datafile" value="cocoon-cache.dat"/>
|
||||
<parameter name="indexfile" value="cocoon-cache.idx"/>
|
||||
<parameter name="order" value="1701"/>
|
||||
</cache-persistent>
|
||||
|
||||
<!-- Memory Storing: -->
|
||||
<cache-transient class="org.apache.cocoon.components.store.MRUMemoryStore"
|
||||
logger="core.store.transient">
|
||||
<!-- Indicates how many objects will be hold in the cache.
|
||||
When the number of maxobjects has been reached. The last object in the
|
||||
cache will be thrown out. -->
|
||||
<parameter name="maxobjects" value="100"/>
|
||||
|
||||
<!-- Turns the swapping of the objects into persistent cache on
|
||||
and off. -->
|
||||
<parameter name="use-persistent-cache" value="true"/>
|
||||
</cache-transient>
|
||||
|
||||
<!-- Store Janitor:
|
||||
Be careful with the heapsize and freememory parameters. Wrong values can
|
||||
cause high cpu usage. Example configuration:
|
||||
Jvm settings:
|
||||
-Xms100000000 -Xmx200000000
|
||||
store-janitor settings:
|
||||
<parameter name="freememory" value="5000000"/>
|
||||
<parameter name="heapsize" value="150000000"/>
|
||||
|
||||
Heapsize *must* be higher then the -Xms parameter and *must* be lower or
|
||||
equal than -Xmx. It is recommended to have heapsize equal to -Xmx, especially
|
||||
on Sun's JVM which are unable to shrink its heap once it grows above minimum.
|
||||
Freememory parameter *must* be lower than -Xms, and should be greater than
|
||||
amount of memory necessary for normal application operation.
|
||||
-->
|
||||
<store-janitor class="org.apache.cocoon.components.store.StoreJanitorImpl"
|
||||
logger="core.store.janitor">
|
||||
<!-- How much free memory shall be available in the jvm -->
|
||||
<parameter name="freememory" value="1000000"/>
|
||||
<!-- Indicates the limit of the jvm memory consumption. The default max
|
||||
heapsize for Sun's JVM is 64Mb -->
|
||||
<parameter name="heapsize" value="67108864"/>
|
||||
<!-- How often shall the cleanup thread check memory -->
|
||||
<parameter name="cleanupthreadinterval" value="10"/>
|
||||
<!-- Indicates the thread priority of the cleanup thread -->
|
||||
<parameter name="threadpriority" value="5"/>
|
||||
<!-- How much percent of the elements of each registered Store shall
|
||||
be removed when low on memory. Default 10% -->
|
||||
<parameter name="percent_to_free" value="10"/>
|
||||
</store-janitor>
|
||||
<!-- ============================ STORE END ========================= -->
|
||||
|
||||
<!-- XSLT Processor:
|
||||
For Xalan: Turn 'incremental-processing' to true if you want a continous output (if set to
|
||||
false the transformer
|
||||
delivers SAX events after all transformations has been done). -->
|
||||
<xslt-processor class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"
|
||||
logger="core.xslt-processor">
|
||||
<parameter name="use-store" value="true"/>
|
||||
<parameter name="incremental-processing" value="false"/>
|
||||
</xslt-processor>
|
||||
|
||||
<!-- Xpath Processor:
|
||||
-->
|
||||
<xpath-processor class="org.apache.cocoon.components.xpath.XPathProcessorImpl"
|
||||
logger="core.xpath-processor"/>
|
||||
|
||||
<!-- URL Factory:
|
||||
The url factory adds special url protocols to the system, they are then
|
||||
available inside Cocoon, e.g. as a source argument for one of the sitemap
|
||||
components.
|
||||
-->
|
||||
<url-factory logger="core.url-factory">
|
||||
<!-- Allows access to resources available from the ClassLoader,
|
||||
using getResource() method. -->
|
||||
<protocol name="resource" class="org.apache.cocoon.components.url.ResourceURLFactory"/>
|
||||
<!-- Allows access to resources available from the servlet context,
|
||||
using getResource() method. -->
|
||||
<protocol name="context" class="org.apache.cocoon.components.url.ContextURLFactory"/>
|
||||
<!-- Add here protocol factories for your own protocols -->
|
||||
</url-factory>
|
||||
|
||||
<!-- Program Generator:
|
||||
The ProgamGenerator builds programs from a XML document written in a
|
||||
MarkupLanguage.
|
||||
auto-reload:
|
||||
root-package: persistent code repository.
|
||||
preload:
|
||||
-->
|
||||
<program-generator logger="core.program-generator">
|
||||
<parameter name="auto-reload" value="true"/>
|
||||
<parameter name="root-package" value="org.apache.cocoon.www"/>
|
||||
<parameter name="preload" value="true"/>
|
||||
</program-generator>
|
||||
|
||||
<!-- Xscript:
|
||||
-->
|
||||
<xscript logger="core.xscript">
|
||||
<parameter name="xscript:copy-of"
|
||||
value="resource://org/apache/cocoon/components/xscript/xslt/copy-of.xsl"/>
|
||||
<parameter name="xscript:value-of"
|
||||
value="resource://org/apache/cocoon/components/xscript/xslt/value-of.xsl"/>
|
||||
</xscript>
|
||||
|
||||
<!-- Programming Languages: -->
|
||||
<programming-languages>
|
||||
<java-language name="java" logger="core.language.java">
|
||||
<!-- Compiler parameter specifies which class to use to compile Java.
|
||||
Possible variants are:
|
||||
Javac. Requires javac.jar (included with Cocoon distribution).
|
||||
Pizza. Requires pizza.jar (included with Cocoon distribution).
|
||||
Jikes. Requires IBM jikes compiler to be present in the PATH -->
|
||||
<parameter name="compiler"
|
||||
value="org.apache.cocoon.components.language.programming.java.Javac"/>
|
||||
<!-- Specifies which formatter to use to format source code.
|
||||
This parameter is optional.
|
||||
It is commented out because of bug #5689: Java "code-formatter" incorrectly formats
|
||||
double values
|
||||
<parameter name="code-formatter"
|
||||
value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/>
|
||||
-->
|
||||
<!-- A singleton-like implementation of a ClassLoader -->
|
||||
<parameter name="class-loader"
|
||||
value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
|
||||
</java-language>
|
||||
|
||||
</programming-languages>
|
||||
|
||||
<!-- Class loader:
|
||||
A singleton-like implementation of a ClassLoader.
|
||||
-->
|
||||
<classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"
|
||||
logger="core.classloader"/>
|
||||
|
||||
<!-- Markup Languages:
|
||||
This section defines several builtin logicsheets. A logicsheet is an XML
|
||||
filter used to translate user-defined, dynamic markup into equivalent
|
||||
code embedding directives for a given markup language.
|
||||
-->
|
||||
<markup-languages>
|
||||
<xsp-language name="xsp" logger="core.markup.xsp">
|
||||
<parameter name="prefix" value="xsp"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp"/>
|
||||
|
||||
<!-- Defines the XSP Core logicsheet for the Java language -->
|
||||
<target-language name="java">
|
||||
<parameter name="core-logicsheet"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
|
||||
|
||||
<!-- The Request logicsheet (taglib) is an XSP logicsheet that wraps XML tags
|
||||
around standard request operations -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="xsp-request"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<!-- The Response logicsheet (taglib) is an XSP logicsheet that wraps XML tags
|
||||
around standard response operations -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="xsp-response"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<!-- The Session logicsheet (taglib) is an XSP logicsheet that wraps XML tags around
|
||||
standard session operations. Specifically, the Session logicsheet provides an
|
||||
XML interface to most methods of the HttpSession object (see the Java Servlet API
|
||||
Specification, version 2.2 ) for more information. -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="session"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/session.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<!-- The Cookie logicsheet (taglib) is an XSP logicsheet that wraps XML tags
|
||||
around standard cookie operations -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="xsp-cookie"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/cookie/2.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/cookie.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<!-- The ESQL logicsheet is an XSP logicsheet that performs sql queries and
|
||||
serializes their results as XML. This allows you to work with data from a
|
||||
wide variety of different sources when using Apache Cocoon. -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="esql"/>
|
||||
<parameter name="uri" value="http://apache.org/cocoon/SQL/v2"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/esql.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="log"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/log/2.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/log.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="util"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/util/2.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/util.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<!-- The xsp-formval taglib serves as interface to retrieve validation results
|
||||
from a request attribute -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="xsp-formval"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/form-validator/2.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/form-validator.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<!-- The sel taglib allows to put multiple pages / view into
|
||||
one xsp. While in general it is good style to put
|
||||
different views into different xsp because they're more
|
||||
easily maintained, this is a useful feature with
|
||||
e.g. with long forms that are broken into parts -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="sel"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/sel/1.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/sel.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="action"/>
|
||||
<parameter name="uri" value="http://apache.org/cocoon/action/1.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/action.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<!-- The capture taglib is for capturing parts of the XSP-generated XML as
|
||||
XML fragments or DOM nodes -->
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="capture"/>
|
||||
<parameter name="uri" value="http://apache.org/cocoon/capture/1.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="xscript"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/xscript/1.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/xscript.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
<builtin-logicsheet>
|
||||
<parameter name="prefix" value="soap"/>
|
||||
<parameter name="uri" value="http://apache.org/xsp/soap/3.0"/>
|
||||
<parameter name="href"
|
||||
value="resource://org/apache/cocoon/components/language/markup/xsp/java/soap.xsl"/>
|
||||
</builtin-logicsheet>
|
||||
|
||||
</target-language>
|
||||
|
||||
</xsp-language>
|
||||
|
||||
<!-- Defines Sitemap Core logicsheet for the Java language -->
|
||||
<sitemap-language name="sitemap" logger="core.markup.sitemap">
|
||||
<parameter name="prefix" value="map"/>
|
||||
<parameter name="uri" value="http://apache.org/cocoon/sitemap/1.0"/>
|
||||
|
||||
<target-language name="java">
|
||||
<parameter name="core-logicsheet"
|
||||
value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/>
|
||||
</target-language>
|
||||
</sitemap-language>
|
||||
</markup-languages>
|
||||
|
||||
<!-- Datasources example:
|
||||
<datasources>
|
||||
<jdbc name="personnel" logger="core.datasources.personnel">
|
||||
<pool-controller min="5" max="10" oradb="true"/>
|
||||
<pool-controller min="5" max="10"/>
|
||||
<auto-commit>false</auto-commit>
|
||||
<dburl>jdbc:hsqldb:hsql://localhost:9002</dburl>
|
||||
<user>sa</user>
|
||||
<password></password>
|
||||
</jdbc>
|
||||
</datasources>
|
||||
-->
|
||||
|
||||
<!-- Stream Pipeline:
|
||||
Either collects a Reader and lets it produce a character stream
|
||||
or connects an EventPipeline with a Serializer and lets them produce
|
||||
the character stream. Alternatives to CachingStreamPipeline are:
|
||||
<stream-pipeline class="org.apache.cocoon.components.pipeline.NonCachingStreamPipeline"/>
|
||||
-->
|
||||
<stream-pipeline class="org.apache.cocoon.components.pipeline.CachingStreamPipeline"
|
||||
logger="core.stream-pipeline"
|
||||
pool-max="32" pool-min="2" pool-grow="4"/>
|
||||
|
||||
<!-- Event Pipeline:
|
||||
Connects the generator and the various transformers and produces a
|
||||
character stream. Alternatives to CachingEventPipeline are:
|
||||
<event-pipeline class="org.apache.cocoon.components.pipeline.NonCachingEventPipeline"/>
|
||||
<event-pipeline class="org.apache.cocoon.components.profiler.ProfilingCachingEventPipeline"/>
|
||||
<event-pipeline
|
||||
class="org.apache.cocoon.components.profiler.ProfilingNonCachingEventPipeline"/>
|
||||
-->
|
||||
<event-pipeline class="org.apache.cocoon.components.pipeline.CachingEventPipeline"
|
||||
logger="core.event-pipeline"
|
||||
pool-max="32" pool-min="2" pool-grow="4"/>
|
||||
|
||||
<!-- Compiling xml to byte streams.
|
||||
The xml-serializer "compiles" xml sax events into a byte stream
|
||||
and the xml-deserializer does the same vice versa.
|
||||
Make sure, that if you change one of these components, that you
|
||||
may have to change the other one as well, as they might have
|
||||
a dependency.
|
||||
-->
|
||||
<xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler"
|
||||
logger="core.xml-serializer"/>
|
||||
|
||||
<xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter"
|
||||
logger="core.xml-deserializer"/>
|
||||
|
||||
<!-- SAXConnector:
|
||||
Connects the various pipeline components.
|
||||
LoggingSAXConnector logs SAX events between pipeline components
|
||||
into cocoon's log file.
|
||||
ProfilingSAXConnector gathers timing information.
|
||||
Uncomment one of the following lines for using the SAXConnector.
|
||||
<sax-connector class="org.apache.cocoon.components.saxconnector.LoggingSAXConnector"/>
|
||||
<sax-connector class="org.apache.cocoon.components.profiler.ProfilingSAXConnector"/>
|
||||
-->
|
||||
|
||||
<!-- Profiler:
|
||||
The profiler facilitates the gathering of statistics about timings of
|
||||
different steps of pipelines. Profiler consists of several components:
|
||||
profiling pipeline, profiling SAX connector, and profiler generator
|
||||
which are used to generate the profile report. You need to enable all of
|
||||
these components to use profiler.
|
||||
|
||||
Uncomment the following line to use profiler.
|
||||
<profiler/>
|
||||
-->
|
||||
|
||||
<!-- Resource Monitor:
|
||||
The Monitor keeps track on changes to a Resource.
|
||||
-->
|
||||
<monitor logger="core.monitor">
|
||||
<thread priority="5" frequency="10000"/>
|
||||
</monitor>
|
||||
|
||||
<!-- ======================== The sitemap ============================== -->
|
||||
|
||||
<!-- Reloading of the sitemap:
|
||||
The check-reload attribute determines if the sitemap is reloaded on change.
|
||||
Set to "no", the sitemap is generated once at startup.
|
||||
Set to "yes", the sitemap is regenerated if it changes.
|
||||
|
||||
The reload-method specifies the method for the regeneration:
|
||||
asynchron: If the sitemap changes, the sitemap is regenerated at the
|
||||
next request in the background and the incoming request is
|
||||
served with the old sitemap. All subsequent requests are
|
||||
served with the old sitemap until the regeneration in the
|
||||
background has finished.
|
||||
synchron: If the sitemap changes, the sitemap is regenerated at the
|
||||
next request. When the regeneration is finished, the request
|
||||
(and all subsequent ones) is served with the new sitemap.
|
||||
|
||||
For development environment, set the reload-method to synchron and the
|
||||
check-reload to yes.
|
||||
For production environment, it is advisable to set the reload-method to
|
||||
asynchron and for more safety the check-reload to no.
|
||||
|
||||
<sitemap file="sitemap.xmap" reload-method="asynchron" check-reload="yes" logger="sitemap"/>
|
||||
-->
|
||||
|
||||
<sitemap class="org.apache.cocoon.treeprocessor.TreeProcessor" logger="sitemap"/>
|
||||
|
||||
<!-- ===================== Sitemap Components =========================== -->
|
||||
|
||||
<!-- Here defined some core Cocoon sitemap components, as File generator
|
||||
or XSLT transformer. Note that syntax of this file slightly differs
|
||||
from the syntax of <map:components> section of the sitemap.xmap file.
|
||||
-->
|
||||
<generators>
|
||||
<component-instance name="file" class="org.apache.cocoon.generation.FileGenerator"
|
||||
label="content,data"
|
||||
logger="sitemap.generator.file"
|
||||
pool-max="32" pool-min="2" pool-grow="4"/>
|
||||
|
||||
<component-instance name="serverpages" class="org.apache.cocoon.generation.ServerPagesGenerator"
|
||||
label="content,data"
|
||||
logger="sitemap.generator.serverpages"
|
||||
pool-max="32" pool-min="0" pool-grow="2"/>
|
||||
</generators>
|
||||
|
||||
<transformers>
|
||||
<component-instance name="xslt" class="org.apache.cocoon.transformation.TraxTransformer"
|
||||
logger="sitemap.transformer.xslt"
|
||||
pool-max="32" pool-min="2" pool-grow="4">
|
||||
<use-request-parameters>false</use-request-parameters>
|
||||
<use-browser-capabilities-db>false</use-browser-capabilities-db>
|
||||
<use-deli>false</use-deli>
|
||||
</component-instance>
|
||||
</transformers>
|
||||
|
||||
<serializers>
|
||||
<component-instance name="links" class="org.apache.cocoon.serialization.LinkSerializer"
|
||||
encoding="iso8859-1"
|
||||
logger="sitemap.serializer.links"
|
||||
pool-max="32" pool-min="2" pool-grow="4"/>
|
||||
|
||||
<component-instance name="xml" class="org.apache.cocoon.serialization.XMLSerializer"
|
||||
encoding="iso8859-1"
|
||||
mime-type="text/xml"
|
||||
logger="sitemap.serializer.xml"
|
||||
pool-max="32" pool-min="2" pool-grow="4"/>
|
||||
|
||||
<component-instance name="html" class="org.apache.cocoon.serialization.HTMLSerializer"
|
||||
encoding="iso8859-1"
|
||||
mime-type="text/html"
|
||||
logger="sitemap.serializer.html"
|
||||
pool-max="32" pool-min="4" pool-grow="4">
|
||||
<buffer-size>1024</buffer-size>
|
||||
</component-instance>
|
||||
</serializers>
|
||||
|
||||
<readers>
|
||||
<component-instance name="resource" class="org.apache.cocoon.reading.ResourceReader"
|
||||
logger="sitemap.reader.resource"
|
||||
pool-max="32"/>
|
||||
</readers>
|
||||
|
||||
<!--
|
||||
<matchers/>
|
||||
<selectors/>
|
||||
<actions/>
|
||||
-->
|
||||
|
||||
</cocoon>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue