diff options
Diffstat (limited to 'build')
41 files changed, 0 insertions, 8119 deletions
diff --git a/build/.checkstyle b/build/.checkstyle deleted file mode 100644 index c868508c2..000000000 --- a/build/.checkstyle +++ /dev/null @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<fileset-config file-format-version="1.0.0"/> diff --git a/build/.project b/build/.project deleted file mode 100644 index 6f56803c2..000000000 --- a/build/.project +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>MOA Build</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature> - </natures> -</projectDescription> diff --git a/build/README.txt b/build/README.txt deleted file mode 100644 index 4c8a1cf27..000000000 --- a/build/README.txt +++ /dev/null @@ -1,80 +0,0 @@ -MOA BUILD-SYSTEM -================ - - -Einleitung ----------- - -Das MOA Build-System bietet eine einheitliche Build-Umgebung für -alle MOA Sub-Projekte. - -Es bietet folgende Vorteile: - - zentrale Installation des Build-Tools (Ant) - - zentrale Ablage der Build-Scripts - - standardisiertes Build über alle Sub-Projekte - - einfache Möglichkeit, alle Sub-Projekte auf einmal zu erzeugen - - -Voraussetzungen ---------------- - -Das MOA Build-System setzt ein JDK 1.3.1 oder höher voraus. Folgende -Umgebungsvariablen müssen (required) oder können (optional) gesetzt -sein: - - - JAVA_HOME (required): zeigt auf das vom Build-System zu verwendende - JDK (ab Version 1.3.1) - - CATALINA_HOME (optional): zeigt auf eine Tomcat-4.1 Installation; wird - verwendet, um Web-Applikationen zu deployen - - JMETER_HOME (optional): zeigt auf eine JMeter-1.8 Installation; wird - verewndet, um das JMeter-Plugin zu deployen - - -Aufruf ------- - -Unter Windows: - build [project [targets]] - -Unter Unix: - build.sh [project [targets]] - -Der Parameter 'project' spezifiziert das Sub-Projekt, für das das Build -aufzurufen ist. Der Wert 'all' gibt an, dass das Build für alle MOA Sub-Projekte -durchgeführt werden soll. - -Der Parameter 'targets' spezifiziert eine Liste von Build-Targets. Werden keine -Targets angegeben, wird automatisch der Default-Target des jeweiligen Projekts -ausgeführt. - -Ein Aufruf ohne Parameter wird wie ein Aufruf mit dem Parameter 'all' interpretiert. - - -Sub-Projekte ------------- - -Als Sub-Projekte stehen derzeit zur Verfügung: - - - common - - spss.client - - spss.server - - id.server - -Das MOA Build-System geht davon aus, dass die Sub-Projekte in der selben -Verzeichnis-Ebene zu finden sind wie das Build-System selbst. - - -Targets -------- - -Sub-Projekte stellen ihre Targets in einem Build-File namens 'build.xml' in -ihrem Wurzelverzeichnis zur Verfügung. Jedes Sub-Projekt hat grundsätzlich -die Freiheit, eigene Targets zu definieren. Für ein möglichst automatisiertes -Build und Deployment aller Sub-Projekte auf einmal, sollten einige Top-Level -Targets über alle Sub-Projekte hinweg standardisiert sein: - -dist-all: erzeugt deploy-fähige bzw. verteilbare Module - -deploy-catalina: führt das Deployment in einen Tomcat-4.1 durch - -deploy-all: führt das Deployment in Zielumgebungen durch diff --git a/build/scripts/build.bat b/build/scripts/build.bat deleted file mode 100644 index 8414bc02f..000000000 --- a/build/scripts/build.bat +++ /dev/null @@ -1,64 +0,0 @@ -@echo off
-
-rem
-rem Main build script for the MOA projects
-rem
-rem Author: Patrick Peck
-rem Version: $Id: build.bat,v 1.8 2003/05/07 18:52:02 peck Exp $
-rem
-
-
-rem set JAVA_HOME=C:\java\jdk1.3.1_09
-rem set CATALINA_HOME=C:\Programme\Apache\Tomcat-4_1_24
-
-
-if %OS%=="Windows_NT" @setlocal
-
-set PROJECTS=
-set TARGETS=
-
-set ALLPROJECTS=common spss.server id.server
-
-if "%JAVA_HOME%"=="" goto noJavaHome
-goto checkAllProjects
-
-:noJavaHome
-echo error: JAVA_HOME not defined
-goto end
-
-:checkAllProjects
-set PROJECTS=%1
-shift
-if not "%PROJECTS%"=="all" goto checkCommonProject
-set PROJECTS=%ALLPROJECTS%
-goto checkTargets
-
-:checkCommonProject
-if not "%PROJECTS%"=="common" goto checkProject
-set PROJECTS=common
-goto checkTargets
-
-:checkEmptyProject
-if not "%PROJECTS%"=="" goto checkProject
-set PROJECTS=%ALLPROJECTS%
-goto checkTargets
-
-:checkProject
-set PROJECTS=common %PROJECTS%
-
-:checkTargets
-if "%1"=="" goto runAnt
-set TARGETS=%TARGETS% %1
-shift
-goto checkTargets
-
-:runAnt
-echo.
-echo BUILDING PROJECT(S): %PROJECTS%
-echo BUILDING TARGET(S) : %TARGETS%
-
-for %%p in (%PROJECTS%) do call runAnt %%p %TARGETS%
-
-:end
-if %OS%=="Windows_NT" @endlocal
-
diff --git a/build/scripts/build.sh b/build/scripts/build.sh deleted file mode 100644 index 33f5f78b3..000000000 --- a/build/scripts/build.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -# -# Main build script for the MOA projects -# -# Author: Paul Ivancsics -# Version: $Id: build.sh,v 1.13 2003/05/07 18:52:02 peck Exp $ -# - - -PROJECTS=$1 -ALLPROJECTS="common spss.server id.server" - -shift -TARGETS=$* - -if [ -z "$JAVA_HOME" ]; then - echo "error: JAVA_HOME not defined"; - exit; -fi - -if [ -z "$PROJECTS" ] || [ "$PROJECTS" = "all" ]; then - PROJECTS=$ALLPROJECTS; -elif ! [ "$PROJECTS" = "common" ]; then - PROJECTS="common $PROJECTS"; -fi - -echo -echo "BUILDING PROJECT(S): $PROJECTS" -echo "BUILDING TARGET(S) : $TARGETS" - -for PROJ in $PROJECTS; do - sh ./runAnt.sh $PROJ $TARGETS; -done diff --git a/build/scripts/runAnt.bat b/build/scripts/runAnt.bat deleted file mode 100644 index 347ad8d21..000000000 --- a/build/scripts/runAnt.bat +++ /dev/null @@ -1,38 +0,0 @@ -@echo off
-
-rem
-rem Helper script for calling Ant
-rem
-rem Author: Patrick Peck
-rem Version: $Id: runAnt.bat,v 1.6 2003/03/24 10:36:35 peck Exp $
-rem
-
-
-if %OS%=="Windows_NT" @setlocal
-
-set ANT=..\build\tools\jakarta-ant-1.5.1\bin\ant.bat
-set BUILDFILE=build.xml
-set SCRIPT_SUFFIX=bat
-set MOA_COMMON_JAR=..\common\tmp\dist\moa-common.jar
-set MOA_COMMON_TEST_JAR=..\common\tmp\dist\moa-common-test.jar
-
-echo.
-echo.
-echo BUILDING %1
-echo.
-
-
-cd ..\..\%1
-
-:callCommon
-if not "%1"=="common" goto callOther
-call %ANT% -f %BUILDFILE% dist-all
-goto end
-
-:callOther
-call %ANT% -f %BUILDFILE% %2 %3 %4 %5 %6 %7 %8 %9
-
-:end
-cd ..\build\scripts
-if %OS%=="Windows_NT" @endlocal
-
diff --git a/build/scripts/runAnt.sh b/build/scripts/runAnt.sh deleted file mode 100644 index b5fc92e24..000000000 --- a/build/scripts/runAnt.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -# -# Helper script for calling Ant -# -# Author: Paul Ivancsics -# Version: $Id: runAnt.sh,v 1.9 2003/04/07 13:36:43 peck Exp $ -# - - -ANT=../build/tools/jakarta-ant-1.5.1/bin/ant -PROJECT="$1" -BUILDFILE=build.xml -export SCRIPT_SUFFIX=sh -export MOA_COMMON_JAR=../common/tmp/dist/moa-common.jar -export MOA_COMMON_TEST_JAR=../common/tmp/dist/moa-common-test.jar - -echo -echo -echo BUILDING $PROJECT -echo - - -cd ../../$PROJECT - -if [ "$1" == "common" ]; then - sh $ANT -f $BUILDFILE dist-all -else - sh $ANT -f $BUILDFILE $2 $3 $4 $5 $6 $7 $8 $9 -fi - diff --git a/build/tools/jakarta-ant-1.5.1/KEYS b/build/tools/jakarta-ant-1.5.1/KEYS deleted file mode 100644 index 61bff0aec..000000000 --- a/build/tools/jakarta-ant-1.5.1/KEYS +++ /dev/null @@ -1,226 +0,0 @@ -This file contains the PGP keys of various developers.
-Please don't use them for email unless you have to. Their main
-purpose is code signing.
-
-Users: pgp < KEYS
-Developers:
- pgp -kxa <your name> and append it to this file.
- (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
- (gpg --list-sigs <your name>
- && gpg --armor --export <your name>) >> this file.
-
-Type Bits/KeyID Date User ID
-pub 1024/FEECAAED 1998/11/11 Stefan Bodewig <bodewig@bost.de>
- Stefan Bodewig <bodewig@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3i
-
-mQCNAzZJoiMAAAEEAMzhUxTOC20Nprp6K4nLTiARt+EXii/dovNWWcfzZcYXi/lX
-r3zpUTTZxlKQpd4RaHjFmGgoOraZE4jCRFARVcFJgYmGUKpcWJZO7YKL36WUizTM
-+dyB2ycOtzlty1W5VmRL3FGqo67pKA9F/QHg3NSu9hY1W9xPPK7Kq3f+7KrtAAUR
-tCBTdGVmYW4gQm9kZXdpZyA8Ym9kZXdpZ0Bib3N0LmRlPokAlQIFEDZSrGXHcgyK
-jiW9zQEBshEEAMlG4qVjKp4/agdJG56M6izx9oaKecFLXHQJrFUy3w2PvZHFYtXc
-osXKorX6bPrE8uB57MxbY2WapKeVRodlG0+j39vAf501duK8q2rktfWt9Cl4JjJ4
-DbWhSWfV1ci62u2gCxwYQe22F9Wh+vhOR5NK9RTbSKhupdlFsnrk/i7xiQCVAwUQ
-NkmiI67Kq3f+7KrtAQGdxQQAlcFOzSv7G6M4uGbgvw7IGgrhx7rawtIyv9hLXgVC
-7ua9xaZV8G0Fl9gh8RnbdcZ4R/aT+KIiAFaslfZ3t6hlC4MTbnAJqvdS/NO98ZkJ
-YvnzZSKHflAbd5gyE7IVxBC9/xRlF/Wls5sYNwb6RjoRCaOjxN/y3WCLa3Va101v
-zNy0I1N0ZWZhbiBCb2Rld2lnIDxib2Rld2lnQGFwYWNoZS5vcmc+iQCVAwUQOxIo
-BK7Kq3f+7KrtAQGn6gP/SBACdHakA4H//otpyESSrk4PmyOaYF0Kyok43Gee2mT+
-m9+jZ3jLcC0oav6iH+otL/lhk9t/JDM8LjD2kAkdWWoIvvuPyCx97gOzojIo0Ve2
-1wuxJTF/VIjwyOtE8FzE7p4tkc6EubVpeZkV9Pq9HFRBCUcyKJDLnF4tbstScLU=
-=OBLe
------END PGP PUBLIC KEY BLOCK-----
-
-
-
-
-pub 1024D/51898504 2001-05-29 Conor MacNeill <conor@cortexebusiness.com.au>
-uid Conor MacNeill <conor@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.0.6 (MingW32)
-Comment: For info see http://www.gnupg.org
-
-mQGiBDsTqygRBACiZckNdclTlQFonLaIKBFGhMy0KKByw0x8XA4iwdbCXuF6xNIc
-HIFHajJ74AHchQ4d8xtomBy6b8yvFgWVeaZensvn69BlLeqGdyeJRzfPt6TgRnzZ
-2eWhb0HXdG3JwxL/2BabDhHfs4YJOrgB/vhRFQku6oCMRiBPtJj2werD6wCg0/zp
-jacYTw6+CR+sVvneCNyySFED/R3j10c4RnR8djgv1jKT8CKPuHYraupI9INEe+I6
-7qWjtJ02GzvMO6TElAtUsf4aysu45GgwkwEBnuG6mYb3Pq0V2c5tJc2A3Tj3DrdR
-i3HUNwurbus76I0sPyyENPu12QPeC6mvWLEsxVJ9o0hRKFayGvYUmrwWK9UFLjvp
-p9cXBACDHgLn7MAVLqUdYhRrUj/M+GOUpvBikEgoJJrEUmb5X4+++dffMh5HBIO4
-5LA11qEKuM2xnKqOilP7NLYXz1Fe0ocqv0jsHB4SprFTTai7ma31uwuRQvCQXVv1
-yJ5CLqYda64h/UA2kmmR2dfopmvDogYEMz/HU5voozxe7BEI7bQhQ29ub3IgTWFj
-TmVpbGwgPGNvbm9yQGFwYWNoZS5vcmc+iFcEExECABcFAjsTqygFCwcKAwQDFQMC
-AxYCAQIXgAAKCRCBBGRPUYmFBDgIAKCZztXqKhK6kXOnoGy7opCNmWU0lwCgsPDa
-4m+ruW3ch0rfbqtR75S52R+0LUNvbm9yIE1hY05laWxsIDxjb25vckBjb3J0ZXhl
-YnVzaW5lc3MuY29tLmF1PohXBBMRAgAXBQI7E6xMBQsHCgMEAxUDAgMWAgECF4AA
-CgkQgQRkT1GJhQTY0ACgmZmKheHzjPJs5hybpyvnvEiPYqYAn2+ryxdtz8XyOMEx
-GRmHNlhG7svsuQENBDsTqy0QBACfsCxJ6iCtgX8zjlVtMsMfDqu72x5sYatWKn8c
-u+4Oj5mi0x6azZIhwCa+K3ihLVOyG1mCRnzztGTIxWYRhq3TESIVOfgm+NgLGrmA
-XUTFyCT+21TExLCpuVZKmUHsWXLxDtfQ1diPeQpiQ8+Fvb/4jLGFjFIrQ2VjtFQn
-kumkSwADBgP9H0bF4hdMuVEcSJ9imxSoJshcOOA3Vd2+YiCTZhBygWM49wY5jNos
-/DArIjNCE53IlOu/UtHB2jqkSqjF0soGYsUjeCWouiTP9hLuMKPjnqj9ryJPTDKz
-nTCZ4TuB5CtzrKTlWLmPCPpFsGqe4KjMeKg/mqGqjPKl97xgStK9N9GIRgQYEQIA
-BgUCOxOrLQAKCRCBBGRPUYmFBMM6AJsF3FFyZGEmbt9aGG1W/u0oI9mcLgCfQyJ+
-aalbspazea4J9zgi59SSwOM=
-=Icm2
------END PGP PUBLIC KEY BLOCK-----
-
-pub 1024D/5F6B8B72 2001-05-28 Stefan Bodewig <stefan.bodewig@epost.de>
-sig 5F6B8B72 2002-01-11 Stefan Bodewig <stefan.bodewig@epost.de>
-uid Stefan Bodewig <bodewig@apache.org>
-sig 5F6B8B72 2001-05-28 Stefan Bodewig <stefan.bodewig@epost.de>
-sig 51898504 2002-01-11 Conor MacNeill <conor@cortexebusiness.com.au>
-uid Stefan Bodewig <bodewig@bost.de>
-sig 5F6B8B72 2001-05-28 Stefan Bodewig <stefan.bodewig@epost.de>
-sig 51898504 2002-01-11 Conor MacNeill <conor@cortexebusiness.com.au>
-sub 1024g/24774157 2001-05-28
-sig 5F6B8B72 2001-05-28 Stefan Bodewig <stefan.bodewig@epost.de>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.0.6 (GNU/Linux)
-Comment: Weitere Infos: siehe http://www.gnupg.org
-
-mQGiBDsSIk4RBADSCj6rUjV64tYCGT1DYKYR7GthyWpNdGHSYLbETBcDatAe1dzQ
-5NsCgfrlybfyeY+y1lxr3T9bqf6zJWDw/718wff96qmmv1qzexSYtmIrj+h53V82
-EXwWOFuYMJisuxdT940iQzosm3GOv4MJdEg3oI2SgfEyRQQ6vO4Ob5rHDwCg5taZ
-nrHOrXx2dIGHxpxRZ0SUl30D/jmtttFjYOQ3LBMriikz5mh2sK3ZnoSRF4o5O0zW
-Ve6e2SFXOEjVjImKsH6KCbdQNelrAdgiyOoXClyQKsQ27pncbdWo6bO0E3POJZVm
-XaeW7iudHVr63rU5PViXObIQrdQl0D59j5brKj4vdlTyUw8kaHPvbKPDEOwvZq4Y
-LJQ5BACA1YilTeXRJqwFsNlpcxCHwlULD4QUVP496prQWf1B7Z6g0KvLGrQsO0Vn
-Jcn+fEqukysTJixSXCPebosltd4RalJIupVYkp4w6MJ7biaDAlLuNhDcI/AiXTmV
-dXUedVXIaM8I3Ne23gucwbAyc0Hvb+3cSAKRhl/azFQhuHBvlrQjU3RlZmFuIEJv
-ZGV3aWcgPGJvZGV3aWdAYXBhY2hlLm9yZz6IVwQTEQIAFwUCOxIiTgULBwoDBAMV
-AwIDFgIBAheAAAoJEKIRWuFfa4tyLJ4An2yKSQ1o+lIF2O6wR/E6NdgYAfkSAJ94
-8O9lic6ZQLUoVU5rjJURUvhVDYhGBBARAgAGBQI8PtWPAAoJEIEEZE9RiYUEnZIA
-njOkQx1BfxN9+E7Yiz4MOxqZjSUpAKDQi0Alv/VR61fmR7KHZ11J2g+HSLQgU3Rl
-ZmFuIEJvZGV3aWcgPGJvZGV3aWdAYm9zdC5kZT6IVwQTEQIAFwUCOxI5gQULBwoD
-BAMVAwIDFgIBAheAAAoJEKIRWuFfa4tyyboAoNoD/9Jgm/alxfAYELz05LMa/HLe
-AKDWTHqq7rMkppZoTUv2gWpVzrk5RIhGBBARAgAGBQI8PtWVAAoJEIEEZE9RiYUE
-0LMAn22/u01Lo3Bo5lDxxHSkayUkYq25AKCm20yaGFGtTDJW4Rdz50pfut1AwrQo
-U3RlZmFuIEJvZGV3aWcgPHN0ZWZhbi5ib2Rld2lnQGVwb3N0LmRlPohXBBMRAgAX
-BQI8Pto2BQsHCgMEAxUDAgMWAgECF4AACgkQohFa4V9ri3Kz/gCg0PlCER3JUjKk
-G8JQe/lIJoApx38AoMW2G1lOuMX54RiWS08tG0j3ON4TuQENBDsSIlQQBADNUpZL
-xCuTKzJ1tMm7b/XjAhvPYKiL3doAZ6XALBdLF/nQmlh1jcuRy93QWpPxtwSfPjcw
-JLHy+Uq5tC1SnH1YwYhviLG1KEsniUBroUmV2HJyHP92fFI3LPk3xbqxvLh1NXFp
-zSuWjGMA66sZqeEbtMy2B8OLRwQShdHIBWgrIwADBQP+PWkmbg2mraaUmgTswre8
-CGArBgcV+WYm6yaq9IC1G4V1PXmlswmsDlsAr6UDdJU46GFZMIi2WmFJHarEkIBw
-FN44ypSLmiEVwKRJE2/CYO0f7zQHcF6GUSwQo2TxneahrZyHs7GdvpcRcfm0YnlC
-/H1CJ3pl8FpfHttzzIrIJviIRgQYEQIABgUCOxIiVAAKCRCiEVrhX2uLcg0yAKCd
-zbaSPxN+OS1Tq7hJRSq53blllwCfQHZvTM+MqMa6LB0pKeQVs1wVLeA=
-=TAHR
------END PGP PUBLIC KEY BLOCK-----
-
-Type Bits/KeyID Date User ID
-pub 1024/697ECEDD 2000/04/06 Henri Gomez <hgomez@slib.fr>
- *** RPM SIGNING KEY ***
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3i
-
-mQCNAzjsydwAAAEEAMpwFU/ci3/wR3ryCGp9Exr+Rx/hTQ7hWAJcVw8ejlBXlT4T
-yITlRUs0HGfRWxME2J55PuXXsIEPZzjfozNtvOyq8WlLlJ7iaiyWxVRoPJ25sSEj
-C9etm6wjj4E66ZgzuElZkm1m69uEsCHPPNuz1oQ/g1O+SmIVxIYirlxpfs7dAAUR
-tBxIZW5yaSBHb21leiA8aGdvbWV6QHNsaWIuZnI+iQCVAwUQOOzJ3IYirlxpfs7d
-AQFQyQQAj0D9G0hEL7SQGaSCkkoXwvamQw42N8+tNm+jfWHWdE4HAiVlhJmI2GyD
-sdcXVAcR8R7ILIRB5AY7a3bF+qMk0r+vO6oR878RKKn9AvtaAIOnrh6tr0tiPwf5
-XDUMySxIWJEF3SmJAy9Lq3bAl5GMzZCFHiS0NW2gtWgmr/u1RuM=
-=6l+I
------END PGP PUBLIC KEY BLOCK-----
-pub 1024D/EDF62C35 2002-04-10 Magesh Umasankar <umagesh@apache.org>
-sig EDF62C35 2002-04-10 Magesh Umasankar <umagesh@apache.org>
-sub 1024g/B5FFC53F 2002-04-10
-sig EDF62C35 2002-04-10 Magesh Umasankar <umagesh@apache.org>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.0.6-2 (MingW32)
-Comment: For info see http://www.gnupg.org
-
-mQGiBDy0ebgRBADuKIKD8PuJ4wKEV1h2AprwJjxCRx8vn48XNwfLZuvhw8cpArtK
-rZwhoGPPUPEEXgtTNerlKq4VwpAwcnvRz7oC/7aWkUbcR2sAyhfe2scohwPgw7Xv
-+isWC0NDPdrxvXG/PUOG/cnELunr51ymybBqBxUd2gMhYIxPo67D+YPYLwCgwcZp
-yc/6kJa116ESWHrti342GD8D/1srpnRs9CiS1DQF1uZ1wW4vzj4VD61tKsjdWD8D
-V573R22iMDLSj4oMB536WxUH7snz8XsAKm/peqJ6G9m0smtmWA1ago5yzQj70WqF
-xzWBhHn2I/YfAQ8pb2s9q1lClj8elnCxT65L27ydBAZteejb2VqjtQ6iGy86PUT2
-wRUvBADZmoV1eIZJEM5NnxBv1EtvRYZtIQEzZ8dO2A1LOS7qlVr8IypljNPLGhzX
-VHNvVsjC9QMUSWeBsDedvQHQ3hJpIMnTI32XE1V4gX06gfVTZdhf2fLTtwnsHZp0
-oumqshGDVRhNJJdDYLikxWOxOfkNveKEqJFvtuBR+ZqqluQKebQlTWFnZXNoIFVt
-YXNhbmthciA8dW1hZ2VzaEBhcGFjaGUub3JnPohXBBMRAgAXBQI8tHm4BQsHCgME
-AxUDAgMWAgECF4AACgkQ76Pnee32LDWSRwCfeASWXvpdt7bSFPMtszU/7uPEktsA
-n23mYUN5WKJA1ZreW+0CcZ2ESnOvuQENBDy0eb8QBACBVb9YDJRp9Irzmq71Jf9F
-IPw+4g/cWpF3t/Eb7eSzMcOvTAXyNIWzaaOjHre7lFctHfq8ls/6gR7uqajiAnfQ
-cfTcu7pp+F5KsU0Embt83SFzZ3aoJwETmB/LqUyrrGDiue3lU+flJO7UmcsRvtk0
-+BDkyCeB9HgfdpXbBLCyuwADBQP+PNxX4e1tg3ZJo/xNEnD2Re3HjmQRrr0RYJLU
-GjgQrAEONSgowx3IW8/JssmNJVjnYm0qjSKsb8rergCFJhPNZ8Dd/k00pKcrq+IN
-6j7WTYLqPce87zrGAZUtmDwDSp5mxy5ExWJJxsgBPk4YBQLzJt21A3BgK/i24Sze
-2VLbaZuIRgQYEQIABgUCPLR5vwAKCRDvo+d57fYsNa8xAJ4mLfonZbd64+YY9rfv
-hIh3Vsl3AACeLPPKtma2K6XCfhTBEDnjhzSr4vqZAaIEPLR5uBEEAO4ogoPw+4nj
-AoRXWHYCmvAmPEJHHy+fjxc3B8tm6+HDxykCu0qtnCGgY89Q8QReC1M16uUqrhXC
-kDBye9HPugL/tpaRRtxHawDKF97axyiHA+DDte/6KxYLQ0M92vG9cb89Q4b9ycQu
-6evnXKbJsGoHFR3aAyFgjE+jrsP5g9gvAKDBxmnJz/qQlrXXoRJYeu2LfjYYPwP/
-WyumdGz0KJLUNAXW5nXBbi/OPhUPrW0qyN1YPwNXnvdHbaIwMtKPigwHnfpbFQfu
-yfPxewAqb+l6onob2bSya2ZYDVqCjnLNCPvRaoXHNYGEefYj9h8BDylvaz2rWUKW
-Px6WcLFPrkvbvJ0EBm156NvZWqO1DqIbLzo9RPbBFS8EANmahXV4hkkQzk2fEG/U
-S29Fhm0hATNnx07YDUs5LuqVWvwjKmWM08saHNdUc29WyML1AxRJZ4GwN529AdDe
-EmkgydMjfZcTVXiBfTqB9VNl2F/Z8tO3CewdmnSi6aqyEYNVGE0kl0NguKTFY7E5
-+Q294oSokW+24FH5mqqW5Ap5tCVNYWdlc2ggVW1hc2Fua2FyIDx1bWFnZXNoQGFw
-YWNoZS5vcmc+iFcEExECABcFAjy0ebgFCwcKAwQDFQMCAxYCAQIXgAAKCRDvo+d5
-7fYsNZJHAJ94BJZe+l23ttIU8y2zNT/u48SS2wCfbeZhQ3lYokDVmt5b7QJxnYRK
-c6+5AQ0EPLR5vxAEAIFVv1gMlGn0ivOarvUl/0Ug/D7iD9xakXe38Rvt5LMxw69M
-BfI0hbNpo6Met7uUVy0d+ryWz/qBHu6pqOICd9Bx9Ny7umn4XkqxTQSZu3zdIXNn
-dqgnAROYH8upTKusYOK57eVT5+Uk7tSZyxG+2TT4EOTIJ4H0eB92ldsEsLK7AAMF
-A/483Ffh7W2Ddkmj/E0ScPZF7ceOZBGuvRFgktQaOBCsAQ41KCjDHchbz8myyY0l
-WOdibSqNIqxvyt6uAIUmE81nwN3+TTSkpyur4g3qPtZNguo9x7zvOsYBlS2YPANK
-nmbHLkTFYknGyAE+ThgFAvMm3bUDcGAr+LbhLN7ZUttpm4hGBBgRAgAGBQI8tHm/
-AAoJEO+j53nt9iw1rzEAniYt+idlt3rj5hj2t++EiHdWyXcAAJ4s88q2ZrYrpcJ+
-FMEQOeOHNKvi+g==
-=p5Yy
------END PGP PUBLIC KEY BLOCK-----
-Type Bits/KeyID Date User ID
-pub 1024/397DCAD5 2002/07/03 Henri Gomez <hgomez@users.sourceforge.net>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: 2.6.3i
-
-mQCNAz0i0UUAAAEEALXePN6IHne0W96YRMnR+4EXB6402QY5f8ZLcnSUZUH55Fb1
-qcZGBc3WRKlPiUvwBD+eVYgCpNSXF/H+oV1mawxNJN5XwqBEpfYmY8MRIPcqa61h
-bJc3LBSm1qNf05G5Cwxeed+OgVm0r1HBy6DAgDHAqNlkC8DZ/BVgqMA5fcrVAAUR
-tCpIZW5yaSBHb21leiA8aGdvbWV6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD6JAJUD
-BRA9ItFFFWCowDl9ytUBASNyA/458T84LUVhqq6Y9fPBAfcFMWY2kehuDWsQEXkO
-46XoK+AnFZCkKuyDLqPHchVUO5pK/gZYsDK/xJkfh3u4FTDTsecb9wFmIeyayVIN
-SI8o6l8EZzDX/PGwqEwzxHrbQkIgIktNn5ApIoazvdBpbkQfNj1vr2wWoMYPLAWM
-8xzecA==
-=UmZ8
------END PGP PUBLIC KEY BLOCK-----
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.0.6 (GNU/Linux)
-Comment: For info see http://www.gnupg.org
-
-mQGiBD02vbERBAC1v8fR6gjERpaz4UMfdy0hRVWCPSbOdF+Swm/IenjVzErco6zb
-MTa13umUNrDPBy/tTWiCCZrOnqi7fgDzWqPEqrXJjKAFVLEWE6MmKylPPEPG1/bm
-idkNGERSAZduvhKv777PzvEJJ/8eGe3wy/O8NbgIjCPtr4UklwCZS8cFuwCg8oMO
-UdT8qZRtzdxdAyu1m5fUb+MD/3IKJYWXsdtb6iBphCU4f/BoyjVC9EZJ1ywLuiVM
-siKbuaDUaXU9nWcbNKv+fx8uZ1NaadpfLokqqhnWcpnSiqw8HNR7SwsF1D33rkXK
-O4FSuVss/tIoqGdWFcJyPkP4yP5shxqR335narVw2vDa0+BiWkALbA2qVsSIdZDB
-LeFZA/47AMBS0U2BRk2rQT8LmMuFl7mR+wNBM4n7FUGdxsGn3TcYd4pXTNrEQPrV
-YNdooKlikgGk4hgFnIFX09Spmimqgq0goFue81rttVdZZ4uep8dTghY6gwmvcOxX
-jATbhWStBhdu9B35kzfHc+1QihD5Z94u4uyWIVBIzikcdiY8LbQqSGVucmkgR29t
-ZXogPGhnb21lekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+iFcEExECABcFAj02vbEF
-CwcKAwQDFQMCAxYCAQIXgAAKCRAZMdaEMHoQpYijAKCCP68ndU/kTXR9XAKLvibC
-3S8+1QCfUFQYte3Jo+MHKaWjsu9JGptRzo+5Ag0EPTa93RAIAKlsRJ5gOGTFsmaR
-W9k6MIh4c/MCy7J7HUxT5xTdHROa+3zUh+FAE/JaOx9ZtZtH863DFHA8cP4L+tpi
-PjBT6g2E94dwGcuH/OiSSCT4JSBukbGbOuLLdmFXqUl8+4gsL90Xal67FtNLwyLG
-1n7geLir0byD+OT7VLA5w+6G0NOpJEveV/FIa2qLgdRZ8vz73ybgMh18hBUrUmro
-jncp0rln2VU7VCH1C2aClKm7kK4mGAjIFIzKbguK+kM3b8NDHmXKpT6syyCtIM3h
-prkV1TUCAFqLI32aSdlTN79lpeA2zDga9k4/4X/RDHsFpRN2neRFGTNUtuUgYpQQ
-E5zWBmMAAwUH/RiGxyeBsad923IwE1+GAjxFl2tqF9xWk0J6yTnSK4nfhYAE9evV
-jwDEok9jRl4ILCcXx6YN/d/lWNuSbARKHz/3hLiTouPpwd3SSJ8is2x9PgpJz5JX
-cD0y1SkbPLvs3jH3ZmdcxZpuAmJeI/typqFKK5pWP44oXIH+XH/8nWDtmLEBkgKQ
-/ATQWenMTmZ6MIJ6aWKWGkO9QS6iYRz3PPPGQ1O8W02CeprM2wBtlb8J1Z3RxNhM
-rZcg/1Qi3V3D1HI4zw6tAFmDeBb8J4PaBQzqlhzx2EBTbfwNPhV8AlPvpxHEeGGn
-v+O1yhZr33SnyZdINNoNDn+owVMdmkobe9GIRgQYEQIABgUCPTa93QAKCRAZMdaE
-MHoQpRsTAJ4qst3MhLm48fBAEnzuzi/BIKr+AgCfYaCB/AvPoncQbHc8BcNGRimR
-P9A=
-=hQhz
------END PGP PUBLIC KEY BLOCK-----
diff --git a/build/tools/jakarta-ant-1.5.1/LICENSE b/build/tools/jakarta-ant-1.5.1/LICENSE deleted file mode 100644 index 0f8706c6f..000000000 --- a/build/tools/jakarta-ant-1.5.1/LICENSE +++ /dev/null @@ -1,49 +0,0 @@ -/*
- * ============================================================================
- * The Apache Software License, Version 1.1
- * ============================================================================
- *
- * Copyright (C) 2000-2002 The Apache Software Foundation. All
- * rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modifica-
- * tion, 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 by the Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself, if
- * and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Ant" and "Apache Software Foundation" must not be used to
- * endorse or promote products derived from this software without prior
- * written permission. For written permission, please contact
- * apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache", nor may
- * "Apache" appear in their name, without prior written permission of the
- * Apache Software Foundation.
- *
- * 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
- * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
- * DING, 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.
- *
- * This software consists of voluntary contributions made by many individuals
- * on behalf of the Apache Software Foundation. For more information on the
- * Apache Software Foundation, please see <http://www.apache.org/>.
- *
- */
diff --git a/build/tools/jakarta-ant-1.5.1/LICENSE.dom b/build/tools/jakarta-ant-1.5.1/LICENSE.dom deleted file mode 100644 index 2959b704a..000000000 --- a/build/tools/jakarta-ant-1.5.1/LICENSE.dom +++ /dev/null @@ -1,71 +0,0 @@ -This license came from:
-http://www.w3.org/Consortium/Legal/copyright-software-19980720
-
-
-W3C® SOFTWARE NOTICE AND LICENSE
-Copyright © 1994-2001 World
-Wide Web Consortium, <a href="http://www.w3.org/">World
-Wide Web Consortium</a>, (<a href=
-"http://www.lcs.mit.edu/">Massachusetts Institute of
-Technology</a>, <a href="http://www.inria.fr/">Institut National de
-Recherche en Informatique et en Automatique</a>, <a href=
-"http://www.keio.ac.jp/">Keio University</a>). All Rights Reserved.
-http://www.w3.org/Consortium/Legal/
-
-This W3C work (including software, documents, or other related
-items) is being provided by the copyright holders under the
-following license. By obtaining, using and/or copying this work,
-you (the licensee) agree that you have read, understood, and will
-comply with the following terms and conditions:
-Permission to use, copy, modify, and distribute this software
-and its documentation, with or without modification, for any
-purpose and without fee or royalty is hereby granted, provided that
-you include the following on ALL copies of the software and
-documentation or portions thereof, including modifications, that
-you make:
-
-The full text of this NOTICE in a location viewable to users of
-the redistributed or derivative work.
-
-Any pre-existing intellectual property disclaimers, notices, or
-terms and conditions. If none exist, a short notice of the
-following form (hypertext is preferred, text is permitted) should
-be used within the body of any redistributed or derivative code:
-"Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of
-Technology, Institut National de
-Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.
-http://www.w3.org/Consortium/Legal/"
-
-Notice of any changes or modifications to the W3C files,
-including the date changes were made. (We recommend you provide
-URIs to the location from which the code is derived.)
-
-THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND
-COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF
-MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
-USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD
-PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
-COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
-SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
-SOFTWARE OR DOCUMENTATION.
-
-The name and trademarks of copyright holders may NOT be used in
-advertising or publicity pertaining to the software without
-specific, written prior permission. Title to copyright in this
-software and any associated documentation will at all times remain
-with copyright holders.
-____________________________________
-This formulation of W3C's notice and license became active on
-August 14 1998 so as to improve compatibility with GPL. This
-version ensures that W3C software licensing terms are no more
-restrictive than GPL and consequently W3C software may be
-distributed in GPL packages. See the older formulation for the
-policy prior to this date. Please see our Copyright FAQ for common
-questions about using materials from
-our site, including specific terms and conditions for packages like
-libwww, Amaya, and Jigsaw.
-Other questions about this notice can be
-directed to site-policy@w3.org.
-
-webmaster
diff --git a/build/tools/jakarta-ant-1.5.1/LICENSE.sax b/build/tools/jakarta-ant-1.5.1/LICENSE.sax deleted file mode 100644 index 05bccc9ae..000000000 --- a/build/tools/jakarta-ant-1.5.1/LICENSE.sax +++ /dev/null @@ -1,20 +0,0 @@ -This license came from: http://www.megginson.com/SAX/copying.html
- However please note future versions of SAX may be covered
- under http://saxproject.org/?selected=pd
-
-
-This page is now out of date -- see the new SAX site at
-http://www.saxproject.org/ for more up-to-date
-releases and other information. Please change your bookmarks.
-
-
-SAX2 is Free!
-
-I hereby abandon any property rights to SAX 2.0 (the Simple API for
-XML), and release all of the SAX 2.0 source code, compiled code, and
-documentation contained in this distribution into the Public Domain.
-SAX comes with NO WARRANTY or guarantee of fitness for any
-purpose.
-
-David Megginson, david@megginson.com
-2000-05-05
\ No newline at end of file diff --git a/build/tools/jakarta-ant-1.5.1/LICENSE.xerces b/build/tools/jakarta-ant-1.5.1/LICENSE.xerces deleted file mode 100644 index 28282b456..000000000 --- a/build/tools/jakarta-ant-1.5.1/LICENSE.xerces +++ /dev/null @@ -1,56 +0,0 @@ -/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999-2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * 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 by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xerces" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * 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 APACHE SOFTWARE FOUNDATION 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.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.ibm.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
diff --git a/build/tools/jakarta-ant-1.5.1/README b/build/tools/jakarta-ant-1.5.1/README deleted file mode 100644 index 311e96cac..000000000 --- a/build/tools/jakarta-ant-1.5.1/README +++ /dev/null @@ -1,70 +0,0 @@ -
- A N T
-
-
- What is it?
- -----------
-
- Ant is a Java based build tool. In theory it is kind of like "make"
- without makes wrinkles and with the full portability of pure java code.
-
-
- Why?
- ----
-
- Why another build tool when there is already make, gnumake, nmake, jam,
- and others? Because all of those tools have limitations that its original
- author couldn't live with when developing software across multiple platforms.
-
- Make-like tools are inherently shell based. They evaluate a set of
- dependencies and then execute commands not unlike what you would issue on a
- shell. This means that you can easily extend these tools by using or writing
- any program for the OS that you are working on. However, this also means that
- you limit yourself to the OS, or at least the OS type such as Unix, that you
- are working on.
-
- Makefiles are inherently evil as well. Anybody who has worked on them for any
- time has run into the dreaded tab problem. "Is my command not executing
- because I have a space in front of my tab!!!" said the original author of Ant
- way too many times. Tools like Jam took care of this to a great degree, but
- still use yet another format to use and remember.
-
- Ant is different. Instead a model where it is extended with shell based
- commands, it is extended using Java classes. Instead of writing shell
- commands, the configuration files are XML based calling out a target tree
- where various tasks get executed. Each task is run by an object which
- implements a particular Task interface.
-
- Granted, this removes some of the expressive power that is inherent by being
- able to construct a shell command such as `find . -name foo -exec rm {}` but
- it gives you the ability to be cross platform. To work anywhere and
- everywhere. And hey, if you really need to execute a shell command, Ant has
- an exec rule that allows different commands to be executed based on the OS
- that it is executing on.
-
- The Latest Version
- ------------------
-
- Details of the latest version can be found on the Apache Jakarta
- Project web site <http://jakarta.apache.org/>.
-
-
- Documentation
- -------------
-
- Documentation is available in HTML format, in the docs/ directory.
- For information about building and installing Ant, see
- docs/manual/index.html
-
-
- Licensing
- ---------
-
- This software is licensed under the terms you may find in the file
- named "LICENSE" in this directory.
-
-
- Thanks for using Ant.
-
- The Apache Jakarta Project
- <http://jakarta.apache.org/>
diff --git a/build/tools/jakarta-ant-1.5.1/WHATSNEW b/build/tools/jakarta-ant-1.5.1/WHATSNEW deleted file mode 100644 index 4fb603c00..000000000 --- a/build/tools/jakarta-ant-1.5.1/WHATSNEW +++ /dev/null @@ -1,1301 +0,0 @@ -Changes from Ant 1.5.1Beta1 to 1.5.1
-====================================
-
-Fixed bugs:
------------
-
-* <tstamp>'s prefix attribute failed to apply to nested <format> elements.
-
-* <junitreport> created an empty junit-noframes.html if no format had
- been specified.
-
-* <basename> would remove more than it should if the file name
- contained more than one dot.
-
-* <filterset>s nested into <filterset>s didn't work.
-
-Other changes:
---------------
-
-* Shipped XML parser is now Xerces 2.2.0
-
-* Filesets now support a 'file' attribute, allowing a single-file
- fileset to be constructed without having to specify its parent
- directory separately.
-
-* <junit> will now return the result of a call to getName instead of
- "unknown" for Test implementations that don't extend TestCase but have
- a public String getName() method.
-
-Changes from Ant 1.5 to 1.5.1Beta1
-==================================
-
-Fixed bugs:
------------
-* Date/time in CvsChangeLog was in local timezone and 12 hour format leading
- to a problem when sorting by time. It is now UTC (GMT) and in 24-hour
- format as per cvs 'specifications'.
-
-* CvsTagDiff now supports ampersand modules or modules that have a different
- root directory than their name.
-
-* EjbJar threw NPEs for the Websphere element. The property 'websphere.home'
- was not documented.
-
-* Mail example in the documentation was not correct.
-
-* Checksum was broken in the following scenario:
- (using verifyproperty OR in a condition) AND using filesets
- with multiple files.
-
-* The ExpandProperties filter threw NPEs when defined using
- the <filterreader> format.
-
-* The sh wrapper script didn't work under Cygwin if ANT_HOME wasn't
- set with a Unix style filename.
-
-* The sh wrapper script could fail if you started Ant from a directory
- with whitespace in its name.
-
-* ant -diagnostics was not working properly when the task dependency
- was missing and was just printing the missing dependency.
-
-* If a task got redefined via <taskdef>, it lost its child elements.
-
-* <property>'s classpathref attribute was broken.
-
-* <arg line="''" /> would result in no command line argument, will now
- be a single empty argument. Use <arg value="''"/> if you need the
- quotes literally.
-
-* <replaceregexp> could append a newline character at the end of the
- file.
-
-Other changes:
---------------
-
-* Appendix E of Java Development with Ant (Loughran/Hatcher) was
- contributed to the docs.
-
-* <available> will only print deprecration warnings if it is actually
- used to change the value of a property.
-
-Changes from Ant 1.5beta3 to Ant 1.5
-====================================
-
-Changes that could break older environments:
---------------------------------------------
-
-* The filesetmanifest attribute added to <jar> after the 1.4.1
- release has been removed for now. This change may affect only
- the 1.5Beta/1.6Alpha users. An attempt will be made to add this
- feature back into Ant 1.6.
-
-Fixed bugs:
------------
-
-* <zip> and friends would always update existing archive if you set
- the update attribute to true.
-
-* To support backward compatibility with older versions, <pathconvert>
- will once again set the property, even if the result is the empty
- string, unless the new 'setonempty' attribute is set to false|no|off
- (default is "true").
-
-* The manifest task would crash XmlLogger
-
-Other changes:
---------------
-
-* added **/.svn and **/.svn/** to the default excludes
-
-Changes from Ant 1.5beta2 to Ant 1.5beta3
-=========================================
-
-Changes that could break older environments:
---------------------------------------------
-
-* Project.getBuildListeners now returns a clone of the listener
- list. Changes to the returned list will not affect the listeners
- currently attached to the Project. It also means that it is safe to
- iterate over the returned list if listeners are added or removed
- during the traversal.
-
-* <pvcs> default filenameformat has been different from Ant 1.4.1.
- Now it is different from 1.5beta1 and 1.5beta2.
-
-* Some messages that are printed during startup will not be
- written to the logfile specified via -logfile as they might destroy
- the format of the file for special BuildLoggers (like XmlLogger).
-
-* <pathconvert> won't set the property if the result is the empty string.
-
-Fixed bugs:
------------
-
-* <available> could fail to find files or directories that happen to
- start with the name of the project's basedir but are not children of
- the basedir.
-
-* Nested <property>'s inside <ant> can now be overriden by subsequent
- <ant> and <antcall> tasks.
-
-* <xslt>'s outputtype attribute wouldn't do anything.
-
-* <linecontains> filterreader could swallow lines.
-
-* <sequential> used to configure the tasks (set their attributes)
- before the first task has been executed. This means that properties
- that have been set by nested task seemed to be unset for the other
- tasks in the same <sequential> element.
-
-* <javac>'s sourcepath setting has been ignored by some compiler
- implementations.
-
-* <javadoc>'s packagelist attribute didn't work.
-
-* the plain mailer would always use port 25 in <mail>.
-
-* Ant's default logger could swallow empty lines.
-
-* ejbjar's iPlanet nested element now can process multiple descriptors.
-
-* IPlanetEjbc was looking in the wrong place for four iiop files.
-
-* <javac> would pass the -source switch to JDK 1.3's javac, even
- though it doesn't support it.
-
-Other changes:
---------------
-
-* <checksum> now uses a buffer (of configurable size).
-
-* The "Trying to override task definition" warning has been degraded
- to verbose level if the two task definitions only differ in the class
- loader instance that has loaded the definition.
-
-* Add a jvmargs to the ejbjar's weblogic element to allow additional
- arguments to be provided to the VM runnign ejbc. Document the
- jvmdebuglevel attribute which can be used to avoid warnings about
- interface classess being found on the classpath. Document the new
- <sysproperty> element which allows JVM properties to be defined.
- Added an outputdir attribute to allow the destination to be a
- directory into which the exploded jar is written.
-
-* ejbjar now supports Borland Enterprise Server 5 and Jonas 2.5
-
-Changes from Ant 1.5beta1 to Ant 1.5beta2
-=========================================
-
-Changes that could break older environments:
---------------------------------------------
-
-* Properties will now be expanded in mail message bodies. This means
-that one $ sign will be stripped if your mail message contains the text
-$$.
-
-* org.apache.tools.ant.taskdefs.Expand no longer extends MatchingTask.
-
-* Available#setFile now again uses a File argument as it did in 1.4,
-this may break environments that have been adapted to the String
-argument version present in 1.5beta1.
-
-Fixed bugs:
------------
-* When <move> attempts a rename, it deletes the destination file, if it
- exists, before renaming the source file. However, <move> was not
- checking if the destination file was actually a directory before
- trying to delete it.
-
-* Make CVS Tasks to work under Cygwin.
-
-* Fix LineContains to handle huge files elegantly without causing
-Stack Overflows.
-
-* if you ask for the "classic" compiler on Java1.4, you get upgraded to
-"modern" because there is no classic compiler any more.
-
-* the <http> condition was viewing 404 'not found' exceptions as success. Now
-it defaults to viewing any response >=400 as an error, and has an errorsBeginAt
-attribute you can use if you want a higher or lower value.
-
-* <get> throws a build exception on an http authorization error, unless you
-have set ignoreerrors to true.
-
-* <wsdltodotnet> was spelt in Wintel case: <WsdlToDotnet>. It is now lower
-case, though the old spelling is retained for anyone who used it.
-
-* Merging of Manifests in jar now works as documented.
-
-* paths that have been separated by colons would be incorrectly parsed
-on NetWare.
-
-* runant.pl now supports NetWare.
-
-* <tempfile> and <setproxy> tasks were in beta1, but not defined by
-default; They now are. <tempfile> fills a property with the name of a
-temporary file; <setproxy> lets you set the JVM's http, ftp and socks proxy
-settings.
-
-* <available classname="foo" ignoresystemclasses="true"> failed for
-JDK 1.1 and 1.2, even if the class could be found on the
-user-specified classpath.
-
-* <property environment=... /> now works on z/OS.
-
-* forked <javac> failed for the wrong reason on JDK 1.1 - Ant would
-use a temporary file to hold the names of the files to compile under
-some conditons, but 1.1 doesn't support this feature. Ant will no
-longer try this, but you may run into problems with the length of the
-command line now.
-
-* the refid attribute for <property>s nested into <ant> or <param>s
-nested into <antcall> didn't work.
-
-* <replaceregexp> didn't work for nested <fileset>s.
-
-* <javadoc> dropped sourcepath entries if no "interesting" .java
-source files could be found below them. This has been backwards
-incompatible and caused problems with custom doclets like xdoclet.
-
-* Using the doclet, docletpath or docletpathref attributes of
-<javadoc> may have caused NullPointerExceptions.
-
-* nested <filesets> of <javadoc> would include too much.
-
-* <dependset> will no longer choke on <targetfileset>s that point to
-non-existing directories.
-
-* <patch> didn't work at all.
-
-* <replace> and <replaceregexp> now fail if the file they are working
-on is locked.
-
-* <javadoc> would pick up the wrong executable in the combination JDK
-1.2 and AIX.
-
-Other changes:
---------------
-
-* z/OS now gets detected by the os condition.
-
-* <fileset> and <dirset> now have an optional followsymlink attribute
-that can prevent Ant from following symbolic links on some platforms.
-
-* BeanShell is now supported in the <script> task.
-
-* <ejbjar> under Weblogic attempts to use the ejbc20 compiler for 2.0 beans
- based on the deployment descriptor's DTD reference. Under weblogic 7.00 Beta
- this ejbc class has been deprecated. To avoid the deprecation warning use
- ejbcclass="weblogic.ejbc".
-
-* <ejbjar> will add a manifest to the generated jar based on the naming
- convention in use. This overrides the manifest specified in the
- <ejbjar> attribute
-
-
-Changes from Ant 1.4.1 to 1.5beta1
-==================================
-
-Changes that could break older environments:
---------------------------------------------
-
-* Important: Single $ signs are no longer silently stripped!
- Before you panic that we have broken all your build files, we have kept
- the old "$$" -> "$" behaviour. So only build files which accidentally had
- a $ sign in a string that was being silently stripped may break.
- We added this fix to stop newbie confusion; if you want to write a
- build file which works on ant versions 1.4.1 or earlier, stay with
- the double $$ sign rule.
-
-* Shipped XML parser is now Xerces 2.0.1 along with the XML Parser APIs.
- XML Parser APIs is a separate jar that contains the necessary
- JAXP/DOM/SAX classes.
-
-* <telnet> was fixed to expand properties inside nested <read> and
- <write> elements; before this only happened when you assigned the text
- to the string attribute. If you had $ signs in the string, they may
- need escaping.
-
-* the RegexpMatcher interface has been extended to support case
- insensitive matches and other options - custom implementations of
- this interface won't work any longer. We recommend to use the new
- Regexp interface that also supports substitution instead of the
- RegexpMatcher interface in the future.
-
-* <gzip> will throw an exception if your src attribute points to a directory.
-
-* Unjar, Unzip and Unwar will throw an exception if the Src attribute
- represents a directory. Support for nested filesets is provided
- instead.
-
-* It is no longer possible to overwrite a property using tasks like
- <condition>, <exec>, <pathconvert>, or <tstamp>. In some exceptional
- cases it will generate a warning if you attempt to overwrite an
- existing property.
-
-* Taskwriters please note: Whenever tasks had any overloaded set* methods,
- Ant's introspection mechanism would select the last overloaded method
- provided to it by the Java Runtime. A modification has now been made such
- that when the Java Runtime provides a method with a String as its argument,
- a check is made to see if there is another overloaded method that takes in
- some other type of argument. If there is one such method, then the method
- that takes in String as an argument is not selected by the Introspector.
-
-* The pattern definition **/._* has been included into the Default
- Excludes list.
-
-* <propertyfile>'s <entry> element was modified to remove "never" as a value
- as its behavior was undocumented and flakey.
-
-* The -projecthelp flag now only prints out targets that include the
- 'description' attribute, unless the -verbose or -debug flag is included
- on the Ant command line.
-
-* Ant's testcases now require JUnit 3.7 or above, as they now use the new
- assertTrue method instead of assert.
-
-* If the 'output' attribute of <ant> is set to a simple filename or a
- relative path, the file is created relative to ${basedir}, not ${user.dir}.
-
-* The default value for build.compiler is now javac1.x with x
- depending on the JDK that is running Ant instead of classic/modern.
-
-Fixed bugs:
------------
-* A bug existed that prevented generated log files from being deleted as
- part of the build process itself. This has now been fixed.
-
-* Fixed bug where <move> ignored <filterset>s.
-
-* Ant works properly with the combination of Java1.4/WindowsXP.
-
-* Fixed bug where <java> used to sometimes invoke class constructors twice.
-
-* Fixed bug with 4NT shell support.
-
-* Fixed bug where ant would not perform ftp without remotedir being
- specified even though this was not mandatory.
-
-* Fixed bug where ant would not copy system properties into new Project
- in ant/antcall tasks when inheritall="false" is set.
-
-* <propertyfile> would not close the original property file.
-
-* <ant> will no longer override a subbuild's basedir with inheritall="true".
-
-* Fixed problem with the built-in <junit> formatters which assumed
- that only one test could be running at the same time - this is not
- necessarily true, see junit.extensions.ActiveTestSuite.
-
-* <jar>'s whenEmpty attribute is useless as JARs are never empty, they
- contain at least a manifest file, therefore it will now print a
- warning and do nothing.
-
-* <typedef> hasn't been all that useful as it couldn't be used outside
- of targets (it can now) and nested "unknown" elements have always
- been considered to be tasks (changed as well).
-
-* <fixcrlf> would fail for files that contained lines longer than 8kB.
-
-* Some junit formatters incorrectly assumed that all testcases would
- inherit from junit.framework.TestCase.
-
-* <fixcrlf> dropped the first characters from Mac files.
-
-Other changes:
---------------
-* Selector Elements now provide a way to create filesets based on
- sophisticated selection criteria.
-
-* Gzip and Bzip2 files can now be constructed in the fly when using
- the tar task without having to create the intermediate tar file on
- disk. The Untar task can also untar GZip and BZip2 files on the fly
- without creating the intermediate tar file.
-
-* New optional type, <classfileset> added.
-
-* <ejbjar> now allows control over which additional classes and interfaces
- are added to the generated EJB jars. A new attribute "dependency" can be
- defined which controls what classes are added. The addition of classes now uses
- the Jakarta-BCEL library rather than reflection, meaning bean classes are
- no longer loaded into Ant's JVM. The default dependency analyzer is known as
- the ancestor analyzer. It provides the same behaviour as the 1.4.1 version of
- <ejbjar>. If the BCEL library is not present, a warning will be issued stating
- the ancestor analyzer is not available. In this case <ejbjar> will continue
- to function but will not add super classes to the jar.
-
-* <available> has a new attribute named ignoreSystemClasses.
-
-* New task <cvschangelog/> generates an XML report of changes that occur
- on CVS repository.
-
-* New filter readers: ClassConstants, ExpandProperties, HeadFilter,
- LineContains, LineContainsRegExp, PrefixLines, ReplaceTokens,
- StripJavaComments, StripLineBreaks, StripLineComments, TabsToSpaces,
- TailFilter.
-
-* <copy>, <loadfile>, <loadproperties>, <move> support FilterChains
- of FilterReaders.
-
-* New task <loadproperties> to load contents of file as Ant properties,
- with nested <filterchain> elements.
-
-* New task <loadfile> to load a whole file into a property.
-
-* New task <echoproperties> to list your current properties to the screen
- or a file.
-
-* New tasks <bzip2> and <bunzip2> to pack and unpack files using the
- BZip2 alogrithm.
-
-* New tasks <replaceregexp>, <checksum>, <translate>, <waitfor>,
- <manifest>, <vsscp>, <vssadd>, <vsscreate>, <splash>, <basename>, <dirname>,
- <concat>, <sourceoffsite>, <jarlib-available>, <jarlib-display>,
- <jarlib-manifest>, <jarlib-resolve>.
-
-* A new combined <mail> task, which replaces the old <mail> and
- <mimemail> tasks, has been added. The <mimemail> task, and
- old SendEmail and MimeMail classes have been deprecated.
-
-* Mail task allows specification of port number.
-
-* Users can control what <zip> and <jar> must do when duplicate files
- are found. A new element <zipgroupfileset> allows for multiple zip
- files to be merged into the archive. In addition, <jar> also has
- another new attribute: filesetmanifest. The existing manifest
- attribute of <jar> now also accepts the name of a jar added through
- a fileset.
-
-* gzip now checks that the zipfile is older than the source file
- before rebuilding the zipfile.
-
-* TarFileset takes in three new attributes - fullpath, prefix
- and preserveLeadingSlashes.
-
-* <move> attempts to rename the directory, if everything inside it is
- included, before performing file-by-file moves. This attempt will
- be done only if filtering is off and if mappers are not used. This
- is a performance improvement and there is no change otherwise in
- the funtionality of this task.
-
-* Exec task has extra attribute "resultproperty" to get the return code
- into a property.
-
-* Exec task prints a message when a timed-out process is killed.
-
-* Added optional attributes - name, arch and version to the <os> task.
-
-* Unjar, Untar, Unwar and Unzip now support patternsets to
- select files from an archive for extraction. Filesets may be
- used to select archived files for unarchival.
-
-* Javac task allows debug levels to be specified. Debug levels
- will have an effect only when the modern compiler or the
- classic compiler (version 1.2 and higher) is used and debugging
- is enabled.
-
-* Added support for specifying CVS_RSH in the <cvs/> task
-
-* The attributes zipfile, jarfile, warfile and earfile (from the Zip,
- Jar, War and Ear tasks) have been deprecated and superseded by a
- new attribute "destfile".
-
-* Added new conditions <isset>, <checksum>, <http>, <socket>, <contains>,
- <filesmatch>.
-
-* <taskdef> and <typedef> will now emit a warning if a task/type of
- the given name already exists.
-
-* A new revision of VAJ tasks: The most important new feature
- is the ability to execute VAJ tasks from the command line by
- exploiting the Remote Tool Access feature of VAJ.
-
-* Improved support for Novell NetWare.
-
-* Added an optional encoding attribute to <fixcrlf>.
-
-* <apply> has a new attribute relative that allows users to pass the
- filenames as relative instead of absolute paths on the command line.
-
-* References can now be copied into the child build by <ant> and
- <antcall> using nested <reference> elements or the new inheritRefs
- attribute.
-
-* <fail> now supports builds to fail based on conditions via if and
- unless attributes.
-
-* Ant now comes with two new BuildLogger implementations - one that
- can send emails containing a log of the build process (MailLogger),
- and one that colorizes the output based on message levels, using
- ANSI color code escape sequences (AnsiColorLogger).
-
-* A "package" mapper type has been added to allow package directory
- names replaced with the dotted form.
-
-* You can now specify environment variables in the <java> and <junit> tasks
- if the fork attribute has been set to true.
-
-* -propertyfile command-line option has been added to load an entire
- property file just as -D properties are declared (as user properties).
- -D properties take precedence over -propertyfile specified ones.
-
-* You can now set an ANT_ARGS environment variable to hold arguments you
- always want passed to the 'ant' command -- for example, if you always
- want to use a different logger or the -find flag.
-
-* <tstamp> now supports a new "prefix" attribute to prefix properties set.
-
-* You can now specify the -sourcepath for <javac> explicitly.
-
-* <javac> now supports a new "listfiles" attribute to list the source
- files it's handing off to the compiler.
-
-* The compiler implementation for <javac> can now be chosen on a task by
- task basis. The new "compiler" attribute of <javac> can be used to override
- the value of the build.compiler property, if set.
-
-* <javac> has a new nested element, <compilerarg>, which allows you
- to specify additional args for the specific compiler you're using.
-
-* <javac>'s "source" attribute is now enabled for jikes as well.
-
-* <propertyfile>'s <entry> now has a 'unit' attribute to specify the
- increment/decrement unit on date operations.
-
-* <property> now supports a 'prefix' attribute when loading from a file
- or resource.
-
-* In Ant 1.4, a feature has been added to the <junit> task that would
- add ant.jar, optional.jar and junit.jar implicitly to the classpath -
- this feature can now be disabled by setting the new includeantruntime
- attribute to false.
-
-* <style> behaves differently from any other directory-based task, as it
- processes all files that it finds in included directories in
- addition to the files matched by your patterns. There is now a new
- attribute, 'scanincludeddirectories', to suppress this behavior.
-
-* <javadoc> now supports a <tag> nested element to provide the -tag option
- to the standard Java 1.4 doclet. The element is ignored when not running
- on Java 1.4.
-
-* <ftp> can now chmod files on a remote server that supports
- "site chmod", as well as set the umask before transferring files, if
- the server supports "site umask".
-
-* New <serverdeploy> "optional" task.
-
-* <patternset> now supports nested patternsets.
-
-* Perforce tasks now support a "failonerror" attribute (defaults to "true").
-
-* Open Source application server JOnAS support:
- EJB hot deploy and deploy with <serverdeploy> and <ejbjar>
-
-* Added new DirSet (<dirset>) datatype.
-
-* <path> now supports nested <dirset> and <filelist> elements.
-
-* <pathconvert> now supports nested <dirset> and <filelist> elements.
-
-* <pathconvert>'s "dirsep" and "pathsep" attributes now accept
- multi-character values.
-
-* <copy> task now has a 'failonerror' attribute to allow keep-going
- behaviour when the file to be copied is not found (defaults to "true").
-
-* <uptodate> now has a 'srcfile' attribute to allow specifying a
- full-path filename.
-
-* <exec>, <sql> and <java> now support append attributes to allow
- appending the output to an existing file.
-
-* <java> now supports a timeout attribute analog to <exec> - it is
- highly recommended to only use it together with fork="true".
-
-* <javadoc> now supports a source attribute to enable javadoc to
- handle assertions present in JDK 1.4 source code.
-
-* <replace> supports a new replacefilterfile attribute that
- automatically turns all properties of a given file into
- replacefilters.
-
-* An alias of <xslt> has been added to refer to the <style> task.
-
-* The compiler implementation for <rmic> can now be chosen on a task by
- task basis. The new "compiler" attribute of <rmic> can be used to override
- the value of the build.rmic property, if set.
-
-* <rmic> has a new nested element, <compilerarg>, which allows you
- to specify additional args for the specific compiler you're using.
-
-* org.apache.tools.ant.XmlLogger now is a BuildLogger, rather than just
- a BuildListener. It can operate in either mode successfully.
-
-* <junit> has a new attribute "showoutput". If set to true, output
- generated by tests will be sent to Ant's logging system as well as
- to the formatters (instead of sending it to the formatters
- exclusively).
-
-* Ant has now a pluggable way to prompt users for input, which is used
- by the new <input> task. IDE integrators can provide an
- implementation of the InputHandler interface to decouple Ant's input
- from the console. An implementation that gets its input from a file
- for unattended builds is part of Ant's distribution.
-
- For more details see docs/manual/inputhandler.html.
-
-* <patch> has a new attribute that selects the directory in which to
- run the command.
-
-* <javadoc> now supports two new nested elements, <fileset> and <packageset>.
-
-Changes from Ant 1.4 to Ant 1.4.1
-===========================================
-
-Fixed bugs:
------------
-
-* <ant>'s antfile attribute will now also be considered an absolute path on
- Windows systems, if it starts with a \ and no drive specifier.
-
-* The fullpath attribute of <zipfileset> has been ignored if you used
- the src attribute at the same time.
-
-* The manifest file is now always placed as the second entry (after /META-INF)
- in generated jars. This allows the manifest to be read by JarInputStreams
-
-* Fixed bug in depend task which would fail with a NullPointerException if no
- dependency cache was specified.
-
-* sql task now handles REM statements correctly so that lines starying with rem
- but which are not comments are actually processed.
-
-* XMLLogger now uses the task's name rather than the classname
-
-* <mapper>s will now work as expected if the to pattern expands to an
- absolute pathname.
-
-* <javac> didn't ignore memory settings in non-fork mode
-
-* <cab> didn't split the options attribute into several command line
- arguments correctly.
-
-Other changes:
---------------
-
-* New source attribute for <javac> to enable assertion in JDK 1.4
-
-* XmlLogger and <antstructure> now add an encoding declaration to the
- XML files they generate.
-
-* <fileset> has a new attribute "casesensitive" to make it match
- filenames in a case insensitive way (if you set it to false) - by
- default filesets remain case sensitive.
-
-Changes from Ant 1.3 to Ant 1.4
-===========================================
-
-Changes that could break older environments:
---------------------------------------------
-* JUnitReport now uses the xalan redirect extension for multi-output.
- With Xalan 1.2.2 it forces the use of bsf.jar in the classpath.
- (Available in the xalan distribution). It is recommended to switch
- to Xalan 2.x that do not need it.
-
-* Zip.setWhenempty() has changed its signature.
-
-* <rmic> is now implemented using a factory. This makes extending
- rmic to use a new compiler a lot easier but may break custom
- versions of this task that rely on the old implementation.
-
-* several Zip methods have changed their signature as we now use a Zip
- package of our own that handles Unix permissions for directories.
- Furthermore <zip> will now use the platform's default character
- encoding for filenames - this is consistent with the command line
- ZIP tools, but causes problems if you try to open them from within
- Java and your filenames contain non US-ASCII characters. Use the new
- encoding attribute of the task and set it to UTF8 to get the old
- behavior.
-
-* The <pvcs> task has been moved to a package of its own.
-
-* JUnitResultFormater has two additional methods that must be
- implemented by custom formatters.
-
-* Ant will no longer use the canonical version of a path internally -
- this may yield different results on filesystems that support
- symbolic links.
-
-* The output generated by the xml formatter for <junit> has changed
- again, it doesn't format the numeric value in the time attribute anymore.
-
-* Pattern matching rules have changes slightly, the pattern foo*
- doesn't match files contained in a directory named foo - use foo/*
- instead.
-
-* <fixcrlf> will not remove trailing whitespace at the end of lines anymore.
-
-* The Classloader usage has been changed for the taskdef, property, available
- and sql tasks so that it delegates to the parent classloader. This may cause
- ClassNotFoundExceptions to be thrown if a system class attempts to load a
- class in the taskdef's classpath (typically factory objects).
-
-* Ant now allows multithreading of tasks and the containment of tasks within
- other tasks. This can break customer listeners which do not expect messages
- from a task before the previous task has finished.
-
-* Ant now installs its own ouput stream into System.out to route output to the
- task currently executing on the current thread. This also means that all
- output is now routed as Ant message events. Customer listeners and loggers
- should not call System.out at any time. This has always been true but such
- usage now will cause problems due to possible recursion.
-
-* Invalid manifest files will now cause build failures in the <jar> task.
-
-* Ant Introspection now looks for methods with method names starting with
- addConfigured. When called these methods are passed an argument after it has
- been configured from the build file. Custom tasks supporting nested elements
- starting with the name configured will no longer function.
-
-* The environment variable JAVACMD that can be used to specify the
- java executable to Ant's wrapper scripts must not contain additional
- command line parameters any longer - please use the environment
- variable ANT_OPTS for such parameters now.
-
-* Ant's wrapper scripts now quote the CLASSPATH environment variable, thus
- supporting classpaths which refer to directories containing spaces. This means
- that the CLASSPATH environment variable cannot have quotes. Any quotes should
- be removed. This will not affect the operation of the CLASSPATH environment
- variable in other contexts.
-
-* A delete task like
- <delete includeEmptyFilesets="true">
- <fileset dir="somedir" />
- </delete>
- will now remove "somedir" as well, unless there are still files left
- in it (matched by the default excludes).
-
-* The copy task will now fail if the file to be copied is not found.
-
-* Ant properties defined in properties files now behave the same way as
- properties defined in the build file. In particular the $ character needs
- to be escaped in property values by doubling it to $$. So, to define a
- property with the value $hello, you need to define it in a properties file
- as
- test.prop=$$hello
- This was not the case in Ant 1.3
-
-Other changes:
---------------
-
-* New tasks: ear, p4counter, record, cvspass, vsscheckin, vsscheckout,
- typedef, sleep, mimemail, set of tasks for Continuus/Synergy, dependset,
- condition, maudit, mmetrics, jpcoverage, jpcovreport, jpcovmerge
-
-* Ant now uses JAXP 1.1
-
-* rmic now supports Kaffe's and Weblogic's version of rmic.
-
-* new magic property build.rmic to chose the rmic implementation
-
-* <tar> will now add empty directories as well
-
-* you can now specify a description for <p4change>
-
-* <touch> can now work on <fileset>s
-
-* <uptodate> now supports a value attribute
-
-* <fail> supports nested text
-
-* <fixcrlf> won't override files that are already in the correct
- format.
-
-* <sql> now supports REM comments as well as // and --
-
-* <jar> now has a nested <metainf> element following the same idea as
- <war>'s <webinf>.
-
-* <pvcs> can now handle multiple projects.
-
-* <available> now has a "type" attribute you can use in conjunction
- with the "file" attribute to specify whether the "file" you're
- looking for is a file or a directory.
-
-* New <junit> formatter named "brief"
-
-* <ejbjar> changes
- * Add support for Borland Application Server to the <ejbjar> task using
- a <borland> nested element.
- * Add support for iPlanet Application Server to the <ejbjar> task. Also
- includes some iPlanet utility tasks
- * Add support for JBoss Application Server to the <ejbjar> task.
- * Add a naming attribute to control the naming scheme that
- ejbjar uses to name the generated EJB jars.
- * Weblogic element now sets the compiler class for EJB 2.0 beans
- * <dtd> elements can be specified at the <ejbjar> level for building generic
- beans
- * <dtd> elements can now be URLs
- * Allow the manifest to be specified for the generated jars
- * The weblogic element now supprts an attribte noEJBC to skip the processing
- of the jar by ejbc. The ejbc step will then occur at deployment
- * weblogic will tell ejbc to use Jikes compiler if build.compiler is set to
- jikes. It can be restored to the default, javac, operation if desired.
-
-* Allow the <sql> Delimiter to be set in the so that Oracle stored procs may be
- entered
-
-* <execon> and <apply> can now optionally skip empty filesets.
-
-* <javadoc> has a new useexternalfile attribute that makes it use a
- temporary file for sourcefile and package names - helps to defeat
- command line length limitations.
-
-* Data types like <path> can now be defined inside of <target>s
-
-* you can now specify a classpath for <style> - the XSLZ processor
- will be loaded from this path
-
-* added a force attribute to <style> to support dependencies that the
- task cannot determine itself (dependency on parameters, not file
- modification times for example)
-
-* added vmlauncher attribute to exec tasks. This defaults to true. If
- it is set to false, the VM's ability to launch commands in bypassed
- and the OS shell, either directly or through the auxillary antRun
- scripts is used.
-
-* regexp mapper now supports the java.util.regex package of JDK 1.4.
-
-* New filesonly attribute for <zip> and friends to suppress directory
- entries.
-
-* New update attribute for <zip> and friends - update an existing
- archive instead of creating a new one.
-
-* <apply> and <execon> have been merged into a single task.
-
-* added vssver.scc to the default excludes
-
-* <available> has a new filepath attribute/nested element that allows
- you top search for a file in a given path.
-
-* <junit> can now optionally set a property on test failure.
-
-* <taskdef> can now define several tasks at once, reading the
- name/classname pairs from a property file or resource.
-
-* <unzip/unjar/unwar> and <untar> now have an overwrite attribute that
- defaults to true. If set to false, files that are newer than the
- files in the archive will not be replaced.
-
-* <patternset> and <fileset> now support nested <in/excludesfile>
- elements - using these you can have more than one in/excludes file
- per <patternset>.
-
-* Three new supported compilers for javac: kjc for kopi, gcj for the
- gcc frontend and sj for Symantec's compiler.
- In addition extJavac or the new fork attribute can be
- used to run the JDK's javac in a JVM separate from Ant.
-
-* <fixrlf> can now with CR only line-ends and can use an arbitraty
- between 2 and 80.
-
-* The .NET tasks have been adapted to the beta2 release of the framework.
-
-* <move> will now try to rename() files before copying them byte by
- byte - only if filtering is of, of course.
-
-* <ant> and <antcall> tasks now support a new attribute inheritAll. When set to
- false, only user properties are passed through to the target Ant instance.
- This includes properties set on the command line and properties explicitly
- passed
-
-* <javadoc> now skips off line links if the package list cannot be found.
-
-* <wlrun> now allows the security policy file to exist outside the weblogic
- directory.
-
-* <java> task will set the Thread contextClassLoader under JDKs 1.2+ to the
- classloader for the class being executed.
-
-* Introduce the concept of a TaskContainer - a task or element which can contain
- Ant Tasks.
-
-* Add new tasks implementing the TaskContainer interface <parallel> and
- <sequential> which allow parallel execution of tasks to be specified.
-
-* <depend> task will now take into account dependencies on jar files and class
- files from a given classpath.
-
-* <jar> manifest entries may now be specified in the build file either
- completely or to be merged with a manifest file.
-
-* <tstamp> task custom formats now support locales.
-
-* Added a listner which will forward events to Log4J. The log4j configuration
- file should be in the directory from which Ant is run or passed as a system
- property using a JVM argument.
-
-* Introduced the concept of <filtersets> to allow for more control in which
- filters get applied in a <copy> or <move> operation.
-
-* Added nowarn attribute to javac and deprecated the Jikes-magic property
- build.compiler.warnings.
-
-* The <depend> task cache format has changed and all dependency information is
- now stored in a single file.
-
-Fixed bugs:
------------
-
-* Testcases have been made independent of current working directory.
-
-* Input ZIP-Files will be closed when using a <zipfileset>.
-
-* p4 tasks now don't fail if user, port or client have been omitted
- (and this is acceptable for the context of the command).
-
-* <javah>'s outputfile attribute will be resolved as relative to the
- projects basedir.
-
-* <antstructure> should create a valid DTD for propertyfile.operation.entry
- and omit tasks it fails to load.
-
-* won't try to pass a -bootclasspath flag to javac 1.1 anymore
-
-* <style>'s style attribute no handles absolute paths correctly.
-
-* <delete includeemptydirs="true"> now deletes more than just the leaf
- directories.
-
-* You can now specify a <fileset> for a directory that doesn't exist at
- declaration time but will created before the fileset gets used for the
- first time.
-
-* If the quiet attribute has been set, <delete> will handle <fileset>s
- with non-existing directories gracefully.
-
-* Output written by testcases will now be captured by the <junit> task
- and passed to the formatters.
-
-* Quote the -group parameter to Javadoc as per the specification
-
-* Initialise classes when loaded through the AntClassLoader - that is, run
- static initializers
-
-* Implement getResource() and getResources() in AntClassLoader
-
-* Create the <ejbjar> weblogic command line as a set of arguments rather than
- as a single line. Avoids problems with paths which contain spaces.
-
-* <ejbjar> now fails when the weblogic ejbc compiler reports an error.
-
-* Make the AntClassLoader load resources in the same order as it currently
- loads classes.
-
-* Handle classpaths with spaces
-
-* Make sure XSLT processors close their output files in <style>.
-
-* perform proper uptodate check in <rmic> when compiling for IIOP.
-
-* <jjtree>'s uptodate test works even if outputdirectory is not the
- parent dir of target
-
-* <copy> will remove target file (if it exists) before writing to it -
- this avoids problems with links on filesystems that support them.
-
-* <ftp> now properly recurses remote directories.
-
-* <ftp> closes remote connection when it's done.
-
-* <junit> tries to include all necessary classes for the task itself
- to the classpath when running in fork mode - doesn't work for JDK 1.1
-
-* <apply> and <execon> do now execute the command only once, if you
- specify the parallel attribute - instead of once per fileset.
-
-* directory based tasks and fileset could miss some included files in
- directories that have been excluded
-
-* <fixcrlf> failed for large files.
-
-* <move> removed files you tried to move to themselves.
-
-* <sql> task will not trty to print the result set unless the query succeeded.
-
-* Ant classloader will now ignore paths which are invalid relative to the
- project base
-
-* <ejbjar> weblogic elements check for jar file changes has been fixed.
- Previously some changes would not be included.
-
-* properties loaded from properties files are now resolved internally. This
- removes the spurious warnings about usage of properties which have not been
- set.
-
-* <jar> task and friends now process the JAR manifest to ensure it is valid.
-
-* The task finished event now includes any exception thrown by the task.
-
-* <java> task now supports a jvmVersion attribute so that if another JVM is
- being used, Ant can determine which options to use for features such as the
- VM memory limits
-
-
-Changes from Ant 1.2 to Ant 1.3
-===========================================
-
-Changes that could break older environments:
---------------------------------------------
-
-* Ant doesn't search for the buildfile anymore, unless you use the new
- -find argument.
-
-* <perforce> has been replaced by a number of new tasks.
-
-* <javac> is now implemented using a factory. This makes extending
- javac to use a new compiler a lot easier but may break custom
- versions of this task that rely on the old implementation.
-
-* The output generated by the xml formatter for <junit> has changed a
- little, it doesn't append " sec" in the time attribute anymore.
-
-Other changes:
---------------
-
-* A GUI Frontend: Antidote. This is currently in development. At this
- time, this is not part of the Ant release, although the source is
- included if you are interested.
-
-* New tasks: stylebook, propertyfile, depend, antlr, telnet, csc,
- ilasm, apply, javah, several clearcase tasks, junitreport, sound
-
-* Added output attribute to <java>.
-
-* Added nested zipfileset element to <zip>
-
-* Changed <sql> so that printing is at the task level rather than
- the statement level.
-
-* javadoc task will pass -d flag to any doclet if the destDir attribute is
- given. If the doclet does not accept the -d flag then omit the destdir
- attribute.
-
-* <cab> can work on non-Windows platforms with the help of libcabinet.
- See http://trill.cis.fordham.edu/~barbacha/cabinet_library/.
-
-* <ftp> now supports passive mode.
-
-* New <mapper> data type that can be used to get influence on the
- target files for some tasks like <copy> or enable new types of tasks
- like <apply>.
-
-* <execon> provides more control over the command line now, the names
- of the source files are no longer required to be at the end of the
- command.
-
-* Style tasks will now support TraX compliant XSL processors if one is present
- in your classpath.
-
-* Added a failonerror to the javac task. If set to false, the build will
- continue even if there are compilation errors.
-
-* Added nested format elements to the tstamp task allowing additional time
- formats to be defined for arbitrary properties.
-
-* Added classpath attribute and nested classpath element to <property>
- to make the resource attribute more powerful.
-
-* ${} property expansion will now be performed on the patterns read
- from files specified as includesfile or excludesfile attributes.
-
-* The <tar> and <untar> tasks now support GNU format for handling paths
- which are greater than 100 characters in length. In addition the <tar>
- task now supports nested filesets through which the file permissions
- may be controlled.
-
-* wlrun, wlstop and ejbjar now support Weblogic 6.0
-
-* The MPasre task has been updated to work with MParse 2.0
-
-* The documentation has been significantly updated.
-
-
-Fixed bugs:
------------
-
-* <signjar> doesn't use deprectated methods anymore.
-
-* javadoc's failonerror attribute works again
-
-* javadoc's additionalparam attribute will now be split into separate
- parameters (on spaces) to allow for more than one parameter.
-
-* Changed <sql> task so that printing result sets works on Oracle
-
-* Changes to ddcreator and ejbc helper to respect the descriptor hierarchy
- keppgenerated in ejbc can now be turned off
-
-* ejbjar now correctly ignores <ejb-ref> elements in the deployment descriptor.
- CMP files are included by parsing the weblogic deployment descriptor rather
- than relying on the naming convention used in ant 1.2
-
-* ejbjar includes super classes and super interfaces into the generated ejb
- jar files. The <support> nested element allows support classes to be
- included in the EJB jar. The toplink element should now correctly locate
- the toplink descriptor.
-
-* <vssget> now correctly deals with spaces in arguments
-
-* <jar> fails early if a given manifest file doesn't exist
-
-* <rmic> doesn't search for the _Skel file anymore when stubversion is
- set to 1.2.
-
-* <rmic> uses the the same classpath to verify a class can be rmic'd
- as it passes to the compiler.
-
-* org.apache.tools.mail.MailMessage (and therefore <mail>) can now
- handle SMTP servers sending multi line responses.
-
-* nested <classpath> elements of <taskdef> now work for <taskdef>s not
- nested into <target> as well.
-
-* <property> and <available> will search for the resource "foo" instead
- of "/org/apache/tools/ant/taskdefs/foo" when given a relative resource
- name foo.
-
-* Handle build files in directories whose name contained a "#" character
-
-* <junit> can now log to files whose name contains a comma as well.
-
-* The AntClassLoader now refers to the loader which loaded it, any
- requests it does not handle itself. Previously these went to the
- primordial loader.
-
-Changes from Ant 1.1 to Ant 1.2
-===============================
-
-Changes that could break older environments:
---------------------------------------------
-
-* Semantics of <property> has changed again in the hope to be more
-intuitive. ${} expansion now happens at runtime and <property> tags
-living inside of targets only take effect if they are visited at
-runtime.
-
-As a side effect of this change, task's attributes get set at runtime
-not at parser time as well, which might change the results of
-<script>s or other custom tasks that reference other tasks by their id
-attribute.
-
-* copying of support files in <javac> has been removed - as well as
-the filtering attribute.
-
-* the <expand> and <keysubst> tasks have been removed.
-
-* the ignore and items attributes of directory based tasks have been removed.
-
-* the command line switches _not_ starting with - have been removed.
-
-* Path and EnumeratedAttribute have been moved from
-org.apache.tools.ant to org.apache.tools.ant.types.
-
-* the class attributes of <available>, <java>, <rmic> and <taskdef>
-have been removed.
-
-* the src attribute of <chmod> has been removed.
-
-* <patch> and <javadoc> have lost some of their attributes.
-
-* <java> and <cvs> have lost some undocumented attributes.
-
-* the Unix antRun script would search for command.sh in the directory
-it changed to and invoke this instead of command if present. This
-behavior has been dropped.
-
-* <ejbjar> task syntax has been changed significantly
-
-* <exec> is no longer implemented by org.apache.tool.ant.taskdefs.Exec.
-Custom tasks that rely on Project.createTask("exec") to return an
-instance of this class are going to fail.
-
-* nested <include> and <exclude> elements expect the value of their
-name attribute to be a single pattern, they don't accept multiple
-patterns anymore. Split them into multiple elements of the same type.
-
-* <delete dir="somedir" /> will now delete the directory itself as
-well as all included files. If you just want to clean out the
-directory and keep the empty one, use a nested fileset.
-
-Other changes:
---------------
-
-* New tasks: antstructure, cab, execon, fail, ftp, genkey, jlink,
-junit, sql, javacc, jjtree, starteam, war, unwar, uptodate,
-native2ascii, copy, move, mparse.
-
-* copydir, copyfile, deltree and rename are now deprecated. They
-should be replaced with the new copy, delete and move tasks.
-
-* <java> uses a ClassLoader of its own in no-fork mode if a classpath is
-specified.
-
-* <style> will create the necessary target directories and reprocess
-all files if the stylesheet changes.
-
-* New data types fileset and patternset - expected to get a broader use.
-They, as well as PATH like structures, can now be defined on a global
-level and later be referenced by their id attribute.
-
-* You can specify environment variables to <exec>.
-
-* <get> can check whether a remote file is actually newer than a local
-copy before it starts a download (HTTP only).
-
-* Added a -logger option to allow the class which performs logging to be
-specified on the command line.
-
-* Added a -emacs option to tell the logger to leave out taskname adornments
-on log output.
-
-* <chmod> works on all files in parallel and supports multiple filesets.
-
-* <replace> can now use tokens and/or values that cross line boundaries.
-
-* build.compiler supports now jvc as well.
-
-* project specific help can now be obtained with the -projecthelp option.
-
-* Added a -debug option to make -verbose less verbose (and more useful)
-
-* Ant will now search for a file named build.xml in the parent directory
-and above (towards the root of the filesystem) if you didn't specify
--buildfile and there is no build.xml in the current directory.
-
-* <echo> can now write to a file and accepts nested text.
-
-Fixed bugs:
------------
-
-* <chmod> didn't work when used as a directory based task.
-
-* Path, Available, Property didn't resolve relative filenames with
-respect to the Project's basedir.
-
-* Project didn't interpret the basedir attribute correctly in all
-cases.
-
-* Nested <src> in <javac> caused NullPointerException.
-
-* Corrupt Zip- and Jar-files ar now deleted if the task fails.
-
-* many more fixes we've forgotten to document here ...
-
-* The packagelistloc attribute of <javadoc>'s <link> child will be
- resolved as a file (i.e. it is either absolute or relative to
- basedir).
diff --git a/build/tools/jakarta-ant-1.5.1/bin/ant b/build/tools/jakarta-ant-1.5.1/bin/ant deleted file mode 100644 index ee0ae5603..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/ant +++ /dev/null @@ -1,192 +0,0 @@ -#! /bin/sh
-
-# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
-# reserved.
-
-# load system-wide ant configuration
-if [ -f "/etc/ant.conf" ] ; then
- . /etc/ant.conf
-fi
-
-# provide default values for people who don't use RPMs
-if [ -z "$rpm_mode" ] ; then
- rpm_mode=false;
-fi
-if [ -z "$usejikes" ] ; then
- usejikes=false;
-fi
-
-# load user ant configuration
-if [ -f "$HOME/.antrc" ] ; then
- . "$HOME/.antrc"
-fi
-
-# OS specific support. $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-case "`uname`" in
- CYGWIN*) cygwin=true ;;
- Darwin*) darwin=true
- if [ -z "$JAVA_HOME" ] ; then
- JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
- fi
- ;;
-esac
-
-if [ -z "$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"`
- saveddir=`pwd`
-
- # need this for relative symlinks
- cd `dirname "$PRG"`
-
- 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"`/..
-
- cd "$saveddir"
-
- # make it fully qualified
- ANT_HOME=`cd "$ANT_HOME" && pwd`
-fi
-
-# 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
-
-# set ANT_LIB location
-ANT_LIB="${ANT_HOME}/lib"
-
-if [ -z "$JAVACMD" ] ; then
- if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- else
- JAVACMD=java
- fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
- echo "Error: JAVA_HOME is not defined correctly."
- echo " We cannot execute $JAVACMD"
- exit 1
-fi
-
-if [ -n "$CLASSPATH" ] ; then
- LOCALCLASSPATH="$CLASSPATH"
-fi
-
-# in rpm_mode get ant/optional/xml parser&api from JAVALIBDIR
-if $rpm_mode; then
- JAVALIBDIR=/usr/share/java
- for i in ant ant-optional jaxp_parser xml_apis
- do
- if [ -z "$LOCALCLASSPATH" ] ; then
- LOCALCLASSPATH="$JAVALIBDIR/$i.jar"
- else
- LOCALCLASSPATH="$JAVALIBDIR/$i.jar":"$LOCALCLASSPATH"
- fi
- done
-
- # in rpm mode ant/lib is in /usr/share/java/ant
- ANT_LIB="${JAVALIBDIR}/ant"
-fi
-
-# add in the dependency .jar files in non-RPM mode (the default)
-for i in "${ANT_LIB}"/*.jar
-do
- # if the directory is empty, then it will return the input string
- # this is stupid, so case for it
- if [ -f "$i" ] ; then
- if [ -z "$LOCALCLASSPATH" ] ; then
- LOCALCLASSPATH="$i"
- else
- LOCALCLASSPATH="$i":"$LOCALCLASSPATH"
- fi
- fi
-done
-
-if [ -n "$JAVA_HOME" ] ; then
- if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then
- LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar"
- fi
-
- if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then
- LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip"
- fi
-
- # OSX hack to make Ant work with jikes
- if $darwin ; then
- OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
- if [ -d ${OSXHACK} ] ; then
- for i in ${OSXHACK}/*.jar
- do
- JIKESPATH="$JIKESPATH:$i"
- done
- fi
- 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
-
-# Allow Jikes support (off by default)
-if $usejikes; then
- ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
-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"`
- CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
- LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
- CYGHOME=`cygpath --path --windows "$HOME"`
-fi
-
-if [ -n "$CYGHOME" ]; then
- if [ -n "$JIKESPATH" ]; then
- JIKESPATH=`cygpath --path --windows "$JIKESPATH"`
- "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Djikes.class.path="$JIKESPATH" -Dcygwin.user.home="$CYGHOME" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@"
- else
- "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Dcygwin.user.home="$CYGHOME" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@"
- fi
-else
- if [ -n "$JIKESPATH" ]; then
- "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" -Djikes.class.path="$JIKESPATH" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@"
- else
- "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="${ANT_HOME}" $ANT_OPTS org.apache.tools.ant.Main $ANT_ARGS "$@"
- fi
-fi
-
diff --git a/build/tools/jakarta-ant-1.5.1/bin/ant.bat b/build/tools/jakarta-ant-1.5.1/bin/ant.bat deleted file mode 100644 index c3c371698..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/ant.bat +++ /dev/null @@ -1,95 +0,0 @@ -@echo off
-
-REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights
-REM reserved.
-
-if exist "%HOME%\antrc_pre.bat" call "%HOME%\antrc_pre.bat"
-
-if "%OS%"=="Windows_NT" @setlocal
-
-rem %~dp0 is expanded pathname of the current script under NT
-set DEFAULT_ANT_HOME=%~dp0..
-
-if "%ANT_HOME%"=="" set ANT_HOME=%DEFAULT_ANT_HOME%
-set DEFAULT_ANT_HOME=
-
-rem Slurp the command line arguments. This loop allows for an unlimited number
-rem of arguments (up to the command line limit, anyway).
-set ANT_CMD_LINE_ARGS=%1
-if ""%1""=="""" goto doneStart
-shift
-:setupArgs
-if ""%1""=="""" goto doneStart
-set ANT_CMD_LINE_ARGS=%ANT_CMD_LINE_ARGS% %1
-shift
-goto setupArgs
-rem This label provides a place for the argument list loop to break out
-rem and for NT handling to skip to.
-:doneStart
-
-rem find ANT_HOME if it does not exist due to either an invalid value passed
-rem by the user or the %0 problem on Windows 9x
-if exist "%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\nul goto checkCDrive
-set ANT_HOME=%SystemDrive%\ant
-goto checkJava
-
-:checkCDrive
-rem check for ant in C:\ant for Win9X users
-if not exist C:\ant\nul goto noAntHome
-set ANT_HOME=C:\ant
-goto checkJava
-
-:noAntHome
-echo ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.
-goto end
-
-:checkJava
-set LOCALCLASSPATH=%CLASSPATH%
-for %%i in ("%ANT_HOME%\lib\*.jar") do call "%ANT_HOME%\bin\lcp.bat" %%i
-
-if "%JAVA_HOME%" == "" goto noJavaHome
-if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
-set _JAVACMD=%JAVA_HOME%\bin\java.exe
-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
-set _JAVACMD=java.exe
-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%
-goto end
-
-:end
-set LOCALCLASSPATH=
-set _JAVACMD=
-set ANT_CMD_LINE_ARGS=
-
-if "%OS%"=="Windows_NT" @endlocal
-
-:mainEnd
-if exist "%HOME%\antrc_post.bat" call "%HOME%\antrc_post.bat"
-
diff --git a/build/tools/jakarta-ant-1.5.1/bin/antRun b/build/tools/jakarta-ant-1.5.1/bin/antRun deleted file mode 100644 index cba56f16d..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/antRun +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/sh
-
-# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
-# reserved.
-
-# Args: DIR command
-cd "$1"
-CMD="$2"
-shift
-shift
-
-exec "$CMD" "$@"
diff --git a/build/tools/jakarta-ant-1.5.1/bin/antRun.bat b/build/tools/jakarta-ant-1.5.1/bin/antRun.bat deleted file mode 100644 index e8125f660..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/antRun.bat +++ /dev/null @@ -1,31 +0,0 @@ -@echo off
-
-REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights
-REM reserved.
-
-if "%OS%"=="Windows_NT" @setlocal
-
-if ""%1""=="""" goto runCommand
-
-rem Change drive and directory to %1
-if "%OS%"=="Windows_NT" cd /d ""%1""
-if not "%OS%"=="Windows_NT" cd ""%1""
-shift
-
-rem Slurp the command line arguments. This loop allows for an unlimited number
-rem of agruments (up to the command line limit, anyway).
-set ANT_RUN_CMD=%1
-if ""%1""=="""" goto runCommand
-shift
-:loop
-if ""%1""=="""" goto runCommand
-set ANT_RUN_CMD=%ANT_RUN_CMD% %1
-shift
-goto loop
-
-:runCommand
-rem echo %ANT_RUN_CMD%
-%ANT_RUN_CMD%
-
-if "%OS%"=="Windows_NT" @endlocal
-
diff --git a/build/tools/jakarta-ant-1.5.1/bin/antRun.pl b/build/tools/jakarta-ant-1.5.1/bin/antRun.pl deleted file mode 100644 index 1851b50ce..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/antRun.pl +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/perl
-#######################################################################
-#
-# antRun.pl
-#
-# wrapper script for invoking commands on a platform with Perl installed
-# this is akin to antRun.bat, and antRun the SH script
-#
-# created: 2001-10-18
-# last modified: 2001-11-13
-# author: Jeff Tulley jtulley@novell.com
-#######################################################################
-#be fussy about variables
-use strict;
-
-#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 (currently unused)
-my $debug=1;
-
-#######################################################################
-# change drive and directory to "%1"
-my $ANT_RUN_CMD = @ARGV[0];
-
-# assign current run command to "%2"
-chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n";
-if ($^O eq "NetWare") {
- # There is a bug in Perl 5 on NetWare, where chdir does not
- # do anything. On NetWare, the following path-prefixed form should
- # always work. (afaict)
- $ANT_RUN_CMD .= "/".@ARGV[1];
-}
-else {
- $ANT_RUN_CMD = @ARGV[1];
-}
-
-# dispose of the first two arguments, leaving only the command's args.
-shift;
-shift;
-
-# run the command
-my $returnValue = system $ANT_RUN_CMD, @ARGV;
-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;
-}
diff --git a/build/tools/jakarta-ant-1.5.1/bin/complete-ant-cmd.pl b/build/tools/jakarta-ant-1.5.1/bin/complete-ant-cmd.pl deleted file mode 100644 index 58d7b2367..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/complete-ant-cmd.pl +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/perl
-#
-# Copyright (c) 2001 The Apache Software Foundation. All rights
-# reserved.
-#
-# A script to allow Bash or Z-Shell to complete an Ant command-line.
-#
-# To install for Bash 2.0 or better, add the following to ~/.bashrc:
-#
-# $ complete -C complete-ant-cmd ant build.sh
-#
-# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc:
-#
-# function ant_complete () {
-# local args_line args
-# read -l args_line
-# set -A args $args_line
-# set -A reply $(COMP_LINE=$args_line complete-ant-cmd ${args[1]} $1)
-# }
-# compctl -K ant_complete ant build.sh
-#
-# @author Mike Williams <mikew@cortexebusiness.com.au>
-
-my $cmdLine = $ENV{'COMP_LINE'};
-my $antCmd = $ARGV[0];
-my $word = $ARGV[1];
-
-my @completions;
-if ($word =~ /^-/) {
- list( restrict( $word, getArguments() ));
-} elsif ($cmdLine =~ /-(f|buildfile)\s+\S*$/) {
- list( getBuildFiles($word) );
-} else {
- list( restrict( $word, getTargets() ));
-}
-
-exit(0);
-
-sub list {
- for (@_) {
- print "$_\n";
- }
-}
-
-sub restrict {
- my ($word, @completions) = @_;
- grep( /^\Q$word\E/, @completions );
-}
-
-sub getArguments {
- qw(-buildfile -debug -emacs -f -find -help -listener -logfile
- -logger -projecthelp -quiet -verbose -version);
-}
-
-
-sub getBuildFiles {
- my ($word) = @_;
- grep( /\.xml$/, glob( "$word*" ));
-}
-
-sub getTargets {
-
- # Look for build-file
- my $buildFile = 'build.xml';
- if ($cmdLine =~ /-(f|buildfile)\s+(\S+)/) {
- $buildFile = $2;
- }
- return () unless (-f $buildFile);
-
- # Run "ant -projecthelp" to list targets. Keep a cache of results in a
- # cache-file.
- my $cacheFile = $buildFile;
- $cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|;
- if ((!-e $cacheFile) || (-M $buildFile) < (-M $cacheFile)) {
- open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n";
- open( HELP, "$antCmd -projecthelp -f '$buildFile'|" ) || return();
- my %targets;
- while( <HELP> ) {
- if (/^\s+(\S+)/) {
- $targets{$1}++;
- }
- }
- my @targets = sort keys %targets;
- for (@targets) { print CACHE "$_\n"; }
- return @targets;
- }
-
- # Read the target-cache
- open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n";
- my @targets;
- while (<CACHE>) {
- chop;
- s/\r$//; # for Cygwin
- push( @targets, $_ );
- }
- close( CACHE );
- @targets;
-
-}
-
-
-
diff --git a/build/tools/jakarta-ant-1.5.1/bin/lcp.bat b/build/tools/jakarta-ant-1.5.1/bin/lcp.bat deleted file mode 100644 index 9b1a9b5a0..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/lcp.bat +++ /dev/null @@ -1,16 +0,0 @@ -REM Copyright (c) 2001-2002 The Apache Software Foundation. All rights
-REM reserved.
-
-set _CLASSPATHCOMPONENT=%1
-if ""%1""=="""" goto gotAllArgs
-shift
-
-:argCheck
-if ""%1""=="""" goto gotAllArgs
-set _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1
-shift
-goto argCheck
-
-:gotAllArgs
-set LOCALCLASSPATH=%_CLASSPATHCOMPONENT%;%LOCALCLASSPATH%
-
diff --git a/build/tools/jakarta-ant-1.5.1/bin/runant.pl b/build/tools/jakarta-ant-1.5.1/bin/runant.pl deleted file mode 100644 index a8c0c08cf..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/runant.pl +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/perl
-#
-# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
-# reserved.
-#
-#######################################################################
-#
-# 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 "";
-
-my $onnetware = 0;
-if ($^O eq "NetWare")
-{
- $onnetware = 1;
-}
-
-#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, dos, and netware. Add extra tests here as needed.
-my $s=":";
-if(($^O eq "MSWin32") || ($^O eq "dos") || ($^O eq "cygwin") ||
- ($onnetware == 1))
- {
- $s=";";
- }
-
-#build up standard classpath
-my $localpath=$ENV{CLASSPATH};
-if ($localpath eq "")
- {
- print "warning: no initial classpath\n" if ($debug);
- $localpath="";
- }
-if ($onnetware == 1)
-{
-# avoid building a command line bigger than 512 characters - make localpath
-# only include the "extra" stuff, and add in the system classpath as an expanded
-# variable.
- $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";
- }
-
-#set JVM options and Ant arguments, if any
-my @ANT_OPTS=split(" ", $ENV{ANT_OPTS});
-my @ANT_ARGS=split(" ", $ENV{ANT_ARGS});
-
-#jikes
-if($ENV{JIKESPATH} ne "")
- {
- push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}";
- }
-
-#construct arguments to java
-my @ARGS;
-if ($onnetware == 1)
-{
-# make classpath literally $CLASSPATH; and then the contents of $localpath
-# this is to avoid pushing us over the 512 character limit
-# even skip the ; - that is already in $localpath
- push @ARGS, "-classpath", "\$CLASSPATH$localpath";
-}
-else
-{
- push @ARGS, "-classpath", "$localpath";
-}
-push @ARGS, "-Dant.home=$HOME";
-push @ARGS, @ANT_OPTS;
-push @ARGS, "org.apache.tools.ant.Main", @ANT_ARGS;
-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;
- }
diff --git a/build/tools/jakarta-ant-1.5.1/bin/runant.py b/build/tools/jakarta-ant-1.5.1/bin/runant.py deleted file mode 100644 index f014fa6d9..000000000 --- a/build/tools/jakarta-ant-1.5.1/bin/runant.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/python
-"""
-
- runant.py
-
- This script is a translation of the runant.pl written by Steve Loughran.
- It runs ant with/out arguments, it should be quite portable (thanks to
- the python os library)
- This script has been tested with Python2.0/Win2K
-
- Copyright (c) 2001 The Apache Software Foundation. All rights
- reserved.
-
- created: 2001-04-11
- author: Pierre Dittgen pierre.dittgen@criltelecom.com
-
- Assumptions:
-
- - the "java" executable/script is on the command path
- - ANT_HOME has been set
-"""
-import os, os.path, string, sys
-
-# Change it to 1 to get extra debug information
-debug = 0
-
-#######################################################################
-#
-# check to make sure environment is setup
-#
-if not os.environ.has_key('ANT_HOME'):
- print '\n\nANT_HOME *MUST* be set!\n\n'
- sys.exit(1)
-else:
- ANT_HOME = os.environ['ANT_HOME']
-
-if not os.environ.has_key('JAVACMD'):
- JAVACMD = 'java'
-else:
- JAVACMD = os.environ['JAVACMD']
-
-# Sets the separator char for CLASSPATH
-SEPARATOR = ':'
-if os.name == 'dos' or os.name == 'nt':
- SEPARATOR = ';'
-
-# Build up standard classpath
-localpath = ''
-if os.environ.has_key('CLASSPATH'):
- localpath = os.environ['CLASSPATH']
-else:
- if debug:
- print 'Warning: no initial classpath\n'
-
-# Add jar files
-LIBDIR = os.path.join(ANT_HOME, 'lib')
-jarfiles = []
-for file in os.listdir(LIBDIR):
- if file[-4:] == '.jar':
- jarfiles.append(os.path.join(LIBDIR,file))
-if debug:
- print 'Jar files:'
- for jar in jarfiles:
- print jar
-localpath = localpath + SEPARATOR + string.join(jarfiles, SEPARATOR)
-
-# If JAVA_HOME is defined, look for tools.jar & classes.zip
-# and add to classpath
-if os.environ.has_key('JAVA_HOME') and os.environ['JAVA_HOME'] != '':
- JAVA_HOME = os.environ['JAVA_HOME']
- TOOLS = os.path.join(JAVA_HOME, os.path.join('lib', 'tools.jar'))
- if os.path.exists(TOOLS):
- localpath = localpath + SEPARATOR + TOOLS
- CLASSES = os.path.join(JAVA_HOME, os.path.join('lib', 'classes.zip'))
- if os.path.exists(CLASSES):
- localpath = localpath + SEPARATOR + 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
-ANT_OPTS = []
-if os.environ.has_key('ANT_OPTS'):
- ANT_OPTS = string.split(os.environ['ANT_OPTS'])
-if os.environ.has_key('JIKESPATH'):
- ANT_OPTS.append('-Djikes.class.path=' + os.environ['JIKESPATH'])
-
-# Builds the commandline
-cmdline = '%s -classpath %s -Dant.home=%s %s org.apache.tools.ant.Main %s' \
- % (JAVACMD, localpath, ANT_HOME, string.join(ANT_OPTS,' '), \
- string.join(sys.argv[1:], ' '))
-
-if debug:
- print '\n%s\n\n' % (cmdline)
-
-# Run the biniou!
-os.system(cmdline)
diff --git a/build/tools/jakarta-ant-1.5.1/etc/changelog.xsl b/build/tools/jakarta-ant-1.5.1/etc/changelog.xsl deleted file mode 100644 index 46828ccbd..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/changelog.xsl +++ /dev/null @@ -1,184 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> - -<xsl:stylesheet - xmlns:xsl='http://www.w3.org/1999/XSL/Transform' - version='1.0'> - -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> - <xsl:param name="title"/> - <xsl:param name="module"/> - <xsl:param name="cvsweb"/> - - <xsl:output method="html" indent="yes" encoding="US-ASCII" - doctype-public="-//W3C//DTD HTML 4.01//EN" - doctype-system="http://www.w3.org/TR/html401/strict.dtd"/> - - <!-- Copy standard document elements. Elements that - should be ignored must be filtered by apply-templates - tags. --> - <xsl:template match="*"> - <xsl:copy> - <xsl:copy-of select="attribute::*[. != '']"/> - <xsl:apply-templates/> - </xsl:copy> - </xsl:template> - - <xsl:template match="changelog"> - <html> - <head> - <title><xsl:value-of select="$title"/></title> - <style type="text/css"> - body, p { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 80%; - color: #000000; - background-color: #ffffff; - } - tr, td { - font-family: Verdana, Arial, Helvetica, sans-serif; - background: #eeeee0; - } - td { - padding-left: 20px; - } - .dateAndAuthor { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-weight: bold; - text-align: left; - background: #a6caf0; - padding-left: 3px; - } - a { - color: #000000; - } - pre { - font-weight: bold; - } - </style> - </head> - <body> - <h1> - <a name="top"><xsl:value-of select="$title"/></a> - </h1> - <p style="text-align: right">Designed for use with <a href="http://jakarta.apache.org/ant/">Ant</a>.</p> - <hr/> - <table border="0" width="100%" cellspacing="1"> - - <xsl:apply-templates select=".//entry"> - <xsl:sort select="date" data-type="text" order="descending"/> - <xsl:sort select="time" data-type="text" order="descending"/> - </xsl:apply-templates> - - </table> - - </body> - </html> - </xsl:template> - - <xsl:template match="entry"> - <tr> - <td class="dateAndAuthor"> - <xsl:value-of select="date"/><xsl:text> </xsl:text><xsl:value-of select="time"/><xsl:text> </xsl:text><xsl:value-of select="author"/> - </td> - </tr> - <tr> - <td> - <pre> -<xsl:apply-templates select="msg"/></pre> - <ul> - <xsl:apply-templates select="file"/> - </ul> - </td> - </tr> - </xsl:template> - - <xsl:template match="date"> - <i><xsl:value-of select="."/></i> - </xsl:template> - - <xsl:template match="time"> - <i><xsl:value-of select="."/></i> - </xsl:template> - - <xsl:template match="author"> - <i> - <a> - <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute> - <xsl:value-of select="."/></a> - </i> - </xsl:template> - - <xsl:template match="file"> - <li> - <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"/></xsl:attribute> - </xsl:otherwise> - </xsl:choose> - <xsl:value-of select="name" /> (<xsl:value-of select="revision"/>)</a> - </li> - </xsl:template> - - <!-- Any elements within a msg are processed, - so that we can preserve HTML tags. --> - <xsl:template match="msg"> - <xsl:apply-templates/> - </xsl:template> - -</xsl:stylesheet> diff --git a/build/tools/jakarta-ant-1.5.1/etc/checkstyle-frames.xsl b/build/tools/jakarta-ant-1.5.1/etc/checkstyle-frames.xsl deleted file mode 100644 index 104af5c7e..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/checkstyle-frames.xsl +++ /dev/null @@ -1,324 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" - xmlns:lxslt="http://xml.apache.org/xslt" - xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" - extension-element-prefixes="redirect"> - -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> - - <xsl:output method="html" indent="yes" encoding="US-ASCII"/> - <xsl:decimal-format decimal-separator="." grouping-separator="," /> - - <xsl:param name="output.dir" select="'.'"/> - - <xsl:template match="checkstyle"> - <!-- create the index.html --> - <redirect:write file="{$output.dir}/index.html"> - <xsl:call-template name="index.html"/> - </redirect:write> - - <!-- create the stylesheet.css --> - <redirect:write file="{$output.dir}/stylesheet.css"> - <xsl:call-template name="stylesheet.css"/> - </redirect:write> - - <!-- create the overview-summary.html at the root --> - <redirect:write file="{$output.dir}/overview-frame.html"> - <xsl:apply-templates select="." mode="overview"/> - </redirect:write> - - <!-- create the all-classes.html at the root --> - <redirect:write file="{$output.dir}/allclasses-frame.html"> - <xsl:apply-templates select="." mode="all.classes"/> - </redirect:write> - - <!-- process all files --> - <xsl:apply-templates select="file"/> - </xsl:template> - - <xsl:template name="index.html"> - <html> - <head> - <title>CheckStyle Audit</title> - </head> - <frameset cols="20%,80%"> - <frame src="allclasses-frame.html" name="fileListFrame"/> - <frame src="overview-frame.html" name="fileFrame"/> - </frameset> - <noframes> - <h2>Frame Alert</h2> - <p> - This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. - </p> - </noframes> - </html> - </xsl:template> - - <xsl:template name="pageHeader"> - <table border="0" cellpadding="0" cellspacing="0" width="100%"> - <tr> - <td class="text-align:right"><h2>CheckStyle Audit</h2></td> - </tr> - <tr> - <td class="text-align:right">Designed for use with <a href='http://checkstyle.sourceforge.net/'>CheckStyle</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td> - </tr> - </table> - <hr size="1"/> - </xsl:template> - - <xsl:template match="checkstyle" mode="overview"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <!-- page header --> - <xsl:call-template name="pageHeader"/> - - <!-- Summary part --> - <xsl:apply-templates select="." mode="summary"/> - <hr size="1" width="100%" align="left"/> - - <!-- File list part --> - <xsl:apply-templates select="." mode="filelist"/> - </body> - </html> - </xsl:template> - - <xsl:template name="stylesheet.css"> - .bannercell { - border: 0px; - padding: 0px; - } - body { - margin-left: 10; - margin-right: 10; - font:normal 80% arial,helvetica,sanserif; - background-color:#FFFFFF; - color:#000000; - } - .a td { - background: #efefef; - } - .b td { - background: #fff; - } - th, td { - text-align: left; - vertical-align: top; - } - th { - font-weight:bold; - background: #ccc; - color: black; - } - table, th, td { - font-size:100%; - border: none - } - table.log tr td, tr th { - - } - h2 { - font-weight:bold; - font-size:140%; - margin-bottom: 5; - } - h3 { - font-size:100%; - font-weight:bold; - background: #525D76; - color: white; - text-decoration: none; - padding: 5px; - margin-right: 2px; - margin-left: 2px; - margin-bottom: 0; - } - </xsl:template> - - <!-- - Creates an all-classes.html file that contains a link to all files. - --> - <xsl:template match="checkstyle" mode="all.classes"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <h2>Files</h2> - <p> - <table width="100%"> - <!-- For each file create its part --> - <xsl:apply-templates select="file" mode="all.classes"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </p> - </body> - </html> - </xsl:template> - - <xsl:template match="checkstyle" mode="filelist"> - <h3>Files</h3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th>Name</th> - <th>Errors</th> - </tr> - <xsl:apply-templates select="file" mode="filelist"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </xsl:template> - - <xsl:template match="file" mode="filelist"> - <tr> - <xsl:call-template name="alternated-row"/> - <td nowrap="nowrap"> - <a> - <xsl:attribute name="href"> - <xsl:text>files/</xsl:text><xsl:value-of select="@name"/><xsl:text>.html</xsl:text> - </xsl:attribute> - <xsl:value-of select="@name"/> - </a> - </td> - <td><xsl:value-of select="count(error)"/></td> - </tr> - </xsl:template> - - <xsl:template match="file" mode="all.classes"> - <tr> - <td nowrap="nowrap"> - <a target="fileFrame"> - <xsl:attribute name="href"> - <xsl:text>files/</xsl:text><xsl:value-of select="@name"/><xsl:text>.html</xsl:text> - </xsl:attribute> - <xsl:value-of select="@name"/> - </a> - </td> - </tr> - </xsl:template> - - <!-- - transform string like a/b/c to ../../../ - @param path the path to transform into a descending directory path - --> - <xsl:template name="path"> - <xsl:param name="path"/> - <xsl:if test="contains($path,'/')"> - <xsl:text>../</xsl:text> - <xsl:call-template name="path"> - <xsl:with-param name="path"><xsl:value-of select="substring-after($path,'/')"/></xsl:with-param> - </xsl:call-template> - </xsl:if> - <xsl:if test="not(contains($path,'/')) and not($path = '')"> - <xsl:text>../</xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template match="file"> - <redirect:write file="{$output.dir}/files/{@name}.html"> - <html> - <head> - <link rel="stylesheet" type="text/css"> - <xsl:attribute name="href"><xsl:call-template name="path"><xsl:with-param name="path" select="@name"/></xsl:call-template><xsl:text>stylesheet.css</xsl:text></xsl:attribute> - </link> - </head> - <body> - <xsl:call-template name="pageHeader"/> - <h3>File <xsl:value-of select="@name"/></h3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th>Error Description</th> - <th>Line</th> - </tr> - <xsl:for-each select="error"> - <tr> - <xsl:call-template name="alternated-row"/> - <td><xsl:value-of select="@message"/></td> - <td><xsl:value-of select="@line"/></td> - </tr> - </xsl:for-each> - </table> - </body> - </html> - </redirect:write> - </xsl:template> - - <xsl:template match="checkstyle" mode="summary"> - <h3>Summary</h3> - <xsl:variable name="fileCount" select="count(file)"/> - <xsl:variable name="errorCount" select="count(file/error)"/> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th>Files</th> - <th>Errors</th> - </tr> - <tr> - <xsl:call-template name="alternated-row"/> - <td><xsl:value-of select="$fileCount"/></td> - <td><xsl:value-of select="$errorCount"/></td> - </tr> - </table> - </xsl:template> - - <xsl:template name="alternated-row"> - <xsl:attribute name="class"> - <xsl:if test="position() mod 2 = 1">a</xsl:if> - <xsl:if test="position() mod 2 = 0">b</xsl:if> - </xsl:attribute> - </xsl:template> -</xsl:stylesheet> - diff --git a/build/tools/jakarta-ant-1.5.1/etc/coverage-frames.xsl b/build/tools/jakarta-ant-1.5.1/etc/coverage-frames.xsl deleted file mode 100644 index 3881f1aaf..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/coverage-frames.xsl +++ /dev/null @@ -1,533 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" - xmlns:lxslt="http://xml.apache.org/xslt" - xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" - extension-element-prefixes="redirect"> -<xsl:output method="html" indent="yes"/> -<xsl:decimal-format decimal-separator="." grouping-separator="," /> -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2001-2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> - -<!-- - - Sample stylesheet to be used with JProbe 3.0 XML output. - - It creates a set of HTML files a la javadoc where you can browse easily - through all packages and classes. - - It is best used with JProbe Coverage Ant task that gives you the benefit - of a reference classpath so that you have the list of classes/methods - that are not used at all in a given classpath. - - @author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/> - ---> - -<!-- default output directory is current directory --> -<xsl:param name="output.dir" select="'.'"/> - -<!-- ====================================================================== - Root element - ======================================================================= --> -<xsl:template match="/snapshot"> - <!-- create the index.html --> - <redirect:write file="{$output.dir}/index.html"> - <xsl:call-template name="index.html"/> - </redirect:write> - - <!-- create the stylesheet.css --> - <redirect:write file="{$output.dir}/stylesheet.css"> - <xsl:call-template name="stylesheet.css"/> - </redirect:write> - - <!-- create the overview-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-summary.html"> - <xsl:apply-templates select="." mode="overview.packages"/> - </redirect:write> - - <!-- create the all-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-frame.html"> - <xsl:apply-templates select="." mode="all.packages"/> - </redirect:write> - - <!-- create the all-classes.html at the root --> - <redirect:write file="{$output.dir}/allclasses-frame.html"> - <xsl:apply-templates select="." mode="all.classes"/> - </redirect:write> - - <!-- process all packages --> - <xsl:apply-templates select="./package" mode="write"/> -</xsl:template> - -<!-- ======================================================================= - Frameset definition. Entry point for the report. - 3 frames: packageListFrame, classListFrame, classFrame - ======================================================================= --> -<xsl:template name="index.html"> -<html> - <head><title>Coverage Results.</title></head> - <frameset cols="20%,80%"> - <frameset rows="30%,70%"> - <frame src="overview-frame.html" name="packageListFrame"/> - <frame src="allclasses-frame.html" name="classListFrame"/> - </frameset> - <frame src="overview-summary.html" name="classFrame"/> - </frameset> - <noframes> - <h2>Frame Alert</h2> - <p> - This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. - </p> - </noframes> -</html> -</xsl:template> - -<!-- ======================================================================= - Stylesheet CSS used - ======================================================================= --> -<!-- this is the stylesheet css to use for nearly everything --> -<xsl:template name="stylesheet.css"> - .bannercell { - border: 0px; - padding: 0px; - } - body { - margin-left: 10; - margin-right: 10; - font:normal 80% arial,helvetica,sanserif; - background-color:#FFFFFF; - color:#000000; - } - .a td { - background: #efefef; - } - .b td { - background: #fff; - } - th, td { - text-align: left; - vertical-align: top; - } - th { - font-weight:bold; - background: #ccc; - color: black; - } - table, th, td { - font-size:100%; - border: none - } - table.log tr td, tr th { - - } - h2 { - font-weight:bold; - font-size:140%; - margin-bottom: 5; - } - h3 { - font-size:100%; - font-weight:bold; - background: #525D76; - color: white; - text-decoration: none; - padding: 5px; - margin-right: 2px; - margin-left: 2px; - margin-bottom: 0; - } -</xsl:template> - -<!-- ======================================================================= - List of all classes in all packages - This will be the first page in the classListFrame - ======================================================================= --> -<xsl:template match="snapshot" mode="all.classes"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"/> - </head> - <body> - <h2>Classes</h2> - <table width="100%"> - <xsl:for-each select="package/class"> - <xsl:sort select="@name"/> - <xsl:variable name="package.name" select="(ancestor::package)[last()]/@name"/> - <xsl:variable name="link"> - <xsl:if test="not($package.name='')"> - <xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text> - </xsl:if><xsl:value-of select="@name"/><xsl:text>.html</xsl:text> - </xsl:variable> - <tr> - <td nowrap="nowrap"> - <a target="classFrame" href="{$link}"><xsl:value-of select="@name"/></a> - </td> - </tr> - </xsl:for-each> - </table> - </body> - </html> -</xsl:template> - -<!-- list of all packages --> -<xsl:template match="snapshot" mode="all.packages"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"/> - </head> - <body> - <h2><a href="overview-summary.html" target="classFrame">Home</a></h2> - <h2>Packages</h2> - <table width="100%"> - <xsl:for-each select="package"> - <xsl:sort select="@name" order="ascending"/> - <tr> - <td nowrap="nowrap"> - <a href="{translate(@name,'.','/')}/package-summary.html" target="classFrame"> - <xsl:value-of select="@name"/> - </a> - </td> - </tr> - </xsl:for-each> - </table> - </body> - </html> -</xsl:template> - -<!-- overview of statistics in packages --> -<xsl:template match="snapshot" mode="overview.packages"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"/> - </head> - <body onload="open('allclasses-frame.html','classListFrame')"> - <xsl:call-template name="pageHeader"/> - <h3>Summary</h3> - <table class="log" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <!--th width="10%" nowrap="nowrap">Date</th> - <th width="10%" nowrap="nowrap">Elapsed time</th--> - <th width="10%" nowrap="nowrap">Reported Classes</th> - <th width="10%" nowrap="nowrap">Methods Hit</th> - <th width="10%" nowrap="nowrap">Lines Hit</th> - </tr> - <tr class="a"> - <!--td nowrap="nowrap"><xsl:value-of select="execution_log/@program_start"/></td> - <td><xsl:value-of select="format-number(execution_log/@elapsed_time div 1000,'0.0')"/>secs</td--> - <td><xsl:value-of select="count(package/class)"/></td> - <td><xsl:value-of select="format-number(cov.data/@hit_methods div cov.data/@total_methods,'0.0%')"/></td> - <td><xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/></td> - </tr> - </table> - <table border="0" width="100%"> - <tr> - <td style="text-align: justify;"> - To ensure accurate test runs on Java applications, developers need to know how much of - the code has been tested, and where to find any untested code. Coverage helps you - locate untested code, and measure precisely how much code has been exercised. - The result is a higher quality application in a shorter period of time. - <p/> - </td> - </tr> - </table> - - <h3>Packages</h3> - <table class="log" cellpadding="5" cellspacing="2" width="100%"> - <xsl:apply-templates select="package[1]" mode="stats.header"/> - <!-- display packages and sort them via their coverage rate --> - <xsl:for-each select="package"> - <xsl:sort data-type="number" select="cov.data/@hit_lines div cov.data/@total_lines"/> - <tr> - <xsl:call-template name="alternate-row"/> - <td><a href="{translate(@name,'.','/')}/package-summary.html"><xsl:value-of select="@name"/></a></td> - <td><xsl:value-of select="format-number(cov.data/@hit_methods div cov.data/@total_methods,'0.0%')"/></td> - <td><xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/></td> - </tr> - </xsl:for-each> - </table> - <xsl:call-template name="pageFooter"/> - </body> - </html> -</xsl:template> - -<!-- - detailed info for a package. It will output the list of classes -, the summary page, and the info for each class ---> -<xsl:template match="package" mode="write"> - <xsl:variable name="package.dir"> - <xsl:if test="not(@name = '')"><xsl:value-of select="translate(@name,'.','/')"/></xsl:if> - <xsl:if test="@name = ''">.</xsl:if> - </xsl:variable> - - <!-- create a classes-list.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-frame.html"> - <xsl:apply-templates select="." mode="classes.list"/> - </redirect:write> - - <!-- create a package-summary.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-summary.html"> - <xsl:apply-templates select="." mode="package.summary"/> - </redirect:write> - - <!-- for each class, creates a @name.html --> - <xsl:for-each select="class"> - <redirect:write file="{$output.dir}/{$package.dir}/{@name}.html"> - <xsl:apply-templates select="." mode="class.details"/> - </redirect:write> - </xsl:for-each> -</xsl:template> - -<!-- list of classes in a package --> -<xsl:template match="package" mode="classes.list"> - <html> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="@name"/> - </xsl:call-template> - </HEAD> - <BODY> - <table width="100%"> - <tr> - <td nowrap="nowrap"> - <H2><a href="package-summary.html" target="classFrame"><xsl:value-of select="@name"/></a></H2> - </td> - </tr> - </table> - - <H2>Classes</H2> - <TABLE WIDTH="100%"> - <xsl:for-each select="class"> - <xsl:sort select="@name"/> - <tr> - <td nowrap="nowrap"> - <a href="{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a> - </td> - </tr> - </xsl:for-each> - </TABLE> - </BODY> - </html> -</xsl:template> - -<!-- summary of a package --> -<xsl:template match="package" mode="package.summary"> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="@name"/> - </xsl:call-template> - </HEAD> - <!-- when loading this package, it will open the classes into the frame --> - <BODY onload="open('package-frame.html','classListFrame')"> - <xsl:call-template name="pageHeader"/> - <h3>Package <xsl:value-of select="@name"/></h3> - <table class="log" cellpadding="5" cellspacing="2" width="100%"> - <xsl:apply-templates select="." mode="stats.header"/> - <xsl:apply-templates select="." mode="stats"/> - </table> - - <xsl:if test="count(class) > 0"> - <H3>Classes</H3> - <table class="log" cellpadding="5" cellspacing="2" width="100%"> - <xsl:apply-templates select="." mode="stats.header"/> - <xsl:apply-templates select="class" mode="stats"> - <xsl:sort data-type="number" select="cov.data/@hit_lines div cov.data/@total_lines"/> - </xsl:apply-templates> - </table> - </xsl:if> - <xsl:call-template name="pageFooter"/> - </BODY> - </HTML> -</xsl:template> - -<!-- details of a class --> -<xsl:template match="class" mode="class.details"> - <xsl:variable name="package.name" select="(ancestor::package)[last()]/@name"/> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$package.name"/> - </xsl:call-template> - </HEAD> - <BODY> - <xsl:call-template name="pageHeader"/> - <H3>Class <xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></H3> - - <!-- class summary --> - <table class="log" cellpadding="5" cellspacing="2" width="100%"> - <xsl:apply-templates select="." mode="stats.header"/> - <xsl:apply-templates select="." mode="stats"/> - </table> - - <!-- details of methods --> - <H3>Methods</H3> - <table class="log" cellpadding="5" cellspacing="2" width="100%"> - <xsl:apply-templates select="method[1]" mode="stats.header"/> - <xsl:apply-templates select="method" mode="stats"> - <xsl:sort data-type="number" select="cov.data/@hit_lines div cov.data/@total_lines"/> - </xsl:apply-templates> - </table> - <xsl:call-template name="pageFooter"/> - </BODY> - </HTML> - -</xsl:template> - -<!-- Page Header --> -<xsl:template name="pageHeader"> - <!-- jakarta logo --> - <table border="0" cellpadding="0" cellspacing="0" width="100%"> - <tr> - <td class="bannercell" rowspan="2"> - <a href="http://jakarta.apache.org/"> - <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/> - </a> - </td> - <td style="text-align:right"><h2>Source Code Coverage</h2></td> - </tr> - <tr> - <td style="text-align:right">Designed for use with <a href='http://www.sitraka.com/jprobe'>Sitraka JProbe</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td> - </tr> - </table> - <hr size="1"/> -</xsl:template> - -<!-- Page Footer --> -<xsl:template name="pageFooter"> - <table width="100%"> - <tr><td><hr noshade="yes" size="1"/></td></tr> - <tr><td> - <div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2001, Apache Software Foundation - </em></font></div> - </td></tr> - </table> -</xsl:template> - - -<xsl:template name="table.header"> - <tr> - <th width="80%">Name</th> - <th width="10%" nowrap="nowrap">Methods Hit</th> - <th width="10%" nowrap="nowrap">Lines Hit</th> - </tr> -</xsl:template> - -<xsl:template match="method" mode="stats.header"> - <tr> - <th width="90%">Name</th> - <th width="10%" nowrap="nowrap">Lines Hit</th> - </tr> -</xsl:template> -<xsl:template match="method" mode="stats"> - <tr> - <xsl:call-template name="alternate-row"/> - <td><xsl:value-of select="@name"/></td> - <td> - <xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/> - </td> - </tr> -</xsl:template> - -<xsl:template match="package|class" mode="stats.header"> - <tr> - <th width="80%">Name</th> - <th width="10%" nowrap="nowrap">Methods Hit</th> - <th width="10%" nowrap="nowrap">Lines Hit</th> - </tr> -</xsl:template> -<xsl:template match="package|class" mode="stats"> - <tr> - <xsl:call-template name="alternate-row"/> - <td><xsl:value-of select="@name"/></td> - <td><xsl:value-of select="format-number(cov.data/@hit_methods div cov.data/@total_methods,'0.0%')"/></td> - <td><xsl:value-of select="format-number(cov.data/@hit_lines div cov.data/@total_lines,'0.0%')"/></td> - </tr> -</xsl:template> - -<!-- - transform string like a.b.c to ../../../ - @param path the path to transform into a descending directory path ---> -<xsl:template name="path"> - <xsl:param name="path"/> - <xsl:if test="contains($path,'.')"> - <xsl:text>../</xsl:text> - <xsl:call-template name="path"> - <xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param> - </xsl:call-template> - </xsl:if> - <xsl:if test="not(contains($path,'.')) and not($path = '')"> - <xsl:text>../</xsl:text> - </xsl:if> -</xsl:template> - - -<!-- create the link to the stylesheet based on the package name --> -<xsl:template name="create.stylesheet.link"> - <xsl:param name="package.name"/> - <LINK REL ="stylesheet" TYPE="text/css" TITLE="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></LINK> -</xsl:template> - -<!-- alternated row style --> -<xsl:template name="alternate-row"> -<xsl:attribute name="class"> - <xsl:if test="position() mod 2 = 1">a</xsl:if> - <xsl:if test="position() mod 2 = 0">b</xsl:if> -</xsl:attribute> -</xsl:template> - -</xsl:stylesheet> - - diff --git a/build/tools/jakarta-ant-1.5.1/etc/jdepend-frames.xsl b/build/tools/jakarta-ant-1.5.1/etc/jdepend-frames.xsl deleted file mode 100644 index 5c73a11d4..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/jdepend-frames.xsl +++ /dev/null @@ -1,522 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" - xmlns:lxslt="http://xml.apache.org/xslt" - xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" - extension-element-prefixes="redirect"> -<xsl:output method="html" indent="yes" encoding="US-ASCII"/> -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> -<!-- - - Sample stylesheet to be used with JDepend XML output. - - It creates a set of HTML files a la javadoc where you can browse easily - through all packages and classes. - - @author <a href="mailto:jtulley@novell.com">Jeff Tulley</a> - - --> -<xsl:param name="output.dir" select="'.'"/> - -<xsl:template match="JDepend"> - <!-- create the index.html --> - <redirect:write file="{$output.dir}/index.html"> - <xsl:call-template name="index.html"/> - </redirect:write> - - <!-- create the stylesheet.css --> - <redirect:write file="{$output.dir}/stylesheet.css"> - <xsl:call-template name="stylesheet.css"/> - </redirect:write> - - <!-- create the overview-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-summary.html"> - <xsl:apply-templates select="." mode="overview.packages"/> - </redirect:write> - - <!-- create the overview-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-packages.html"> - <xsl:apply-templates select="." mode="packages.details"/> - </redirect:write> - - <!-- create the overview-cycles.html at the root --> - <redirect:write file="{$output.dir}/overview-cycles.html"> - <xsl:apply-templates select="." mode="cycles.details"/> - </redirect:write> - - <!-- create the overview-cycles.html at the root --> - <redirect:write file="{$output.dir}/overview-explanations.html"> - <xsl:apply-templates select="." mode="explanations"/> - </redirect:write> - - <!-- create the all-packages.html at the root --> - <redirect:write file="{$output.dir}/all-packages.html"> - <xsl:apply-templates select="Packages" mode="all.packages"/> - </redirect:write> - - <!-- create the all-cycles.html at the root --> - <redirect:write file="{$output.dir}/all-cycles.html"> - <xsl:apply-templates select="Cycles" mode="all.cycles"/> - </redirect:write> -</xsl:template> - - -<xsl:template name="index.html"> -<html> - <head> - <title>JDepend Analysis</title> - </head> - <frameset cols="20%,80%"> - <frameset rows="30%,70%"> - <frame src="all-packages.html" name="packageListFrame"/> - <frame src="all-cycles.html" name="classListFrame"/> - </frameset> - <frame src="overview-summary.html" name="classFrame"/> - </frameset> - <noframes> - <h2>Frame Alert</h2> - <p> - This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. - </p> - </noframes> -</html> -</xsl:template> - -<!-- this is the stylesheet css to use for nearly everything --> -<xsl:template name="stylesheet.css"> - <style type="text/css"> - body { - font:normal 68% verdana,arial,helvetica; - color:#000000; - } - table tr td, tr th { - font-size: 68%; - } - table.details tr th{ - font-weight: bold; - text-align:left; - background:#a6caf0; - } - table.details tr td{ - background:#eeeee0; - } - - p { - line-height:1.5em; - margin-top:0.5em; margin-bottom:1.0em; - margin-left:2em; - margin-right:2em; - } - h1 { - margin: 0px 0px 5px; font: 165% verdana,arial,helvetica - } - h2 { - margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica - } - h3 { - margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica - } - h4 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h5 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h6 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - .Error { - font-weight:bold; color:red; - } - .Failure { - font-weight:bold; color:purple; - } - .Properties { - text-align:right; - } - </style> -</xsl:template> - -<xsl:template match="JDepend" mode="overview.packages"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <xsl:call-template name="pageHeader"/> - <table width="100%"><tr align="left"><h2>Summary</h2><td> - </td><td align="right"> - [summary] - [<a href="overview-packages.html">packages</a>] - [<a href="overview-cycles.html">cycles</a>] - [<a href="overview-explanations.html">explanations</a>] - </td></tr></table> - <table width="100%" class="details"> - <tr> - <th>Package</th> - <th>Total Classes</th> - <th><a href="overview-explanations.html#EXnumber">Abstract Classes</a></th> - <th><a href="overview-explanations.html#EXnumber">Concrete Classes</a></th> - <th><a href="overview-explanations.html#EXafferent">Afferent Couplings</a></th> - <th><a href="overview-explanations.html#EXefferent">Efferent Couplings</a></th> - <th><a href="overview-explanations.html#EXabstractness">Abstractness</a></th> - <th><a href="overview-explanations.html#EXinstability">Instability</a></th> - <th><a href="overview-explanations.html#EXdistance">Distance</a></th> - - </tr> - <xsl:for-each select="./Packages/Package"> - <xsl:if test="count(error) = 0"> - <tr> - <td align="left"> - <a> - <xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="@name"/> - </xsl:attribute> - <xsl:value-of select="@name"/> - </a> - </td> - <td align="right"><xsl:value-of select="Stats/TotalClasses"/></td> - <td align="right"><xsl:value-of select="Stats/AbstractClasses"/></td> - <td align="right"><xsl:value-of select="Stats/ConcreteClasses"/></td> - <td align="right"><xsl:value-of select="Stats/Ca"/></td> - <td align="right"><xsl:value-of select="Stats/Ce"/></td> - <td align="right"><xsl:value-of select="Stats/A"/></td> - <td align="right"><xsl:value-of select="Stats/I"/></td> - <td align="right"><xsl:value-of select="Stats/D"/></td> - </tr> - </xsl:if> - </xsl:for-each> - <xsl:for-each select="./Packages/Package"> - <xsl:if test="count(error) > 0"> - <tr> - <td align="left"> - <xsl:value-of select="@name"/> - </td> - <td align="left" colspan="8"><xsl:value-of select="error"/></td> - </tr> - </xsl:if> - </xsl:for-each> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="JDepend" mode="packages.details"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <xsl:call-template name="pageHeader"/> - <table width="100%"><tr align="left"><h2>Packages</h2><td> - </td><td align="right"> - [<a href="overview-summary.html">summary</a>] - [packages] - [<a href="overview-cycles.html">cycles</a>] - [<a href="overview-explanations.html">explanations</a>] - </td></tr></table> - - <xsl:for-each select="./Packages/Package"> - <xsl:if test="count(error) = 0"> - <h3><a><xsl:attribute name="name">PK<xsl:value-of select="@name"/></xsl:attribute> - <xsl:value-of select="@name"/></a></h3> - - <table width="100%"><tr> - <td><a href="overview-explanations.html#EXafferent">Afferent Couplings</a>: <xsl:value-of select="Stats/Ca"/></td> - <td><a href="overview-explanations.html#EXefferent">Efferent Couplings</a>: <xsl:value-of select="Stats/Ce"/></td> - <td><a href="overview-explanations.html#EXabstractness">Abstractness</a>: <xsl:value-of select="Stats/A"/></td> - <td><a href="overview-explanations.html#EXinstability">Instability</a>: <xsl:value-of select="Stats/I"/></td> - <td><a href="overview-explanations.html#EXdistance">Distance</a>: <xsl:value-of select="Stats/D"/></td> - </tr></table> - - <table width="100%" class="details"> - <tr> - <th>Abstract Classes</th> - <th>Concrete Classes</th> - <th>Used by Packages</th> - <th>Uses Packages</th> - </tr> - <tr> - <td valign="top" width="25%"> - <xsl:if test="count(AbstractClasses/Class)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="AbstractClasses/Class"> - <xsl:value-of select="node()"/><br/> - </xsl:for-each> - </td> - <td valign="top" width="25%"> - <xsl:if test="count(ConcreteClasses/Class)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="ConcreteClasses/Class"> - <xsl:value-of select="node()"/><br/> - </xsl:for-each> - </td> - <td valign="top" width="25%"> - <xsl:if test="count(UsedBy/Package)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="UsedBy/Package"> - <a> - <xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="node()"/></xsl:attribute> - <xsl:value-of select="node()"/> - </a><br/> - </xsl:for-each> - </td> - <td valign="top" width="25%"> - <xsl:if test="count(DependsUpon/Package)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="DependsUpon/Package"> - <a> - <xsl:attribute name="href">overview-packages.html#PK<xsl:value-of select="node()"/></xsl:attribute> - <xsl:value-of select="node()"/> - </a><br/> - </xsl:for-each> - </td> - </tr> - </table> - </xsl:if> - </xsl:for-each> - <!-- this is often a long listing; provide a lower navigation table also --> - <table width="100%"><tr align="left"><td></td><td align="right"> - [<a href="overview-summary.html">summary</a>] - [packages] - [<a href="overview-cycles.html">cycles</a>] - [<a href="overview-explanations.html">explanations</a>] - </td></tr></table> - </body> - </html> -</xsl:template> - -<xsl:template match="JDepend" mode="cycles.details"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <xsl:call-template name="pageHeader"/> - <table width="100%"><tr align="left"><h2>Cycles</h2><td> - </td><td align="right"> - [<a href="overview-summary.html">summary</a>] - [<a href="overview-packages.html">packages</a>] - [cycles] - [<a href="overview-explanations.html">explanations</a>] - </td></tr></table> - <!--<table width="100%"><tr><td> - </td><td align="right"> - [<a href="#NVsummary">summary</a>] - [<a href="#NVpackages">packages</a>] - [<a href="#NVcycles">cycles</a>] - [<a href="#NVexplanations">explanations</a>] - </td></tr></table> --> - - <xsl:if test="count(Cycles/Package) = 0"> - <p>There are no cyclic dependancies.</p> - </xsl:if> - <xsl:for-each select="Cycles/Package"> - <h3><a><xsl:attribute name="name">#CY<xsl:value-of select="@Name"/></xsl:attribute><xsl:value-of select="@Name"/></a></h3><p> - <xsl:for-each select="Package"> - <xsl:value-of select="."/><br/> - </xsl:for-each></p> - </xsl:for-each> - <!-- this is often a long listing; provide a lower navigation table also --> - <table width="100%"><tr align="left"><td></td><td align="right"> - [<a href="overview-summary.html">summary</a>] - [<a href="overview-packages.html">packages</a>] - [cycles] - [<a href="overview-explanations.html">explanations</a>] - </td></tr></table> - </body> - </html> -</xsl:template> - -<xsl:template match="JDepend" mode="explanations"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <xsl:call-template name="pageHeader"/> - - <table width="100%"><tr align="left"><h2>Explanations</h2><td> - </td><td align="right"> - [<a href="overview-summary.html">summary</a>] - [<a href="overview-packages.html">packages</a>] - [<a href="overview-cycles.html">cycles</a>] - [explanations] - </td></tr></table> - - <p>The following explanations are for quick reference and are lifted directly from the original <a href="http://www.clarkware.com/software/JDepend.html">JDepend documentation</a>.</p> - - <h3><a name="EXnumber">Number of Classes</a></h3> - <p>The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.</p> - <h3><a name="EXafferent">Afferent Couplings</a></h3> - <p>The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. </p> - <h3><a name="EXefferent">Efferent Couplings</a></h3> - <p>The number of other packages that the classes in the package depend upon is an indicator of the package's independence. </p> - <h3><a name="EXabstractness">Abstractness</a></h3> - <p>The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. </p> - <p>The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. </p> - <h3><a name="EXinstability">Instability</a></h3> - <p>The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. </p> - <p>The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. </p> - <h3><a name="EXdistance">Distance</a></h3> - <p>The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. </p> - <p>A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). </p> - <p>The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. </p> - - </body> - </html> -</xsl:template> - - -<!-- -Creates an html file that contains a link to all package links in overview-packages.html. - @bug there will be a problem here, I don't know yet how to handle unnamed package :( ---> -<xsl:template match="JDepend/Packages" mode="all.packages"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right"> - [<a href="overview-summary.html" target="classFrame">summary</a>] - [<a href="overview-packages.html" target="classFrame">packages</a>] - [<a href="overview-cycles.html" target="classFrame">cycles</a>] - [<a href="overview-explanations.html" target="classFrame">explanations</a>] - </td></tr></table> - <h2>Packages</h2> - <table width="100%"> - <xsl:apply-templates select="Package[count(error)=0]" mode="all.packages.link"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - <xsl:apply-templates select="Package[count(error) > 0]" mode="all.packages.nolink"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="JDepend/Packages/Package" mode="all.packages.link"> - <tr> - <td nowrap="nowrap"> - <a href="overview-packages.html#PK{@name}" target="classFrame"> - <xsl:value-of select="@name"/> - </a> - </td> - </tr> -</xsl:template> - -<!-- -I do not know JDepend enough to know if every error results in a non-analyzed package, -but that is how I am presenting it to the viewer. This may need to change. - @bug there will be a problem here, I don't know yet how to handle unnamed package :( ---> -<xsl:template match="JDepend/Packages/Package" mode="all.packages.nolink"> - <tr> - <td nowrap="nowrap"> - Not Analyzed: <xsl:value-of select="@name"/> - </td> - </tr> -</xsl:template> - -<!-- -Creates an html file that contains a link to all package links in overview-cycles.html. - @bug there will be a problem here, I don't know yet how to handle unnamed package :( ---> -<xsl:template match="JDepend/Cycles" mode="all.cycles"> - <html> - <head> - <link rel="stylesheet" type="text/css" href="stylesheet.css"/> - </head> - <body> - <table width="100%"><tr align="left"><td></td><td nowrap="nowrap" align="right"> - [<a href="overview-summary.html" target="classFrame">summary</a>] - [<a href="overview-packages.html" target="classFrame">packages</a>] - [<a href="overview-cycles.html" target="classFrame">cycles</a>] - [<a href="overview-explanations.html" target="classFrame">explanations</a>] - </td></tr></table> - <h2>Cycles</h2> - <table width="100%"> - <xsl:apply-templates select="Package" mode="all.cycles"> - <xsl:sort select="@Name"/> - </xsl:apply-templates> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="JDepend/Cycles/Package" mode="all.cycles"> - <tr> - <td nowrap="nowrap"> - <a href="overview-cycles.html#CY{@Name}" target="classFrame"><xsl:value-of select="@Name"/></a> - </td> - </tr> -</xsl:template> - -<!-- Page HEADER --> -<xsl:template name="pageHeader"> - <h1>JDepend Analysis</h1> - <table width="100%"> - <tr> - <td align="left"></td> - <td align="right">Designed for use with <a href="http://www.clarkware.com/software/JDepend.html">JDepend</a> and <a href="http://jakarta.apache.org">Ant</a>.</td> - </tr> - </table> - <hr size="1"/> -</xsl:template> - -</xsl:stylesheet> diff --git a/build/tools/jakarta-ant-1.5.1/etc/jdepend.xsl b/build/tools/jakarta-ant-1.5.1/etc/jdepend.xsl deleted file mode 100644 index 64d981f52..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/jdepend.xsl +++ /dev/null @@ -1,312 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> - -<xsl:output method="html" indent="yes" encoding="US-ASCII"/> - -<xsl:template match="JDepend"> - <html> - <head> - <title>JDepend Analysis</title> - - <style type="text/css"> - body { - font:normal 68% verdana,arial,helvetica; - color:#000000; - } - table tr td, tr th { - font-size: 68%; - } - table.details tr th{ - font-weight: bold; - text-align:left; - background:#a6caf0; - } - table.details tr td{ - background:#eeeee0; - } - - p { - line-height:1.5em; - margin-top:0.5em; margin-bottom:1.0em; - margin-left:2em; - margin-right:2em; - } - h1 { - margin: 0px 0px 5px; font: 165% verdana,arial,helvetica - } - h2 { - margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica - } - h3 { - margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica - } - h4 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h5 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h6 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - .Error { - font-weight:bold; color:red; - } - .Failure { - font-weight:bold; color:purple; - } - .Properties { - text-align:right; - } - </style> - - - </head> - <body> - <!--h1>JDepend Report</h1> - <ul> - <xsl:for-each select="./Packages/Package"> - <xsl:sort select="@name"/> - <li><xsl:value-of select="@name"/></li> - </xsl:for-each> - </ul--> - - <h1><a name="top">JDepend Analysis</a></h1> - <p align="right">Designed for use with <a href="http://www.clarkware.com/software/JDepend.html">JDepend</a> and <a href="http://jakarta.apache.org">Ant</a>.</p> - <hr size="2" /> - - <table width="100%"><tr><td> - <a name="NVsummary"><h2>Summary</h2></a> - </td><td align="right"> - [<a href="#NVsummary">summary</a>] - [<a href="#NVpackages">packages</a>] - [<a href="#NVcycles">cycles</a>] - [<a href="#NVexplanations">explanations</a>] - </td></tr></table> - - <table width="100%" class="details"> - <tr> - <th>Package</th> - <th>Total Classes</th> - <th><a href="#EXnumber">Abstract Classes</a></th> - <th><a href="#EXnumber">Concrete Classes</a></th> - <th><a href="#EXafferent">Afferent Couplings</a></th> - <th><a href="#EXefferent">Efferent Couplings</a></th> - <th><a href="#EXabstractness">Abstractness</a></th> - <th><a href="#EXinstability">Instability</a></th> - <th><a href="#EXdistance">Distance</a></th> - - </tr> - <xsl:for-each select="./Packages/Package"> - <xsl:if test="count(error) = 0"> - <tr> - <td align="left"> - <a> - <xsl:attribute name="href">#PK<xsl:value-of select="@name"/> - </xsl:attribute> - <xsl:value-of select="@name"/> - </a> - </td> - <td align="right"><xsl:value-of select="Stats/TotalClasses"/></td> - <td align="right"><xsl:value-of select="Stats/AbstractClasses"/></td> - <td align="right"><xsl:value-of select="Stats/ConcreteClasses"/></td> - <td align="right"><xsl:value-of select="Stats/Ca"/></td> - <td align="right"><xsl:value-of select="Stats/Ce"/></td> - <td align="right"><xsl:value-of select="Stats/A"/></td> - <td align="right"><xsl:value-of select="Stats/I"/></td> - <td align="right"><xsl:value-of select="Stats/D"/></td> - - - </tr> - </xsl:if> - </xsl:for-each> - <xsl:for-each select="./Packages/Package"> - <xsl:if test="count(error) > 0"> - <tr> - <td align="left"> - <xsl:value-of select="@name"/> - </td> - <td align="left" colspan="8"><xsl:value-of select="error"/></td> - </tr> - </xsl:if> - </xsl:for-each> - </table> - - <table width="100%"><tr><td> - <a name="NVpackages"><h2>Packages</h2></a> - </td><td align="right"> - [<a href="#NVsummary">summary</a>] - [<a href="#NVpackages">packages</a>] - [<a href="#NVcycles">cycles</a>] - [<a href="#NVexplanations">explanations</a>] - </td></tr></table> - - <xsl:for-each select="./Packages/Package"> - <xsl:if test="count(error) = 0"> - <h3><a><xsl:attribute name="name">PK<xsl:value-of select="@name"/></xsl:attribute> - <xsl:value-of select="@name"/></a></h3> - - <table width="100%"><tr> - <td><a href="#EXafferent">Afferent Couplings</a>: <xsl:value-of select="Stats/Ca"/></td> - <td><a href="#EXefferent">Efferent Couplings</a>: <xsl:value-of select="Stats/Ce"/></td> - <td><a href="#EXabstractness">Abstractness</a>: <xsl:value-of select="Stats/A"/></td> - <td><a href="#EXinstability">Instability</a>: <xsl:value-of select="Stats/I"/></td> - <td><a href="#EXdistance">Distance</a>: <xsl:value-of select="Stats/D"/></td> - </tr></table> - - <table width="100%" class="details"> - <tr> - <th>Abstract Classes</th> - <th>Concrete Classes</th> - <th>Used by Packages</th> - <th>Uses Packages</th> - </tr> - <tr> - <td valign="top" width="25%"> - <xsl:if test="count(AbstractClasses/Class)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="AbstractClasses/Class"> - <xsl:value-of select="node()"/><br/> - </xsl:for-each> - </td> - <td valign="top" width="25%"> - <xsl:if test="count(ConcreteClasses/Class)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="ConcreteClasses/Class"> - <xsl:value-of select="node()"/><br/> - </xsl:for-each> - </td> - <td valign="top" width="25%"> - <xsl:if test="count(UsedBy/Package)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="UsedBy/Package"> - <a> - <xsl:attribute name="href">#PK<xsl:value-of select="node()"/></xsl:attribute> - <xsl:value-of select="node()"/> - </a><br/> - </xsl:for-each> - </td> - <td valign="top" width="25%"> - <xsl:if test="count(DependsUpon/Package)=0"> - <i>None</i> - </xsl:if> - <xsl:for-each select="DependsUpon/Package"> - <a> - <xsl:attribute name="href">#PK<xsl:value-of select="node()"/></xsl:attribute> - <xsl:value-of select="node()"/> - </a><br/> - </xsl:for-each> - </td> - </tr> - </table> - </xsl:if> - </xsl:for-each> - - <table width="100%"><tr><td> - <a name="NVcycles"><h2>Cycles</h2></a> - </td><td align="right"> - [<a href="#NVsummary">summary</a>] - [<a href="#NVpackages">packages</a>] - [<a href="#NVcycles">cycles</a>] - [<a href="#NVexplanations">explanations</a>] - </td></tr></table> - - <xsl:if test="count(Cycles/Package) = 0"> - <p>There are no cyclic dependancies.</p> - </xsl:if> - <xsl:for-each select="Cycles/Package"> - <h3><xsl:value-of select="@Name"/></h3><p> - <xsl:for-each select="Package"> - <xsl:value-of select="."/><br/> - </xsl:for-each></p> - </xsl:for-each> - - <table width="100%"><tr><td> - <a name="NVexplanations"><h2>Explanations</h2></a> - </td><td align="right"> - [<a href="#NVsummary">summary</a>] - [<a href="#NVpackages">packages</a>] - [<a href="#NVcycles">cycles</a>] - [<a href="#NVexplanations">explanations</a>] - </td></tr></table> - - <p>The following explanations are for quick reference and are lifted directly from the original <a href="http://www.clarkware.com/software/JDepend.html">JDepend documentation</a>.</p> - - <h3><a name="EXnumber">Number of Classes</a></h3> - <p>The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.</p> - <h3><a name="EXafferent">Afferent Couplings</a></h3> - <p>The number of other packages that depend upon classes within the package is an indicator of the package's responsibility. </p> - <h3><a name="EXefferent">Efferent Couplings</a></h3> - <p>The number of other packages that the classes in the package depend upon is an indicator of the package's independence. </p> - <h3><a name="EXabstractness">Abstractness</a></h3> - <p>The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. </p> - <p>The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. </p> - <h3><a name="EXinstability">Instability</a></h3> - <p>The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. </p> - <p>The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package. </p> - <h3><a name="EXdistance">Distance</a></h3> - <p>The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. </p> - <p>A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). </p> - <p>The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. </p> - - </body> - </html> -</xsl:template> - -</xsl:stylesheet> diff --git a/build/tools/jakarta-ant-1.5.1/etc/junit-frames.xsl b/build/tools/jakarta-ant-1.5.1/etc/junit-frames.xsl deleted file mode 100644 index 18ac51ef2..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/junit-frames.xsl +++ /dev/null @@ -1,741 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" - xmlns:lxslt="http://xml.apache.org/xslt" - xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" - extension-element-prefixes="redirect"> -<xsl:output method="html" indent="yes" encoding="US-ASCII"/> -<xsl:decimal-format decimal-separator="." grouping-separator=","/> -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2001-2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> - -<!-- - - Sample stylesheet to be used with An JUnitReport output. - - It creates a set of HTML files a la javadoc where you can browse easily - through all packages and classes. - - @author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/> - @author Erik Hatcher <a href="mailto:ehatcher@apache.org"/> - ---> -<xsl:param name="output.dir" select="'.'"/> - - -<xsl:template match="testsuites"> - <!-- create the index.html --> - <redirect:write file="{$output.dir}/index.html"> - <xsl:call-template name="index.html"/> - </redirect:write> - - <!-- create the stylesheet.css --> - <redirect:write file="{$output.dir}/stylesheet.css"> - <xsl:call-template name="stylesheet.css"/> - </redirect:write> - - <!-- create the overview-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-summary.html"> - <xsl:apply-templates select="." mode="overview.packages"/> - </redirect:write> - - <!-- create the all-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-frame.html"> - <xsl:apply-templates select="." mode="all.packages"/> - </redirect:write> - - <!-- create the all-classes.html at the root --> - <redirect:write file="{$output.dir}/allclasses-frame.html"> - <xsl:apply-templates select="." mode="all.classes"/> - </redirect:write> - - <!-- process all packages --> - <xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> - <xsl:call-template name="package"> - <xsl:with-param name="name" select="@package"/> - </xsl:call-template> - </xsl:for-each> -</xsl:template> - - -<xsl:template name="package"> - <xsl:param name="name"/> - <xsl:variable name="package.dir"> - <xsl:if test="not($name = '')"><xsl:value-of select="translate($name,'.','/')"/></xsl:if> - <xsl:if test="$name = ''">.</xsl:if> - </xsl:variable> - <!--Processing package <xsl:value-of select="@name"/> in <xsl:value-of select="$output.dir"/> --> - <!-- create a classes-list.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-frame.html"> - <xsl:call-template name="classes.list"> - <xsl:with-param name="name" select="$name"/> - </xsl:call-template> - </redirect:write> - - <!-- create a package-summary.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-summary.html"> - <xsl:call-template name="package.summary"> - <xsl:with-param name="name" select="$name"/> - </xsl:call-template> - </redirect:write> - - <!-- for each class, creates a @name.html --> - <!-- @bug there will be a problem with inner classes having the same name, it will be overwritten --> - <xsl:for-each select="/testsuites/testsuite[@package = $name]"> - <redirect:write file="{$output.dir}/{$package.dir}/{@name}.html"> - <xsl:apply-templates select="." mode="class.details"/> - </redirect:write> - </xsl:for-each> -</xsl:template> - -<xsl:template name="index.html"> -<html> - <head> - <title>Unit Test Results.</title> - </head> - <frameset cols="20%,80%"> - <frameset rows="30%,70%"> - <frame src="overview-frame.html" name="packageListFrame"/> - <frame src="allclasses-frame.html" name="classListFrame"/> - </frameset> - <frame src="overview-summary.html" name="classFrame"/> - <noframes> - <h2>Frame Alert</h2> - <p> - This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. - </p> - </noframes> - </frameset> -</html> -</xsl:template> - -<!-- this is the stylesheet css to use for nearly everything --> -<xsl:template name="stylesheet.css"> -body { - font:normal 68% verdana,arial,helvetica; - color:#000000; -} -table tr td, table tr th { - font-size: 68%; -} -table.details tr th{ - font-weight: bold; - text-align:left; - background:#a6caf0; -} -table.details tr td{ - background:#eeeee0; -} - -p { - line-height:1.5em; - margin-top:0.5em; margin-bottom:1.0em; -} -h1 { - margin: 0px 0px 5px; font: 165% verdana,arial,helvetica -} -h2 { - margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica -} -h3 { - margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica -} -h4 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica -} -h5 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica -} -h6 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica -} -.Error { - font-weight:bold; color:red; -} -.Failure { - font-weight:bold; color:purple; -} -.Properties { - text-align:right; -} -</xsl:template> - - -<!-- ====================================================================== - This page is created for every testsuite class. - It prints a summary of the testsuite and detailed information about - testcase methods. - ====================================================================== --> -<xsl:template match="testsuite" mode="class.details"> - <xsl:variable name="package.name" select="@package"/> - <xsl:variable name="class.name"><xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></xsl:variable> - <html> - <head> - <title>Unit Test Results: <xsl:value-of select="$class.name"/></title> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$package.name"/> - </xsl:call-template> - <script type="text/javascript" language="JavaScript"> - var TestCases = new Array(); - var cur; - <xsl:apply-templates select="properties"/> - </script> - <script type="text/javascript" language="JavaScript"><![CDATA[ - function displayProperties (name) { - var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1'); - var doc = win.document.open(); - doc.write("<html><head><title>Properties of " + name + "</title>"); - doc.write("<style type=\"text/css\">"); - doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }"); - doc.write("table tr td, table tr th { font-size: 68%; }"); - doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }"); - doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }"); - doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }"); - doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }"); - doc.write("</style>"); - doc.write("</head><body>"); - doc.write("<h3>Properties of " + name + "</h3>"); - doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>"); - doc.write("<table class='properties'>"); - doc.write("<tr><th>Name</th><th>Value</th></tr>"); - for (prop in TestCases[name]) { - doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>"); - } - doc.write("</table>"); - doc.write("</body></html>"); - doc.close(); - win.focus(); - } - ]]> - </script> - </head> - <body> - <xsl:call-template name="pageHeader"/> - <h3>Class <xsl:value-of select="$class.name"/></h3> - - - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="testsuite.test.header"/> - <xsl:apply-templates select="." mode="print.test"/> - </table> - - <h2>Tests</h2> - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="testcase.test.header"/> - <!-- - test can even not be started at all (failure to load the class) - so report the error directly - --> - <xsl:if test="./error"> - <tr class="Error"> - <td colspan="4"><xsl:apply-templates select="./error"/></td> - </tr> - </xsl:if> - <xsl:apply-templates select="./testcase" mode="print.test"/> - </table> - <div class="Properties"> - <a> - <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute> - Properties » - </a> - </div> - </body> - </html> -</xsl:template> - - <!-- - Write properties into a JavaScript data structure. - This is based on the original idea by Erik Hatcher (ehatcher@apache.org) - --> - <xsl:template match="properties"> - cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array(); - <xsl:for-each select="property"> - <xsl:sort select="@name"/> - cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>'; - </xsl:for-each> - </xsl:template> - - -<!-- ====================================================================== - This page is created for every package. - It prints the name of all classes that belongs to this package. - @param name the package name to print classes. - ====================================================================== --> -<!-- list of classes in a package --> -<xsl:template name="classes.list"> - <xsl:param name="name"/> - <html> - <head> - <title>Unit Test Classes: <xsl:value-of select="$name"/></title> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$name"/> - </xsl:call-template> - </head> - <body> - <table width="100%"> - <tr> - <td nowrap="nowrap"> - <h2><a href="package-summary.html" target="classFrame"><xsl:value-of select="$name"/></a></h2> - </td> - </tr> - </table> - - <h2>Classes</h2> - <table width="100%"> - <xsl:for-each select="/testsuites/testsuite[./@package = $name]"> - <xsl:sort select="@name"/> - <tr> - <td nowrap="nowrap"> - <a href="{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a> - </td> - </tr> - </xsl:for-each> - </table> - </body> - </html> -</xsl:template> - - -<!-- - Creates an all-classes.html file that contains a link to all package-summary.html - on each class. ---> -<xsl:template match="testsuites" mode="all.classes"> - <html> - <head> - <title>All Unit Test Classes</title> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name"/> - </xsl:call-template> - </head> - <body> - <h2>Classes</h2> - <table width="100%"> - <xsl:apply-templates select="testsuite" mode="all.classes"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="testsuite" mode="all.classes"> - <xsl:variable name="package.name" select="@package"/> - <tr> - <td nowrap="nowrap"> - <a target="classFrame"> - <xsl:attribute name="href"> - <xsl:if test="not($package.name='')"> - <xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text> - </xsl:if><xsl:value-of select="@name"/><xsl:text>.html</xsl:text> - </xsl:attribute> - <xsl:value-of select="@name"/> - </a> - </td> - </tr> -</xsl:template> - - -<!-- - Creates an html file that contains a link to all package-summary.html files on - each package existing on testsuites. - @bug there will be a problem here, I don't know yet how to handle unnamed package :( ---> -<xsl:template match="testsuites" mode="all.packages"> - <html> - <head> - <title>All Unit Test Packages</title> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name"/> - </xsl:call-template> - </head> - <body> - <h2><a href="overview-summary.html" target="classFrame">Home</a></h2> - <h2>Packages</h2> - <table width="100%"> - <xsl:apply-templates select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]" mode="all.packages"> - <xsl:sort select="@package"/> - </xsl:apply-templates> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="testsuite" mode="all.packages"> - <tr> - <td nowrap="nowrap"> - <a href="{translate(@package,'.','/')}/package-summary.html" target="classFrame"> - <xsl:value-of select="@package"/> - </a> - </td> - </tr> -</xsl:template> - - -<xsl:template match="testsuites" mode="overview.packages"> - <html> - <head> - <title>Unit Test Results: Summary</title> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name"/> - </xsl:call-template> - </head> - <body> - <xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute> - <xsl:call-template name="pageHeader"/> - <h2>Summary</h2> - <xsl:variable name="testCount" select="sum(testsuite/@tests)"/> - <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/> - <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/> - <xsl:variable name="timeCount" select="sum(testsuite/@time)"/> - <xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/> - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <tr valign="top"> - <th>Tests</th> - <th>Failures</th> - <th>Errors</th> - <th>Success rate</th> - <th>Time</th> - </tr> - <tr valign="top"> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="$errorCount > 0">Error</xsl:when> - <xsl:when test="$failureCount > 0">Failure</xsl:when> - <xsl:otherwise>Pass</xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <td><xsl:value-of select="$testCount"/></td> - <td><xsl:value-of select="$failureCount"/></td> - <td><xsl:value-of select="$errorCount"/></td> - <td> - <xsl:call-template name="display-percent"> - <xsl:with-param name="value" select="$successRate"/> - </xsl:call-template> - </td> - <td> - <xsl:call-template name="display-time"> - <xsl:with-param name="value" select="$timeCount"/> - </xsl:call-template> - </td> - - </tr> - </table> - <table border="0" width="95%"> - <tr> - <td style="text-align: justify;"> - Note: <em>failures</em> are anticipated and checked for with assertions while <em>errors</em> are unanticipated. - </td> - </tr> - </table> - - <h2>Packages</h2> - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="testsuite.test.header"/> - <xsl:for-each select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> - <xsl:sort select="@package" order="ascending"/> - <!-- get the node set containing all testsuites that have the same package --> - <xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = current()/@package]"/> - <tr valign="top"> - <!-- display a failure if there is any failure/error in the package --> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="sum($insamepackage/@errors) > 0">Error</xsl:when> - <xsl:when test="sum($insamepackage/@failures) > 0">Failure</xsl:when> - <xsl:otherwise>Pass</xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <td><a href="{translate(@package,'.','/')}/package-summary.html"><xsl:value-of select="@package"/></a></td> - <td><xsl:value-of select="sum($insamepackage/@tests)"/></td> - <td><xsl:value-of select="sum($insamepackage/@errors)"/></td> - <td><xsl:value-of select="sum($insamepackage/@failures)"/></td> - <td> - <xsl:call-template name="display-time"> - <xsl:with-param name="value" select="sum($insamepackage/@time)"/> - </xsl:call-template> - </td> - </tr> - </xsl:for-each> - </table> - </body> - </html> -</xsl:template> - - -<xsl:template name="package.summary"> - <xsl:param name="name"/> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$name"/> - </xsl:call-template> - </head> - <body> - <xsl:attribute name="onload">open('package-frame.html','classListFrame')</xsl:attribute> - <xsl:call-template name="pageHeader"/> - <h3>Package <xsl:value-of select="$name"/></h3> - - <!--table border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="class.metrics.header"/> - <xsl:apply-templates select="." mode="print.metrics"/> - </table--> - - <xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = $name]"/> - <xsl:if test="count($insamepackage) > 0"> - <h2>Classes</h2> - <p> - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="testsuite.test.header"/> - <xsl:apply-templates select="$insamepackage" mode="print.test"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </p> - </xsl:if> - </body> - </html> -</xsl:template> - - -<!-- - transform string like a.b.c to ../../../ - @param path the path to transform into a descending directory path ---> -<xsl:template name="path"> - <xsl:param name="path"/> - <xsl:if test="contains($path,'.')"> - <xsl:text>../</xsl:text> - <xsl:call-template name="path"> - <xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param> - </xsl:call-template> - </xsl:if> - <xsl:if test="not(contains($path,'.')) and not($path = '')"> - <xsl:text>../</xsl:text> - </xsl:if> -</xsl:template> - - -<!-- create the link to the stylesheet based on the package name --> -<xsl:template name="create.stylesheet.link"> - <xsl:param name="package.name"/> - <link rel="stylesheet" type="text/css" title="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></link> -</xsl:template> - - -<!-- Page HEADER --> -<xsl:template name="pageHeader"> - <h1>Unit Test Results</h1> - <table width="100%"> - <tr> - <td align="left"></td> - <td align="right">Designed for use with <a href="http://www.junit.org/">JUnit</a> and <a href="http://jakarta.apache.org/">Ant</a>.</td> - </tr> - </table> - <hr size="1"/> -</xsl:template> - -<!-- class header --> -<xsl:template name="testsuite.test.header"> - <tr valign="top"> - <th width="80%">Name</th> - <th>Tests</th> - <th>Errors</th> - <th>Failures</th> - <th nowrap="nowrap">Time(s)</th> - </tr> -</xsl:template> - -<!-- method header --> -<xsl:template name="testcase.test.header"> - <tr valign="top"> - <th>Name</th> - <th>Status</th> - <th width="80%">Type</th> - <th nowrap="nowrap">Time(s)</th> - </tr> -</xsl:template> - - -<!-- class information --> -<xsl:template match="testsuite" mode="print.test"> - <tr valign="top"> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="@errors[.> 0]">Error</xsl:when> - <xsl:when test="@failures[.> 0]">Failure</xsl:when> - <xsl:otherwise>Pass</xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <td><a href="{@name}.html"><xsl:value-of select="@name"/></a></td> - <td><xsl:apply-templates select="@tests"/></td> - <td><xsl:apply-templates select="@errors"/></td> - <td><xsl:apply-templates select="@failures"/></td> - <td><xsl:call-template name="display-time"> - <xsl:with-param name="value" select="@time"/> - </xsl:call-template> - </td> - </tr> -</xsl:template> - -<xsl:template match="testcase" mode="print.test"> - <tr valign="top"> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="error">Error</xsl:when> - <xsl:when test="failure">Failure</xsl:when> - <xsl:otherwise>TableRowColor</xsl:otherwise> - </xsl:choose> - </xsl:attribute> - <td><xsl:value-of select="@name"/></td> - <xsl:choose> - <xsl:when test="failure"> - <td>Failure</td> - <td><xsl:apply-templates select="failure"/></td> - </xsl:when> - <xsl:when test="error"> - <td>Error</td> - <td><xsl:apply-templates select="error"/></td> - </xsl:when> - <xsl:otherwise> - <td>Success</td> - <td></td> - </xsl:otherwise> - </xsl:choose> - <td> - <xsl:call-template name="display-time"> - <xsl:with-param name="value" select="@time"/> - </xsl:call-template> - </td> - </tr> -</xsl:template> - - -<!-- Note : the below template error and failure are the same style - so just call the same style store in the toolkit template --> -<xsl:template match="failure"> - <xsl:call-template name="display-failures"/> -</xsl:template> - -<xsl:template match="error"> - <xsl:call-template name="display-failures"/> -</xsl:template> - -<!-- Style for the error and failure in the testcase template --> -<xsl:template name="display-failures"> - <xsl:choose> - <xsl:when test="not(@message)">N/A</xsl:when> - <xsl:otherwise> - <xsl:value-of select="@message"/> - </xsl:otherwise> - </xsl:choose> - <!-- display the stacktrace --> - <br/><br/> - <code> - <xsl:call-template name="br-replace"> - <xsl:with-param name="word" select="."/> - </xsl:call-template> - </code> - <!-- the latter is better but might be problematic for non-21" monitors... --> - <!--pre><xsl:value-of select="."/></pre--> -</xsl:template> - -<xsl:template name="JS-escape"> - <xsl:param name="string"/> - <xsl:choose> - <xsl:when test="contains($string,"'")"> - <xsl:value-of select="substring-before($string,"'")"/>\'<xsl:call-template name="JS-escape"> - <xsl:with-param name="string" select="substring-after($string,"'")"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="contains($string,'\')"> - <xsl:value-of select="substring-before($string,'\')"/>\\<xsl:call-template name="JS-escape"> - <xsl:with-param name="string" select="substring-after($string,'\')"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$string"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - - -<!-- - template that will convert a carriage return into a br tag - @param word the text from which to convert CR to BR tag ---> -<xsl:template name="br-replace"> - <xsl:param name="word"/> - <xsl:choose> - <xsl:when test="contains($word,'
')"> - <xsl:value-of select="substring-before($word,'
')"/> - <br/> - <xsl:call-template name="br-replace"> - <xsl:with-param name="word" select="substring-after($word,'
')"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$word"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="display-time"> - <xsl:param name="value"/> - <xsl:value-of select="format-number($value,'0.000')"/> -</xsl:template> - -<xsl:template name="display-percent"> - <xsl:param name="value"/> - <xsl:value-of select="format-number($value,'0.00%')"/> -</xsl:template> -</xsl:stylesheet> - diff --git a/build/tools/jakarta-ant-1.5.1/etc/junit-noframes.xsl b/build/tools/jakarta-ant-1.5.1/etc/junit-noframes.xsl deleted file mode 100644 index 7364e493c..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/junit-noframes.xsl +++ /dev/null @@ -1,519 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> -<xsl:output method="html" indent="yes" encoding="US-ASCII" - doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" /> -<xsl:decimal-format decimal-separator="." grouping-separator="," /> -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2001-2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> - -<!-- - - Sample stylesheet to be used with An JUnitReport output. - - It creates a non-framed report that can be useful to send via - e-mail or such. - - @author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/> - @author Erik Hatcher <a href="mailto:ehatcher@apache.org"/> - ---> -<xsl:template match="testsuites"> - <html> - <head> - <title>Unit Test Results</title> - <style type="text/css"> - body { - font:normal 68% verdana,arial,helvetica; - color:#000000; - } - table tr td, table tr th { - font-size: 68%; - } - table.details tr th{ - font-weight: bold; - text-align:left; - background:#a6caf0; - } - table.details tr td{ - background:#eeeee0; - } - - p { - line-height:1.5em; - margin-top:0.5em; margin-bottom:1.0em; - } - h1 { - margin: 0px 0px 5px; font: 165% verdana,arial,helvetica - } - h2 { - margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica - } - h3 { - margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica - } - h4 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h5 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h6 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - .Error { - font-weight:bold; color:red; - } - .Failure { - font-weight:bold; color:purple; - } - .Properties { - text-align:right; - } - </style> - <script type="text/javascript" language="JavaScript"> - var TestCases = new Array(); - var cur; - <xsl:for-each select="./testsuite"> - <xsl:apply-templates select="properties"/> - </xsl:for-each> - - </script> - <script type="text/javascript" language="JavaScript"><![CDATA[ - function displayProperties (name) { - var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1'); - var doc = win.document.open(); - doc.write("<html><head><title>Properties of " + name + "</title>"); - doc.write("<style>") - doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }"); - doc.write("table tr td, table tr th { font-size: 68%; }"); - doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }"); - doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }"); - doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }"); - doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }"); - doc.write("</style>"); - doc.write("</head><body>"); - doc.write("<h3>Properties of " + name + "</h3>"); - doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>"); - doc.write("<table class='properties'>"); - doc.write("<tr><th>Name</th><th>Value</th></tr>"); - for (prop in TestCases[name]) { - doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>"); - } - doc.write("</table>"); - doc.write("</body></html>"); - doc.close(); - win.focus(); - } - ]]> - </script> - </head> - <body> - <a name="top"></a> - <xsl:call-template name="pageHeader"/> - - <!-- Summary part --> - <xsl:call-template name="summary"/> - <hr size="1" width="95%" align="left"/> - - <!-- Package List part --> - <xsl:call-template name="packagelist"/> - <hr size="1" width="95%" align="left"/> - - <!-- For each package create its part --> - <xsl:call-template name="packages"/> - <hr size="1" width="95%" align="left"/> - - <!-- For each class create the part --> - <xsl:call-template name="classes"/> - - </body> - </html> -</xsl:template> - - - - <!-- ================================================================== --> - <!-- Write a list of all packages with an hyperlink to the anchor of --> - <!-- of the package name. --> - <!-- ================================================================== --> - <xsl:template name="packagelist"> - <h2>Packages</h2> - Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers. - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="testsuite.test.header"/> - <!-- list all packages recursively --> - <xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> - <xsl:sort select="@package"/> - <xsl:variable name="testsuites-in-package" select="/testsuites/testsuite[./@package = current()/@package]"/> - <xsl:variable name="testCount" select="sum($testsuites-in-package/@tests)"/> - <xsl:variable name="errorCount" select="sum($testsuites-in-package/@errors)"/> - <xsl:variable name="failureCount" select="sum($testsuites-in-package/@failures)"/> - <xsl:variable name="timeCount" select="sum($testsuites-in-package/@time)"/> - - <!-- write a summary for the package --> - <tr valign="top"> - <!-- set a nice color depending if there is an error/failure --> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="$failureCount > 0">Failure</xsl:when> - <xsl:when test="$errorCount > 0">Error</xsl:when> - </xsl:choose> - </xsl:attribute> - <td><a href="#{@package}"><xsl:value-of select="@package"/></a></td> - <td><xsl:value-of select="$testCount"/></td> - <td><xsl:value-of select="$errorCount"/></td> - <td><xsl:value-of select="$failureCount"/></td> - <td> - <xsl:call-template name="display-time"> - <xsl:with-param name="value" select="$timeCount"/> - </xsl:call-template> - </td> - </tr> - </xsl:for-each> - </table> - </xsl:template> - - - <!-- ================================================================== --> - <!-- Write a package level report --> - <!-- It creates a table with values from the document: --> - <!-- Name | Tests | Errors | Failures | Time --> - <!-- ================================================================== --> - <xsl:template name="packages"> - <!-- create an anchor to this package name --> - <xsl:for-each select="/testsuites/testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> - <xsl:sort select="@package"/> - <a name="{@package}"></a> - <h3>Package <xsl:value-of select="@package"/></h3> - - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="testsuite.test.header"/> - - <!-- match the testsuites of this package --> - <xsl:apply-templates select="/testsuites/testsuite[./@package = current()/@package]" mode="print.test"/> - </table> - <a href="#top">Back to top</a> - <p/> - <p/> - </xsl:for-each> - </xsl:template> - - <xsl:template name="classes"> - <xsl:for-each select="testsuite"> - <xsl:sort select="@name"/> - <!-- create an anchor to this class name --> - <a name="{@name}"></a> - <h3>TestCase <xsl:value-of select="@name"/></h3> - - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <xsl:call-template name="testcase.test.header"/> - <!-- - test can even not be started at all (failure to load the class) - so report the error directly - --> - <xsl:if test="./error"> - <tr class="Error"> - <td colspan="4"><xsl:apply-templates select="./error"/></td> - </tr> - </xsl:if> - <xsl:apply-templates select="./testcase" mode="print.test"/> - </table> - <div class="Properties"> - <a> - <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute> - Properties » - </a> - </div> - <p/> - - <a href="#top">Back to top</a> - </xsl:for-each> - </xsl:template> - - <xsl:template name="summary"> - <h2>Summary</h2> - <xsl:variable name="testCount" select="sum(testsuite/@tests)"/> - <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/> - <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/> - <xsl:variable name="timeCount" select="sum(testsuite/@time)"/> - <xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/> - <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> - <tr valign="top"> - <th>Tests</th> - <th>Failures</th> - <th>Errors</th> - <th>Success rate</th> - <th>Time</th> - </tr> - <tr valign="top"> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="$failureCount > 0">Failure</xsl:when> - <xsl:when test="$errorCount > 0">Error</xsl:when> - </xsl:choose> - </xsl:attribute> - <td><xsl:value-of select="$testCount"/></td> - <td><xsl:value-of select="$failureCount"/></td> - <td><xsl:value-of select="$errorCount"/></td> - <td> - <xsl:call-template name="display-percent"> - <xsl:with-param name="value" select="$successRate"/> - </xsl:call-template> - </td> - <td> - <xsl:call-template name="display-time"> - <xsl:with-param name="value" select="$timeCount"/> - </xsl:call-template> - </td> - - </tr> - </table> - <table border="0" width="95%"> - <tr> - <td style="text-align: justify;"> - Note: <i>failures</i> are anticipated and checked for with assertions while <i>errors</i> are unanticipated. - </td> - </tr> - </table> - </xsl:template> - - <!-- - Write properties into a JavaScript data structure. - This is based on the original idea by Erik Hatcher (ehatcher@apache.org) - --> - <xsl:template match="properties"> - cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array(); - <xsl:for-each select="property"> - <xsl:sort select="@name"/> - cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>'; - </xsl:for-each> - </xsl:template> - -<!-- Page HEADER --> -<xsl:template name="pageHeader"> - <h1>Unit Test Results</h1> - <table width="100%"> - <tr> - <td align="left"></td> - <td align="right">Designed for use with <a href='http://www.junit.org'>JUnit</a> and <a href='http://jakarta.apache.org/ant'>Ant</a>.</td> - </tr> - </table> - <hr size="1"/> -</xsl:template> - -<xsl:template match="testsuite" mode="header"> - <tr valign="top"> - <th width="80%">Name</th> - <th>Tests</th> - <th>Errors</th> - <th>Failures</th> - <th nowrap="nowrap">Time(s)</th> - </tr> -</xsl:template> - -<!-- class header --> -<xsl:template name="testsuite.test.header"> - <tr valign="top"> - <th width="80%">Name</th> - <th>Tests</th> - <th>Errors</th> - <th>Failures</th> - <th nowrap="nowrap">Time(s)</th> - </tr> -</xsl:template> - -<!-- method header --> -<xsl:template name="testcase.test.header"> - <tr valign="top"> - <th>Name</th> - <th>Status</th> - <th width="80%">Type</th> - <th nowrap="nowrap">Time(s)</th> - </tr> -</xsl:template> - - -<!-- class information --> -<xsl:template match="testsuite" mode="print.test"> - <tr valign="top"> - <!-- set a nice color depending if there is an error/failure --> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="@failures[.> 0]">Failure</xsl:when> - <xsl:when test="@errors[.> 0]">Error</xsl:when> - </xsl:choose> - </xsl:attribute> - - <!-- print testsuite information --> - <td><a href="#{@name}"><xsl:value-of select="@name"/></a></td> - <td><xsl:value-of select="@tests"/></td> - <td><xsl:value-of select="@errors"/></td> - <td><xsl:value-of select="@failures"/></td> - <td> - <xsl:call-template name="display-time"> - <xsl:with-param name="value" select="@time"/> - </xsl:call-template> - </td> - </tr> -</xsl:template> - -<xsl:template match="testcase" mode="print.test"> - <tr valign="top"> - <xsl:attribute name="class"> - <xsl:choose> - <xsl:when test="failure | error">Error</xsl:when> - </xsl:choose> - </xsl:attribute> - <td><xsl:value-of select="@name"/></td> - <xsl:choose> - <xsl:when test="failure"> - <td>Failure</td> - <td><xsl:apply-templates select="failure"/></td> - </xsl:when> - <xsl:when test="error"> - <td>Error</td> - <td><xsl:apply-templates select="error"/></td> - </xsl:when> - <xsl:otherwise> - <td>Success</td> - <td></td> - </xsl:otherwise> - </xsl:choose> - <td> - <xsl:call-template name="display-time"> - <xsl:with-param name="value" select="@time"/> - </xsl:call-template> - </td> - </tr> -</xsl:template> - - -<xsl:template match="failure"> - <xsl:call-template name="display-failures"/> -</xsl:template> - -<xsl:template match="error"> - <xsl:call-template name="display-failures"/> -</xsl:template> - -<!-- Style for the error and failure in the tescase template --> -<xsl:template name="display-failures"> - <xsl:choose> - <xsl:when test="not(@message)">N/A</xsl:when> - <xsl:otherwise> - <xsl:value-of select="@message"/> - </xsl:otherwise> - </xsl:choose> - <!-- display the stacktrace --> - <code> - <br/><br/> - <xsl:call-template name="br-replace"> - <xsl:with-param name="word" select="."/> - </xsl:call-template> - </code> - <!-- the later is better but might be problematic for non-21" monitors... --> - <!--pre><xsl:value-of select="."/></pre--> -</xsl:template> - -<xsl:template name="JS-escape"> - <xsl:param name="string"/> - <xsl:choose> - <xsl:when test="contains($string,"'")"> - <xsl:value-of select="substring-before($string,"'")"/>\'<xsl:call-template name="JS-escape"> - <xsl:with-param name="string" select="substring-after($string,"'")"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="contains($string,'\')"> - <xsl:value-of select="substring-before($string,'\')"/>\\<xsl:call-template name="JS-escape"> - <xsl:with-param name="string" select="substring-after($string,'\')"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$string"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - - -<!-- - template that will convert a carriage return into a br tag - @param word the text from which to convert CR to BR tag ---> -<xsl:template name="br-replace"> - <xsl:param name="word"/> - <xsl:choose> - <xsl:when test="contains($word,'
')"> - <xsl:value-of select="substring-before($word,'
')"/> - <br/> - <xsl:call-template name="br-replace"> - <xsl:with-param name="word" select="substring-after($word,'
')"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$word"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="display-time"> - <xsl:param name="value"/> - <xsl:value-of select="format-number($value,'0.000')"/> -</xsl:template> - -<xsl:template name="display-percent"> - <xsl:param name="value"/> - <xsl:value-of select="format-number($value,'0.00%')"/> -</xsl:template> - -</xsl:stylesheet> - diff --git a/build/tools/jakarta-ant-1.5.1/etc/log.xsl b/build/tools/jakarta-ant-1.5.1/etc/log.xsl deleted file mode 100644 index 744736c06..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/log.xsl +++ /dev/null @@ -1,247 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> -<xsl:output method="html" indent="yes" encoding="US-ASCII"/> -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2000-2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> - -<!-- - - The purpose have this XSL is to provide a nice way to look at the output - from the Ant XmlLogger (ie: ant -listener org.apache.tools.ant.XmlLogger ) - - @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a> - ---> -<xsl:decimal-format decimal-separator="." grouping-separator="," /> - -<xsl:template match="/"> -<html> - <head> - <style type="text/css"> - .bannercell { - border: 0px; - padding: 0px; - } - body { - margin: 0; - font:normal 100% arial,helvetica,sanserif; - background-color:#FFFFFF; - color:#000000; - } - table.status { - font:bold 80% arial,helvetica,sanserif; - background-color:#525D76; - color:#ffffff; - } - table.log tr td, tr th { - font-size: 80%; - } - .error { - color:red; - } - .warn { - color:brown; - } - .info { - color:gray; - } - .debug{ - color:gray; - } - .failed { - font-size:80%; - background-color: red; - color:#FFFFFF; - font-weight: bold - } - .complete { - font-size:80%; - background-color: #525D76; - color:#FFFFFF; - font-weight: bold - } - .a td { - background: #efefef; - } - .b td { - background: #fff; - } - th, td { - text-align: left; - vertical-align: top; - } - th { - background: #ccc; - color: black; - } - table, th, td { - border: none - } - h3 { - font:bold 80% arial,helvetica,sanserif; - background: #525D76; - color: white; - text-decoration: none; - padding: 5px; - margin-right: 2px; - margin-left: 2px; - margin-bottom: 0; - } - </style> - </head> - <body> - <!-- jakarta logo --> - <table border="0" cellpadding="0" cellspacing="0" width="100%"> - <tr> - <td valign="top" class="bannercell"> - <a href="http://jakarta.apache.org/"> - <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/> - </a> - </td> - <td style="text-align:right;vertical-align:bottom"> - <a href="htp://jakarta.apache.org/ant">Jakarta Ant</a> - </td> - </tr> - </table> - - <table border="0" width="100%"> - <tr><td><hr noshade="yes" size="1"/></td></tr> - </table> - - <xsl:apply-templates select="build"/> - - <!-- FOOTER --> - <table width="100%"> - <tr><td><hr noshade="yes" size="1"/></td></tr> - <tr><td> - <div align="center"><font color="#525D76" size="-1"><em> - Copyright © 2000-2002, Apache Software Foundation - </em></font></div> - </td></tr> - </table> - </body> -</html> -</xsl:template> - -<xsl:template match="build"> - <!-- build status --> - <table width="100%"> - <xsl:attribute name="class"> - <xsl:if test="@error">failed</xsl:if> - <xsl:if test="not(@error)">complete</xsl:if> - </xsl:attribute> - <tr> - <xsl:if test="@error"> - <td nowrap="yes">Build Failed</td> - </xsl:if> - <xsl:if test="not(@error)"> - <td nowrap="yes">Build Complete</td> - </xsl:if> - <td style="text-align:right" nowrap="yes">Total Time: <xsl:value-of select="@time"/></td> - </tr> - <tr> - <td colspan="2"> - <xsl:if test="@error"> - <tt><xsl:value-of select="@error"/></tt><br/> - <i style="font-size:80%">See the <a href="#stacktrace" alt="Click for details">stacktrace</a>.</i> - </xsl:if> - </td> - </tr> - </table> - <table border="1" cellspacing="2" cellpadding="3" width="100%" style="font-size:80%"> - <tr class="a"><td width="1">ant.file</td><td><xsl:value-of select="substring-after(message[contains(text(),'ant.file')], '->')"/></td></tr> - <tr class="b"><td width="1">ant.version</td><td><xsl:value-of select="substring-after(message[contains(text(),'ant.version')], '->')"/></td></tr> - <tr class="a"><td width="1">java.version</td><td><xsl:value-of select="substring-after(message[contains(text(),'java.vm.version')], '->')"/></td></tr> - <tr class="b"><td width="1">os.name</td><td><xsl:value-of select="substring-after(message[contains(text(),'os.name')], '->')"/></td></tr> - </table> - <!-- build information --> - <h3>Build events</h3> - <table class="log" border="1" cellspacing="2" cellpadding="3" width="100%"> - <tr> - <th nowrap="yes" align="left" width="1%">target</th> - <th nowrap="yes" align="left" width="1%">task</th> - <th nowrap="yes" align="left">message</th> - </tr> - <xsl:apply-templates select=".//message[@priority != 'debug']"/> - </table> - <p> - <!-- stacktrace --> - <xsl:if test="stacktrace"> - <a name="stacktrace"/> - <h3>Error details</h3> - <table width="100%"> - <tr><td> - <pre><xsl:value-of select="stacktrace"/></pre> - </td></tr> - </table> - </xsl:if> - </p> -</xsl:template> - -<!-- report every message but those with debug priority --> -<xsl:template match="message[@priority!='debug']"> - <tr valign="top"> - <!-- alternated row style --> - <xsl:attribute name="class"> - <xsl:if test="position() mod 2 = 1">a</xsl:if> - <xsl:if test="position() mod 2 = 0">b</xsl:if> - </xsl:attribute> - <td nowrap="yes" width="1%"><xsl:value-of select="../../@name"/></td> - <td nowrap="yes" style="text-align:right" width="1%">[ <xsl:value-of select="../@name"/> ]</td> - <td class="{@priority}" nowrap="yes"> - <xsl:value-of select="text()"/> - </td> - </tr> -</xsl:template> - -</xsl:stylesheet> diff --git a/build/tools/jakarta-ant-1.5.1/etc/maudit-frames.xsl b/build/tools/jakarta-ant-1.5.1/etc/maudit-frames.xsl deleted file mode 100644 index 476f65e7a..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/maudit-frames.xsl +++ /dev/null @@ -1,547 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" - xmlns:lxslt="http://xml.apache.org/xslt" - xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" - extension-element-prefixes="redirect"> -<xsl:output method="html" indent="yes" encoding="US-ASCII"/> -<xsl:decimal-format decimal-separator="." grouping-separator="," /> -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2001-2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> -<!-- - - Stylesheet to transform an XML file generated by the Ant MAudit task into - a set of JavaDoc-like HTML page to make pages more convenient to be browsed. - - It use the Xalan redirect extension to write to multiple output files. - - @author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/> ---> - -<xsl:param name="output.dir" select="'.'"/> - - -<xsl:template match="classes"> - <!-- create the index.html --> - <redirect:write file="{$output.dir}/index.html"> - <xsl:call-template name="index.html"/> - </redirect:write> - - <!-- create the stylesheet.css --> - <redirect:write file="{$output.dir}/stylesheet.css"> - <xsl:call-template name="stylesheet.css"/> - </redirect:write> - - <!-- create the overview-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-summary.html"> - <xsl:apply-templates select="." mode="overview.packages"/> - </redirect:write> - - <!-- create the all-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-frame.html"> - <xsl:apply-templates select="." mode="all.packages"/> - </redirect:write> - - <!-- create the all-classes.html at the root --> - <redirect:write file="{$output.dir}/allclasses-frame.html"> - <xsl:apply-templates select="." mode="all.classes"/> - </redirect:write> - - <!-- process all packages --> - <xsl:for-each select="./class[not(./@package = preceding-sibling::class/@package)]"> - <xsl:call-template name="package"> - <xsl:with-param name="name" select="@package"/> - </xsl:call-template> - </xsl:for-each> -</xsl:template> - - -<xsl:template name="package"> - <xsl:param name="name"/> - <xsl:variable name="package.dir"> - <xsl:if test="not($name = '')"><xsl:value-of select="translate($name,'.','/')"/></xsl:if> - <xsl:if test="$name = ''">.</xsl:if> - </xsl:variable> - <!--Processing package <xsl:value-of select="@name"/> in <xsl:value-of select="$output.dir"/> --> - <!-- create a classes-list.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-frame.html"> - <xsl:call-template name="classes.list"> - <xsl:with-param name="name" select="$name"/> - </xsl:call-template> - </redirect:write> - - <!-- create a package-summary.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-summary.html"> - <xsl:call-template name="package.summary"> - <xsl:with-param name="name" select="$name"/> - </xsl:call-template> - </redirect:write> - - <!-- for each class, creates a @name.html --> - <!-- @bug there will be a problem with inner classes having the same name, it will be overwritten --> - <xsl:for-each select="/classes/class[@package = $name]"> - <redirect:write file="{$output.dir}/{$package.dir}/{@name}.html"> - <xsl:apply-templates select="." mode="class.details"/> - </redirect:write> - </xsl:for-each> -</xsl:template> - -<xsl:template name="index.html"> -<HTML> - <HEAD><TITLE>Audit Results.</TITLE></HEAD> - <FRAMESET cols="20%,80%"> - <FRAMESET rows="30%,70%"> - <FRAME src="overview-frame.html" name="packageListFrame"/> - <FRAME src="allclasses-frame.html" name="classListFrame"/> - </FRAMESET> - <FRAME src="overview-summary.html" name="classFrame"/> - </FRAMESET> - <noframes> - <H2>Frame Alert</H2> - <P> - This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. - </P> - </noframes> -</HTML> -</xsl:template> - - -<!-- this is the stylesheet css to use for nearly everything --> -<xsl:template name="stylesheet.css"> - .bannercell { - border: 0px; - padding: 0px; - } - body { - margin-left: 10; - margin-right: 10; - font:normal 80% arial,helvetica,sanserif; - background-color:#FFFFFF; - color:#000000; - } - .a td { - background: #efefef; - } - .b td { - background: #fff; - } - th, td { - text-align: left; - vertical-align: top; - } - th { - font-weight:bold; - background: #ccc; - color: black; - } - table, th, td { - font-size:100%; - border: none - } - table.log tr td, tr th { - - } - h2 { - font-weight:bold; - font-size:140%; - margin-bottom: 5; - } - h3 { - font-size:100%; - font-weight:bold; - background: #525D76; - color: white; - text-decoration: none; - padding: 5px; - margin-right: 2px; - margin-left: 2px; - margin-bottom: 0; - } -</xsl:template> - - -<!-- print the violations of the class --> -<xsl:template match="class" mode="class.details"> - <xsl:variable name="package.name" select="@package"/> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$package.name"/> - </xsl:call-template> - </HEAD> - <BODY> - <xsl:call-template name="pageHeader"/> - <H3>Class <xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></H3> - - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="class.audit.header"/> - <xsl:apply-templates select="." mode="print.audit"/> - </table> - - <H3>Violations</H3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="violation.audit.header"/> - <xsl:apply-templates select="./violation" mode="print.audit"> - <xsl:sort data-type="number" select="@line"/> - </xsl:apply-templates> - </table> - <xsl:call-template name="pageFooter"/> - </BODY> - </HTML> -</xsl:template> - - -<!-- list of classes in a package --> -<xsl:template name="classes.list"> - <xsl:param name="name"/> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$name"/> - </xsl:call-template> - </HEAD> - <BODY> - <table width="100%"> - <tr> - <td nowrap="nowrap"> - <H2><a href="package-summary.html" target="classFrame"><xsl:value-of select="$name"/></a></H2> - </td> - </tr> - </table> - - <h2>Classes</h2> - <TABLE WIDTH="100%"> - <xsl:apply-templates select="/classes/class[./@package = $name]" mode="classes.list"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </TABLE> - </BODY> - </HTML> -</xsl:template> -<!-- the class to list --> -<xsl:template match="class" mode="classes.list"> - <tr> - <td nowrap="nowrap"> - <!-- @bug naming to fix for inner classes --> - <a href="{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a> - </td> - </tr> -</xsl:template> - - -<!-- - Creates an all-classes.html file that contains a link to all package-summary.html - on each class. ---> -<xsl:template match="classes" mode="all.classes"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name"/> - </xsl:call-template> - </head> - <body> - <h2>Classes</h2> - <table width="100%"> - <xsl:apply-templates select=".//class" mode="all.classes"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="class" mode="all.classes"> - <!-- (ancestor::package)[last()] is buggy in MSXML3 ? --> - <xsl:variable name="package.name" select="@package"/> - <tr> - <td nowrap="nowrap"> - <a target="classFrame"> - <xsl:attribute name="href"> - <xsl:if test="not($package.name='')"> - <xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text> - </xsl:if><xsl:value-of select="@name"/><xsl:text>.html</xsl:text> - </xsl:attribute> - <xsl:value-of select="@name"/> - </a> - </td> - </tr> -</xsl:template> - - -<!-- - Creates an html file that contains a link to all package-summary.html files on - each package existing on testsuites. - @bug there will be a problem here, I don't know yet how to handle unnamed package :( ---> -<xsl:template match="classes" mode="all.packages"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name"/> - </xsl:call-template> - </head> - <body> - <h2><a href="overview-summary.html" target="classFrame">Home</a></h2> - <h2>Packages</h2> - <table width="100%"> - <xsl:apply-templates select="class[not(./@package = preceding-sibling::class/@package)]" mode="all.packages"> - <xsl:sort select="@package" order="ascending"/> - </xsl:apply-templates> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="class" mode="all.packages"> - <tr> - <td nowrap="nowrap"> - <a href="{translate(@package,'.','/')}/package-summary.html" target="classFrame"> - <xsl:value-of select="@package"/> - </a> - </td> - </tr> -</xsl:template> - - -<xsl:template match="classes" mode="overview.packages"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name"/> - </xsl:call-template> - </head> - <body onload="open('allclasses-frame.html','classListFrame')"> - <xsl:call-template name="pageHeader"/> - <h3>Summary</h3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th>Audited classes</th> - <th>Reported classes</th> - <th>Violations</th> - </tr> - <tr class="a"> - <td><xsl:value-of select="@audited"/></td> - <td><xsl:value-of select="@reported"/></td> - <td><xsl:value-of select="@violations"/></td> - </tr> - </table> - <table border="0" width="100%"> - <tr> - <td style="text-align: justify;"> - Note: Rules checked have originated from style guidelines suggested by the language designers, - experience from the Java development community and insite experience. Violations are generally - reported with a reference to the <a href="http://java.sun.com/docs/books/jls/second_edition/html/jTOC.doc.html">Java Language Specifications</a> (JLS x.x.x) - and Metamata Audit rules (x.x). - Please consult these documents for additional information about violations. - <p/> - Rules checked also enforce adherence to <a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Sun Java coding guidelines</a> in use at Jakarta. - <p/> - One should note that these violations do not necessary underline errors but should be used - as an indication for <i>possible</i> errors. As always, use your best judgment and review - them carefully, it might save you hours of debugging. - </td> - </tr> - </table> - - <h3>Packages</h3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="class.audit.header"/> - <xsl:for-each select="class[not(./@package = preceding-sibling::class/@package)]"> - <xsl:sort select="@package" order="ascending"/> - <tr> - <xsl:call-template name="alternate-row"/> - <td><a href="{translate(@package,'.','/')}/package-summary.html"><xsl:value-of select="@package"/></a></td> - <td><xsl:value-of select="sum(/classes/class[./@package = current()/@package]/@violations)"/></td> - </tr> - </xsl:for-each> - </table> - <xsl:call-template name="pageFooter"/> - </body> - </html> -</xsl:template> - - -<xsl:template name="package.summary"> - <xsl:param name="name"/> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$name"/> - </xsl:call-template> - </HEAD> - <BODY> - <xsl:attribute name="onload">open('package-frame.html','classListFrame')</xsl:attribute> - <xsl:call-template name="pageHeader"/> - <h3>Package <xsl:value-of select="$name"/></h3> - - <!--table border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="class.metrics.header"/> - <xsl:apply-templates select="." mode="print.metrics"/> - </table--> - - <xsl:if test="count(/classes/class[./@package = $name]) > 0"> - <H3>Classes</H3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="class.audit.header"/> - <xsl:apply-templates select="/classes/class[./@package = $name]" mode="print.audit"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </xsl:if> - <xsl:call-template name="pageFooter"/> - </BODY> - </HTML> -</xsl:template> - - -<!-- - transform string like a.b.c to ../../../ - @param path the path to transform into a descending directory path ---> -<xsl:template name="path"> - <xsl:param name="path"/> - <xsl:if test="contains($path,'.')"> - <xsl:text>../</xsl:text> - <xsl:call-template name="path"> - <xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param> - </xsl:call-template> - </xsl:if> - <xsl:if test="not(contains($path,'.')) and not($path = '')"> - <xsl:text>../</xsl:text> - </xsl:if> -</xsl:template> - - -<!-- create the link to the stylesheet based on the package name --> -<xsl:template name="create.stylesheet.link"> - <xsl:param name="package.name"/> - <LINK REL ="stylesheet" TYPE="text/css" TITLE="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></LINK> -</xsl:template> - -<!-- Page HEADER --> -<xsl:template name="pageHeader"> - - <!-- jakarta logo --> - <table border="0" cellpadding="0" cellspacing="0" width="100%"> - <tr> - <td class="bannercell" rowspan="2"> - <a href="http://jakarta.apache.org/"> - <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/> - </a> - </td> - <td style="text-align:right"><h2>Source Code Audit</h2></td> - </tr> - <tr> - <td style="text-align:right">Designed for use with <a href='http://www.webgain.com/products/quality_analyzer/'>Webgain QA/Metamata Audit</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td> - </tr> - </table> - <hr size="1"/> -</xsl:template> - -<!-- Page HEADER --> -<xsl:template name="pageFooter"> - <table width="100%"> - <tr><td><hr noshade="yes" size="1"/></td></tr> - <tr><td> - <div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2001, Apache Software Foundation - </em></font></div> - </td></tr> - </table> -</xsl:template> - - -<!-- class header --> -<xsl:template name="class.audit.header"> - <tr> - <th width="80%">Name</th> - <th>Violations</th> - </tr> -</xsl:template> - -<!-- method header --> -<xsl:template name="violation.audit.header"> - <tr> - <th>Line</th> - <th>Message</th> - </tr> -</xsl:template> - - -<!-- class information --> -<xsl:template match="class" mode="print.audit"> - <tr> - <xsl:call-template name="alternate-row"/> - <td><a href="{@name}.html"><xsl:value-of select="@name"/></a></td> - <td><xsl:apply-templates select="@violations"/></td> - </tr> -</xsl:template> - -<xsl:template match="violation" mode="print.audit"> - <tr> - <xsl:call-template name="alternate-row"/> - <td><xsl:value-of select="@line"/></td> - <td><xsl:apply-templates select="@message"/></td> - </tr> -</xsl:template> - -<!-- alternated row style --> -<xsl:template name="alternate-row"> -<xsl:attribute name="class"> - <xsl:if test="position() mod 2 = 1">a</xsl:if> - <xsl:if test="position() mod 2 = 0">b</xsl:if> -</xsl:attribute> -</xsl:template> - -</xsl:stylesheet> - diff --git a/build/tools/jakarta-ant-1.5.1/etc/mmetrics-frames.xsl b/build/tools/jakarta-ant-1.5.1/etc/mmetrics-frames.xsl deleted file mode 100644 index 001112926..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/mmetrics-frames.xsl +++ /dev/null @@ -1,1070 +0,0 @@ -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" - xmlns:lxslt="http://xml.apache.org/xslt" - xmlns:xalan="http://xml.apache.org/xalan" - xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" - exclude-result-prefixes="xalan" - extension-element-prefixes="redirect"> -<xsl:output method="html" indent="yes" encoding="US-ASCII"/> -<xsl:decimal-format decimal-separator="." grouping-separator="," /> -<!-- - The Apache Software License, Version 1.1 - - Copyright (c) 2001-2002 The Apache Software Foundation. All rights - reserved. - - 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 acknowlegement: - "This product includes software developed by the - Apache Software Foundation (http://www.apache.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The Jakarta Project", "Ant", and "Apache Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact apache@apache.org. - - 5. Products derived from this software may not be called "Apache" - nor may "Apache" appear in their names without prior written - permission of the Apache Group. - - 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 APACHE SOFTWARE FOUNDATION 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. - ==================================================================== - - This software consists of voluntary contributions made by many - individuals on behalf of the Apache Software Foundation. For more - information on the Apache Software Foundation, please see - <http://www.apache.org/>. - --> -<!-- - @author Stephane Bailliez <a href="mailto:sbailliez@apache.org"/> - --> -<xsl:param name="output.dir" select="'.'"/> - -<!-- default max value for the metrics --> -<xsl:param name="vg.max" select="10"/> -<xsl:param name="loc.max" select="1000"/> -<xsl:param name="dit.max" select="10"/> -<xsl:param name="noa.max" select="250"/> -<xsl:param name="nrm.max" select="50"/> -<xsl:param name="nlm.max" select="250"/> -<xsl:param name="wmc.max" select="250"/> -<xsl:param name="rfc.max" select="50"/> -<xsl:param name="dac.max" select="10"/> -<xsl:param name="fanout.max" select="10"/> -<xsl:param name="cbo.max" select="15"/> -<xsl:param name="lcom.max" select="10"/> -<xsl:param name="nocl.max" select="10"/> - - -<!-- create a tree fragment to speed up processing --> -<xsl:variable name="doctree.var"> - <xsl:element name="classes"> - <xsl:for-each select=".//class"> - <xsl:element name="class"> - <xsl:attribute name="package"> - <xsl:value-of select="(ancestor::package)[last()]/@name"/> - </xsl:attribute> - <xsl:copy-of select="@*"/> - <xsl:attribute name="name"> - <xsl:apply-templates select="." mode="class.name"/> - </xsl:attribute> - <xsl:copy-of select="method"/> - </xsl:element> - </xsl:for-each> - </xsl:element> -</xsl:variable> - -<xsl:variable name="doctree" select="xalan:nodeset($doctree.var)"/> - -<xsl:template match="metrics"> - - <!-- create the index.html --> - <redirect:write file="{$output.dir}/index.html"> - <xsl:call-template name="index.html"/> - </redirect:write> - - <!-- create the stylesheet.css --> - <redirect:write file="{$output.dir}/stylesheet.css"> - <xsl:call-template name="stylesheet.css"/> - </redirect:write> - - <redirect:write file="{$output.dir}/metrics-reference.html"> - <xsl:call-template name="metrics-reference.html"/> - </redirect:write> - - <!-- create the overview-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-summary.html"> - <xsl:apply-templates select="." mode="overview.packages"/> - </redirect:write> - - <!-- create the all-packages.html at the root --> - <redirect:write file="{$output.dir}/overview-frame.html"> - <xsl:apply-templates select="." mode="all.packages"/> - </redirect:write> - - <!-- create the all-classes.html at the root --> - <redirect:write file="{$output.dir}/allclasses-frame.html"> - <xsl:apply-templates select="." mode="all.classes"/> - </redirect:write> - - <!-- process all packages --> - <xsl:apply-templates select=".//package"/> -</xsl:template> - - -<xsl:template match="package"> - <xsl:variable name="package.name" select="@name"/> - <xsl:variable name="package.dir"> - <xsl:if test="not($package.name = 'unnamed package')"><xsl:value-of select="translate($package.name,'.','/')"/></xsl:if> - <xsl:if test="$package.name = 'unnamed package'">.</xsl:if> - </xsl:variable> - <!-- create a classes-list.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-frame.html"> - <xsl:apply-templates select="." mode="classes.list"/> - </redirect:write> - - <!-- create a package-summary.html in the package directory --> - <redirect:write file="{$output.dir}/{$package.dir}/package-summary.html"> - <xsl:apply-templates select="." mode="package.summary"/> - </redirect:write> - - <!-- for each class, creates a @name.html --> - <!-- @bug there will be a problem with inner classes having the same name, it will be overwritten --> - <xsl:for-each select="$doctree/classes/class[@package = current()/@name]"> - <!--Processing <xsl:value-of select="$class.name"/><xsl:text> </xsl:text> --> - <redirect:write file="{$output.dir}/{$package.dir}/{@name}.html"> - <xsl:apply-templates select="." mode="class.details"/> - </redirect:write> - </xsl:for-each> -</xsl:template> - -<!-- little trick to compute the classname for inner and non inner classes --> -<!-- this is all in one line to avoid CRLF in the name --> -<xsl:template match="class" mode="class.name"> - <xsl:if test="parent::class"><xsl:apply-templates select="parent::class" mode="class.name"/>.<xsl:value-of select="@name"/></xsl:if><xsl:if test="not(parent::class)"><xsl:value-of select="@name"/></xsl:if> -</xsl:template> - - -<xsl:template name="index.html"> -<HTML> - <HEAD><TITLE>Metrics Results.</TITLE></HEAD> - <FRAMESET cols="20%,80%"> - <FRAMESET rows="30%,70%"> - <FRAME src="overview-frame.html" name="packageListFrame"/> - <FRAME src="allclasses-frame.html" name="classListFrame"/> - </FRAMESET> - <FRAME src="overview-summary.html" name="classFrame"/> - </FRAMESET> - <noframes> - <H2>Frame Alert</H2> - <P> - This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. - </P> - </noframes> -</HTML> -</xsl:template> - -<!-- this is the stylesheet css to use for nearly everything --> -<xsl:template name="metrics-reference.html"> -<html> -<head> -<link title="Style" type="text/css" rel="stylesheet" href="stylesheet.css"/> -</head> -<body style="text-align:justify;"> -<h2>Metrics Reference</h2> -<a href="#V(G)">V(G)</a> | -<a href="#LOC">LOC</a> | -<a href="#DIT">DIT</a> | -<a href="#NOA">NOA</a> | -<a href="#NRM">NRM</a> | -<a href="#NLM">NLM</a> | -<a href="#WMC">WMC</a> | -<a href="#RFC">RFC</a> | -<a href="#DAC">DAC</a> | -<a href="#FANOUT">FANOUT</a> | -<a href="#CBO">CBO</a> | -<a href="#LCOM">LCOM</a> | -<a href="#NOC">NOC</a> - -<a name="V(G)"/> -<h3>Cyclomatic Complexity - V(G)</h3> -This metric was introduced in the 1970s to measure the amount of control -flow complexity or branching complexity in a module such as a -subroutine. It gives the number of paths that may be taken through the -code, and was initially developed to give some measure of the cost of -producing a test case for the module by executing each path. -<p/> -Methods with a high cyclomatic complexity tend to be more difficult to -understand and maintain. In general the more complex the methods of an -application, the more difficult it will be to test it, and this will adversely -affect its reliability. -<p/> -V(G) is a measure of the control flow complexity of a method or -constructor. It counts the number of branches in the body of the method, -defined as: -<ul> -<li>while statements;</li> -<li>if statements;</li> -<li>for statements.</li> -</ul> - -The metric can also be configured to count each case of a switch -statement as well. - -<a name="LOC"/> -<h3>Lines of Code - LOC</h3> - -This is perhaps the simplest of all the metrics to define and compute. -Counting lines has a long history as a software metric dating from before -the rise of structured programming, and it is still in widespread use today. -The size of a method affects the ease with which it can be understood, its -reusability and its maintainability. There are a variety of ways that the size -can be calculated. These include counting all the lines of code, the number -of statements, the blank lines of code, the lines of commentary, and the -lines consisting only of syntax such as block delimiters. -<p/> -This metric can also be used for sizing other constructs as well, for -example, the overall size of a Java class or package can be measured by -counting the number of source lines it consists of. -<p/> -LOC can be used to determine the size of a compilation unit (source file), -class or interface, method, constructor, or field. It can be configured to -ignore: -<ul> -<li>blank lines;</li> -<li>lines consisting only of comments;</li> -<li>lines consisting only of opening and closing braces.</li> -</ul> - -<a name="DIT"/> -<h3>Depth of Inheritance Hierarchy - DIT</h3> - -This metric calculates how far down the inheritance hierarchy a class is -declared. In Java all classes have java.lang.Object as their ultimate -superclass, which is defined to have a depth of 1. So a class that -immediately extends java.lang.Object has a metric value of 2; any of its -subclasses will have a value of 3, and so on. -<p/> -A class that is deep within the tree inherits more methods and state -variables, thereby increasing its complexity and making it difficult to -predict its behavior. It can be harder to understand a system with many -inheritance layers. -<p/> -DIT is defined for classes and interfaces: -<ul> -<li>all interface types have a depth of 1;</li> -<li>the class java.lang.Object has a depth of 1;</li> -<li>all other classes have a depth of 1 + the depth of their super class.</li> -</ul> - -<a name="NOA"/> -<h3>Number of Attributes - NOA</h3> - -The number of distinct state variables in a class serves as one measure of -its complexity. The more state a class represents the more difficult it is to -maintain invariants for it. It also hinders comprehensibility and reuse. -<p/> -In Java, state can be exposed to subclasses through protected fields, which -entails that the subclass also be aware of and maintain any invariants. This -interference with the class's data encapsulation can be a source of defects -and hidden dependencies between the state variables. -<p/> -NOA is defined for classes and interfaces. It counts the number of fields -declared in the class or interface. - -<a name="NRM"/> -<h3>Number of Remote Methods - NRM</h3> - -NRM is defined for classes. A remote method call is defined as an -invocation of a method that is not declared in any of: -<ul> -<li>the class itself;</li> -<li>a class or interface that the class extends or implements;</li> -<li>a class or method that extends the class.</li> -</ul> - -The value is the count of all the remote method calls in all of the methods -and constructors of the class. - -<a name="NLM"/> -<h3>Number of Local Methods - NLM</h3> - -NLM is defined for classes and interfaces. A local method is defined as a -method that is declared in the class or interface. NLM can be configured to -include the local methods of all of the class's superclasses. Methods with -public, protected, package and private visibility can be independently -counted by setting configuration parameters. - -<a name="WMC"/> -<h3>Weighted Methods per Class - WMC</h3> - -If the number of methods in a class can be determined during the design -and modeling phase of a project, it can be used as a predictor of how -much time and effort is needed to develop, debug and maintain it. This -metric can be further refined by incorporating a weighting for the -complexity of each method. The usual weighting is given by the cyclomatic -complexity of the method. -<p/> -The subclasses of a class inherit all of its public and protected methods, -and possibly its package methods as well, so the number of methods a -class has directly impacts the complexity of its subclasses. Classes with -large numbers of methods are often specific to a particular application, -reducing the ability to reuse them. -<p/> -The definition of WMC is based upon NLM, and it provides the same -configuration parameters for counting inherited methods and of varying -visibility. The main difference is that NLM always counts each method as 1, -whereas WMC will weight each method. There are two weighting schemes: -<ul> -<li>V(G) the cyclomatic complexity of the method is used as its weight. - Methods from class files are given a V(G) of 1.</li> -<li>the arity, or the number of parameters of the method are used to - determine the weight.</li> -</ul> - -<a name="RFC"/> -<h3>Response For Class - RFC</h3> - -The response set of a class is the set of all methods that can be invoked as -a result of a message sent to an object of the class. This includes methods -in the class's inheritance hierarchy and methods that can be invoked on -other objects. The Response For Class metric is defined to be size of the -response set for the class. A class which provides a larger response set is -considered to be more complex than one with a smaller response set. -<p/> -One reason for this is that if a method call on a class can result in a large -number of different method calls on the target and other classes, then it -can be harder to test the behavior of the class and debug problems. It will -typically require a deeper understanding of the potential interactions that -objects of the class can have with the rest of the system. -<p/> -RFC is defined as the sum of NLM and NRM for the class. The local methods -include all of the public, protected, package and private methods, but not -methods declared only in a superclass. - -<a name="DAC"/> -<h3>Data Abstraction Coupling - DAC</h3> - -DAC is defined for classes and interfaces. It counts the number of reference -types that are used in the field declarations of the class or interface. The -component types of arrays are also counted. Any field with a type that is -either a supertype or a subtype of the class is not counted. - -<a name="FANOUT"/> -<h3>Fan Out - FANOUT</h3> - -FANOUT is defined for classes and interfaces, constructors and methods. It -counts the number of reference types that are used in: -<ul> -<li>field declarations;</li> -<li>formal parameters and return types;</li> -<li>throws declarations;</li> -<li>local variables.</li> -</ul> - -The component types of arrays are also counted. Any type that is either a -supertype or a subtype of the class is not counted. - -<a name="CBO"/> -<h3>Coupling Between Objects - CBO</h3> - -When one object or class uses another object or class they are said to be -coupled. One major source of coupling is that between a superclass and a -subclass. A coupling is also introduced when a method or field in another -class is accessed, or when an object of another class is passed into or out -of a method invocation. Coupling Between Objects is a measure of the -non-inheritance coupling between two objects. -<p/> -A high value of coupling reduces the modularity of the class and makes -reuse more difficult. The more independent a class is the more likely it is -that it will be possible to reuse it in another part of the system. When a -class is coupled to another class it becomes sensitive to changes in that -class, thereby making maintenance for difficult. In addition, a class that is -overly dependent on other classes can be difficult to understand and test in -isolation. -<p/> -CBO is defined for classes and interfaces, constructors and methods. It -counts the number of reference types that are used in: -<ul> -<li>field declarations</li> -<li>formal parameters and return types</li> -<li>throws declarations</li> -<li>local variables</li> -</ul> - -It also counts: -<ul> -<li>types from which field and method selections are made</li> -</ul> - -The component types of arrays are also counted. Any type that is either a -supertype or a subtype of the class is not counted. - -<a name="LCOM"/> -<h3>Lack of Cohesion Of Methods - LCOM</h3> - -The cohesion of a class is the degree to which its methods are related to -each other. It is determined by examining the pattern of state variable -accesses within the set of methods. If all the methods access the same state -variables then they have high cohesion; if they access disjoint sets of -variables then the cohesion is low. An extreme example of low cohesion -would be if none of the methods accessed any of the state variables. - -If a class exhibits low method cohesion it indicates that the design of the -class has probably been partitioned incorrectly, and could benefit by being -split into more classes with individually higher cohesion. On the other -hand, a high value of cohesion (a low lack of cohesion) implies that the -class is well designed. A cohesive class will tend to provide a high degree -of encapsulation, whereas a lack of cohesion decreases encapsulation and -increases complexity. -<p/> -Another form of cohesion that is useful for Java programs is cohesion -between nested and enclosing classes. A nested class that has very low -cohesion with its enclosing class would probably better designed as a peer -class rather than a nested class. -<p/> -LCOM is defined for classes. Operationally, LCOM takes each pair of -methods in the class and determines the set of fields they each access. If -they have disjoint sets of field accesses increase the count P by one. If they -share at least one field access then increase Q by one. After considering -each pair of methods, -LCOM = (P > Q) ? (P - Q) : 0 -<p/> -Indirect access to fields via local methods can be considered by setting a -metric configuration parameter. - -<a name="NOC"/> -<h3>Number Of Classes - NOC</h3> - -The overall size of the system can be estimated by calculating the number -of classes it contains. A large system with more classes is more complex -than a smaller one because the number of potential interactions between -objects is higher. This reduces the comprehensibility of the system which -in turn makes it harder to test, debug and maintain. -<p/> -If the number of classes in the system can be projected during the initial -design phase of the project it can serve as a base for estimating the total -effort and cost of developing, debugging and maintaining the system. -<p/> -The NOC metric can also usefully be applied at the package and class level -as well as the total system. -<p/> -NOCL is defined for class and interfaces. It counts the number of classes or -interfaces that are declared. This is usually 1, but nested class declarations -will increase this number. -</body> -</html> -</xsl:template> - -<!-- this is the stylesheet css to use for nearly everything --> -<xsl:template name="stylesheet.css"> - .bannercell { - border: 0px; - padding: 0px; - } - body { - margin-left: 10; - margin-right: 10; - font:normal 80% arial,helvetica,sanserif; - background-color:#FFFFFF; - color:#000000; - } - .a td { - background: #efefef; - } - .b td { - background: #fff; - } - th, td { - text-align: left; - vertical-align: top; - } - th { - font-weight:bold; - background: #ccc; - color: black; - } - table, th, td { - font-size:100%; - border: none - } - table.log tr td, tr th { - - } - h2 { - font-weight:bold; - font-size:140%; - margin-bottom: 5; - } - h3 { - font-size:100%; - font-weight:bold; - background: #525D76; - color: white; - text-decoration: none; - padding: 5px; - margin-right: 2px; - margin-left: 2px; - margin-bottom: 0; - } - .Error { - font-weight:bold; color:red; - } - -</xsl:template> - -<!-- print the metrics of the class --> -<xsl:template match="class" mode="class.details"> - <!--xsl:variable name="package.name" select="(ancestor::package)[last()]/@name"/--> - <xsl:variable name="package.name" select="@package"/> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="$package.name"/> - </xsl:call-template> - </HEAD> - <BODY> - <xsl:call-template name="pageHeader"/> - - <H3>Class <xsl:if test="not($package.name = 'unnamed package')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></H3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="all.metrics.header"/> - <xsl:apply-templates select="." mode="print.metrics"/> - </table> - - <H3>Methods</H3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="method.metrics.header"/> - <xsl:apply-templates select="method" mode="print.metrics"/> - </table> - - <xsl:call-template name="pageFooter"/> - </BODY> - </HTML> -</xsl:template> - - -<!-- list of classes in a package --> -<xsl:template match="package" mode="classes.list"> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="@name"/> - </xsl:call-template> - </HEAD> - <BODY> - <table width="100%"> - <tr> - <td nowrap="nowrap"> - <H2><a href="package-summary.html" target="classFrame"><xsl:value-of select="@name"/></a></H2> - </td> - </tr> - </table> - - <H2>Classes</H2> - <TABLE WIDTH="100%"> - <!-- xalan-nodeset:nodeset for Xalan 1.2.2 --> - <xsl:for-each select="$doctree/classes/class[@package = current()/@name]"> - <xsl:sort select="@name"/> - <tr> - <td nowrap="nowrap"> - <a href="{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a> - </td> - </tr> - </xsl:for-each> - </TABLE> - </BODY> - </HTML> -</xsl:template> - - -<!-- - Creates an all-classes.html file that contains a link to all package-summary.html - on each class. ---> -<xsl:template match="metrics" mode="all.classes"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="''"/> - </xsl:call-template> - </head> - <body> - <h2>Classes</h2> - <table width="100%"> - <xsl:for-each select="$doctree/classes/class"> - <xsl:sort select="@name"/> - <xsl:apply-templates select="." mode="all.classes"/> - </xsl:for-each> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="class" mode="all.classes"> - <xsl:variable name="package.name" select="@package"/> - <xsl:variable name="class.name" select="@name"/> - <tr> - <td nowrap="nowrap"> - <a target="classFrame"> - <xsl:attribute name="href"> - <xsl:if test="not($package.name='unnamed package')"> - <xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text> - </xsl:if> - <xsl:value-of select="$class.name"/><xsl:text>.html</xsl:text> - </xsl:attribute> - <xsl:value-of select="$class.name"/> - </a> - </td> - </tr> -</xsl:template> - -<!-- - Creates an html file that contains a link to all package-summary.html files on - each package existing on testsuites. - @bug there will be a problem here, I don't know yet how to handle unnamed package :( ---> -<xsl:template match="metrics" mode="all.packages"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="./package/@name"/> - </xsl:call-template> - </head> - <body> - <h2><a href="overview-summary.html" target="classFrame">Home</a></h2> - <h2>Packages</h2> - <table width="100%"> - <xsl:apply-templates select=".//package[not(./@name = 'unnamed package')]" mode="all.packages"> - <xsl:sort select="@name"/> - </xsl:apply-templates> - </table> - </body> - </html> -</xsl:template> - -<xsl:template match="package" mode="all.packages"> - <tr> - <td nowrap="nowrap"> - <a href="{translate(@name,'.','/')}/package-summary.html" target="classFrame"> - <xsl:value-of select="@name"/> - </a> - </td> - </tr> -</xsl:template> - - -<xsl:template match="metrics" mode="overview.packages"> - <html> - <head> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="''"/> - </xsl:call-template> - </head> - <body onload="open('allclasses-frame.html','classListFrame')"> - <xsl:call-template name="pageHeader"/> - <h3>Summary</h3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <tr> - <th><a href="metrics-reference.html#V(G)">V(G)</a></th> - <th><a href="metrics-reference.html#LOC">LOC</a></th> - <th><a href="metrics-reference.html#DIT">DIT</a></th> - <th><a href="metrics-reference.html#NOA">NOA</a></th> - <th><a href="metrics-reference.html#NRM">NRM</a></th> - <th><a href="metrics-reference.html#NLM">NLM</a></th> - <th><a href="metrics-reference.html#WMC">WMC</a></th> - <th><a href="metrics-reference.html#RFC">RFC</a></th> - <th><a href="metrics-reference.html#DAC">DAC</a></th> - <th><a href="metrics-reference.html#FANOUT">FANOUT</a></th> - <th><a href="metrics-reference.html#CBO">CBO</a></th> - <th><a href="metrics-reference.html#LCOM">LCOM</a></th> - <th><a href="metrics-reference.html#NOCL">NOCL</a></th> - </tr> - <xsl:apply-templates select="." mode="print.metrics"/> - </table> - <table border="0" width="100%"> - <tr> - <td style="text-align: justify;"> - Note: Metrics evaluate the quality of software by analyzing the program source and quantifying - various kind of complexity. Complexity is a common source of problems and defects in software. - High complexity makes it more difficult to develop, understand, maintain, extend, test and debug - a program. - <p/> - The primary use of metrics is to focus your attention on those parts of code that potentially are - complexity hot spots. Once the complex areas your program have been uncovered, you can take remedial - actions. - For additional information about metrics and their meaning, please consult - Metamata Metrics manual. - </td> - </tr> - </table> - - <h3>Packages</h3> - <table border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="all.metrics.header"/> - <xsl:for-each select=".//package[not(@name = 'unnamed package')]"> - <xsl:sort select="@name" order="ascending"/> - <xsl:apply-templates select="." mode="print.metrics"/> - </xsl:for-each> - </table> - <!-- @bug there could some classes at this level (classes in unnamed package) --> - <xsl:call-template name="pageFooter"/> - </body> - </html> -</xsl:template> - -<xsl:template match="package" mode="package.summary"> - <HTML> - <HEAD> - <xsl:call-template name="create.stylesheet.link"> - <xsl:with-param name="package.name" select="@name"/> - </xsl:call-template> - </HEAD> - <body onload="open('package-frame.html','classListFrame')"> - <xsl:call-template name="pageHeader"/> - <!-- create an anchor to this package name --> - <h3>Package <xsl:value-of select="@name"/></h3> - - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="all.metrics.header"/> - <xsl:apply-templates select="." mode="print.metrics"/> - </table> - - <table border="0" width="100%"> - <tr> - <td style="text-align: justify;"> - Note: Metrics evaluate the quality of software by analyzing the program source and quantifying - various kind of complexity. Complexity is a common source of problems and defects in software. - High complexity makes it more difficult to develop, understand, maintain, extend, test and debug - a program. - <p/> - The primary use of metrics is to focus your attention on those parts of code that potentially are - complexity hot spots. Once the complex areas your program have been uncovered, you can take remedial - actions. - For additional information about metrics and their meaning, please consult - Metamata Metrics manual. - </td> - </tr> - </table> - - <xsl:variable name="classes-in-package" select="$doctree/classes/class[@package = current()/@name]"/> - <xsl:if test="count($classes-in-package) > 0"> - <H3>Classes</H3> - <table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"> - <xsl:call-template name="all.metrics.header"/> - <xsl:for-each select="$classes-in-package"> - <xsl:sort select="@name"/> - <xsl:apply-templates select="." mode="print.metrics"/> - </xsl:for-each> - </table> - </xsl:if> - - <xsl:call-template name="pageFooter"/> - </body> - </HTML> -</xsl:template> - - -<!-- - transform string like a.b.c to ../../../ - @param path the path to transform into a descending directory path ---> -<xsl:template name="path"> - <xsl:param name="path"/> - <xsl:if test="contains($path,'.')"> - <xsl:text>../</xsl:text> - <xsl:call-template name="path"> - <xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param> - </xsl:call-template> - </xsl:if> - <xsl:if test="not(contains($path,'.')) and not($path = '')"> - <xsl:text>../</xsl:text> - </xsl:if> -</xsl:template> - - -<!-- create the link to the stylesheet based on the package name --> -<xsl:template name="create.stylesheet.link"> - <xsl:param name="package.name"/> - <LINK REL ="stylesheet" TYPE="text/css" TITLE="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></LINK> -</xsl:template> - - -<!-- Page Header --> -<xsl:template name="pageHeader"> - - <!-- jakarta logo --> - <table border="0" cellpadding="0" cellspacing="0" width="100%"> - <tr> - <td class="bannercell" rowspan="2"> - <a href="http://jakarta.apache.org/"> - <img src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="http://jakarta.apache.org" align="left" border="0"/> - </a> - </td> - <td style="text-align:right"><h2>Source Code Metrics</h2></td> - </tr> - <tr> - <td style="text-align:right">Designed for use with <a href='http://www.webgain.com/products/quality_analyzer/'>Webgain QA/Metamata Metrics</a> and <a href='http://jakarta.apache.org'>Ant</a>.</td> - </tr> - </table> - <hr size="1"/> -</xsl:template> - -<!-- Page Footer --> -<xsl:template name="pageFooter"> - <table width="100%"> - <tr><td><hr noshade="yes" size="1"/></td></tr> - <tr><td> - <div align="center"><font color="#525D76" size="-1"><em> - Copyright © 1999-2001, Apache Software Foundation - </em></font></div> - </td></tr> - </table> -</xsl:template> - -<!-- class header --> -<xsl:template name="all.metrics.header"> - <tr> - <th width="80%">Name</th> - <th nowrap="nowrap">V(G)</th> - <th>LOC</th> - <th>DIT</th> - <th>NOA</th> - <th>NRM</th> - <th>NLM</th> - <th>WMC</th> - <th>RFC</th> - <th>DAC</th> - <th>FANOUT</th> - <th>CBO</th> - <th>LCOM</th> - <th>NOCL</th> - </tr> -</xsl:template> - -<!-- method header --> -<xsl:template name="method.metrics.header"> - <tr> - <th width="80%">Name</th> - <th nowrap="nowrap">V(G)</th> - <th>LOC</th> - <th>FANOUT</th> - <th>CBO</th> - </tr> -</xsl:template> - -<!-- method information --> -<xsl:template match="method" mode="print.metrics"> - <tr> - <xsl:call-template name="alternate-row"/> - <td><xsl:apply-templates select="@name"/></td> - <td><xsl:apply-templates select="@vg"/></td> - <td><xsl:apply-templates select="@loc"/></td> - <td><xsl:apply-templates select="@fanout"/></td> - <td><xsl:apply-templates select="@cbo"/></td> - </tr> -</xsl:template> - -<!-- class information --> -<xsl:template match="class" mode="print.metrics"> - <tr> - <xsl:call-template name="alternate-row"/> - <td><a href="{@name}.html"><xsl:value-of select="@name"/></a></td> - <td><xsl:apply-templates select="@vg"/></td> - <td><xsl:apply-templates select="@loc"/></td> - <td><xsl:apply-templates select="@dit"/></td> - <td><xsl:apply-templates select="@noa"/></td> - <td><xsl:apply-templates select="@nrm"/></td> - <td><xsl:apply-templates select="@nlm"/></td> - <td><xsl:apply-templates select="@wmc"/></td> - <td><xsl:apply-templates select="@rfc"/></td> - <td><xsl:apply-templates select="@dac"/></td> - <td><xsl:apply-templates select="@fanout"/></td> - <td><xsl:apply-templates select="@cbo"/></td> - <td><xsl:apply-templates select="@lcom"/></td> - <td><xsl:apply-templates select="@nocl"/></td> - </tr> -</xsl:template> - -<xsl:template match="file|package" mode="print.metrics"> - <tr> - <xsl:call-template name="alternate-row"/> - <td> - <a href="{translate(@name,'.','/')}/package-summary.html" target="classFrame"> - <xsl:value-of select="@name"/> - </a> - </td> - <td><xsl:apply-templates select="@vg"/></td> - <td><xsl:apply-templates select="@loc"/></td> - <td><xsl:apply-templates select="@dit"/></td> - <td><xsl:apply-templates select="@noa"/></td> - <td><xsl:apply-templates select="@nrm"/></td> - <td><xsl:apply-templates select="@nlm"/></td> - <td><xsl:apply-templates select="@wmc"/></td> - <td><xsl:apply-templates select="@rfc"/></td> - <td><xsl:apply-templates select="@dac"/></td> - <td><xsl:apply-templates select="@fanout"/></td> - <td><xsl:apply-templates select="@cbo"/></td> - <td><xsl:apply-templates select="@lcom"/></td> - <td><xsl:apply-templates select="@nocl"/></td> - </tr> -</xsl:template> - -<xsl:template match="metrics" mode="print.metrics"> - <tr> - <xsl:call-template name="alternate-row"/> - <!-- the global metrics is the top package metrics --> - <td><xsl:apply-templates select="./package/@vg"/></td> - <td><xsl:apply-templates select="./package/@loc"/></td> - <td><xsl:apply-templates select="./package/@dit"/></td> - <td><xsl:apply-templates select="./package/@noa"/></td> - <td><xsl:apply-templates select="./package/@nrm"/></td> - <td><xsl:apply-templates select="./package/@nlm"/></td> - <td><xsl:apply-templates select="./package/@wmc"/></td> - <td><xsl:apply-templates select="./package/@rfc"/></td> - <td><xsl:apply-templates select="./package/@dac"/></td> - <td><xsl:apply-templates select="./package/@fanout"/></td> - <td><xsl:apply-templates select="./package/@cbo"/></td> - <td><xsl:apply-templates select="./package/@lcom"/></td> - <td><xsl:apply-templates select="./package/@nocl"/></td> - </tr> -</xsl:template> - -<!-- alternated row style --> -<xsl:template name="alternate-row"> -<xsl:attribute name="class"> - <xsl:if test="position() mod 2 = 1">a</xsl:if> - <xsl:if test="position() mod 2 = 0">b</xsl:if> -</xsl:attribute> -</xsl:template> - - -<!-- how to display the metrics with their max value --> -<!-- @todo the max values must be external to the xsl --> - - <xsl:template match="@vg"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$vg.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@loc"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$loc.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@dit"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$dit.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@noa"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$noa.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@nrm"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$nrm.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@nlm"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$nlm.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@wmc"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$wmc.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@rfc"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$rfc.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@dac"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$dac.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@fanout"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$fanout.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@cbo"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$cbo.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@lcom"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$lcom.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="@nocl"> - <xsl:call-template name="display-value"> - <xsl:with-param name="value" select="current()"/> - <xsl:with-param name="max" select="$nocl.max"/> - </xsl:call-template> - </xsl:template> - - <xsl:template name="display-value"> - <xsl:param name="value"/> - <xsl:param name="max"/> - <xsl:if test="$value > $max"> - <xsl:attribute name="class">Error</xsl:attribute> - </xsl:if> - <xsl:value-of select="$value"/> - </xsl:template> - -</xsl:stylesheet> - diff --git a/build/tools/jakarta-ant-1.5.1/etc/tagdiff.xsl b/build/tools/jakarta-ant-1.5.1/etc/tagdiff.xsl deleted file mode 100644 index 4dac8f4b7..000000000 --- a/build/tools/jakarta-ant-1.5.1/etc/tagdiff.xsl +++ /dev/null @@ -1,162 +0,0 @@ -<!-- a stylesheet to display changelogs ala netbeans --> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version="1.0"> - - <xsl:param name="title"/> - <xsl:param name="module"/> - <xsl:param name="cvsweb"/> - - <xsl:output method="html" indent="yes"/> - - <!-- Copy standard document elements. Elements that - should be ignored must be filtered by apply-templates - tags. --> - <xsl:template match="*"> - <xsl:copy> - <xsl:copy-of select="attribute::*[. != '']"/> - <xsl:apply-templates/> - </xsl:copy> - </xsl:template> - - <xsl:template match="tagdiff"> - <HTML> - <HEAD> - <TITLE><xsl:value-of select="$title"/></TITLE> - </HEAD> - <BODY link="#000000" alink="#000000" vlink="#000000" text="#000000"> - <style type="text/css"> - body, p { - font-family: verdana,arial,helvetica; - font-size: 80%; - color:#000000; - } - .dateAndAuthor { - font-family: verdana,arial,helvetica; - font-size: 80%; - font-weight: bold; - text-align:left; - background:#a6caf0; - } - tr, td{ - font-family: verdana,arial,helvetica; - font-size: 80%; - background:#eeeee0; - } - </style> - <h1> - <a name="top"><xsl:value-of select="$title"/></a> - </h1> - Tagdiff between <xsl:value-of select="@startTag"/> <xsl:value-of select="@startDate"/> and - <xsl:value-of select="@endTag"/> <xsl:value-of select="@endDate"/> - <p align="right">Designed for use with <a href="http://jakarta.apache.org">Ant</a>.</p> - <hr size="2"/> - <a name="TOP"/> - <table width="100%"> - <tr> - <td align="right"> - <a href="#New">New Files</a> | - <a href="#Modified">Modified Files</a> | - <a href="#Removed">Removed Files</a> - </td> - </tr> - </table> - <TABLE BORDER="0" WIDTH="100%" CELLPADDING="3" CELLSPACING="1"> - <xsl:call-template name="show-entries"> - <xsl:with-param name="title">New Files</xsl:with-param> - <xsl:with-param name="anchor">New</xsl:with-param> - <xsl:with-param name="entries" select=".//entry[file/revision][not(file/prevrevision)]"/> - </xsl:call-template> - - <xsl:call-template name="show-entries"> - <xsl:with-param name="title">Modified Files</xsl:with-param> - <xsl:with-param name="anchor">Modified</xsl:with-param> - <xsl:with-param name="entries" select=".//entry[file/revision][file/prevrevision]"/> - </xsl:call-template> - - <xsl:call-template name="show-entries"> - <xsl:with-param name="title">Removed Files</xsl:with-param> - <xsl:with-param name="anchor">Removed</xsl:with-param> - <xsl:with-param name="entries" select=".//entry[not(file/revision)][not(file/prevrevision)]"/> - </xsl:call-template> - </TABLE> - - </BODY> - </HTML> - </xsl:template> - - <xsl:template name="show-entries"> - <xsl:param name="title"/> - <xsl:param name="anchor"/> - <xsl:param name="entries"/> - <TR> - <TD colspan="2" class="dateAndAuthor"> - <a> - <xsl:attribute name="name"><xsl:value-of select="$anchor"/></xsl:attribute> - <xsl:value-of select="$title"/> - <xsl:value-of select="count($entries)"/> entries - </a> - <a href="#TOP">(back to top)</a> - </TD> - </TR> - <TR> - <TD width="20"> - <xsl:text> </xsl:text> - </TD> - <TD> - <ul> - <xsl:apply-templates select="$entries"/> - </ul> - </TD> - </TR> - </xsl:template> - - <xsl:template match="entry"> - <xsl:apply-templates select="file"/> - </xsl:template> - - <xsl:template match="date"> - <i><xsl:value-of select="."/></i> - </xsl:template> - - <xsl:template match="time"> - <i><xsl:value-of select="."/></i> - </xsl:template> - - <xsl:template match="author"> - <i> - <a> - <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute> - <xsl:value-of select="."/> - </a> - </i> - </xsl:template> - - <xsl:template match="file"> - <li> - <a target="_new"> - <xsl:attribute name="href"><xsl:value-of select="$cvsweb"/><xsl:value-of select="$module" />/<xsl:value-of select="name" /></xsl:attribute> - <xsl:value-of select="name" /> - </a> - <xsl:if test="string-length(prevrevision) > 0 or string-length(revision) > 0"> - <xsl:text> </xsl:text> - <a target="_new"> - <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="revision"/>) - </a> - </xsl:if> - </li> - </xsl:template> - - <!-- Any elements within a msg are processed, - so that we can preserve HTML tags. --> - <xsl:template match="msg"> - <b><xsl:apply-templates/></b> - </xsl:template> - -</xsl:stylesheet> diff --git a/build/tools/jakarta-ant-1.5.1/lib/README b/build/tools/jakarta-ant-1.5.1/lib/README deleted file mode 100644 index 250f071e9..000000000 --- a/build/tools/jakarta-ant-1.5.1/lib/README +++ /dev/null @@ -1,15 +0,0 @@ -Please refer to the Ant manual under Installing Ant / Library
-Dependencies for a list of the jar requirements for various optional
-tasks and features.
-
-This directory contains xercesImpl.jar from the 2.2.0 release of
-Apache Xerces. For more information or newer releases see
-<http://xml.apache.org/xerces2-j/>. See the file LICENSE.xerces for
-the terms of distribution.
-
-It also contains xml-apis.jar, an Apache-controlled collection of
-standard classes from the 1.0b2 release of the Apache XML-Commons
-release. For more information or newer releases see
-<http://xml.apache.org/commons/>. See the files LICENSE.dom and
-LICENSE.sax for the terms of distribution.
-
diff --git a/build/tools/jakarta-ant-1.5.1/lib/ant.jar b/build/tools/jakarta-ant-1.5.1/lib/ant.jar Binary files differdeleted file mode 100644 index 7cf87e838..000000000 --- a/build/tools/jakarta-ant-1.5.1/lib/ant.jar +++ /dev/null diff --git a/build/tools/jakarta-ant-1.5.1/lib/iContract-jdk1_2.jar b/build/tools/jakarta-ant-1.5.1/lib/iContract-jdk1_2.jar Binary files differdeleted file mode 100644 index a05cd9276..000000000 --- a/build/tools/jakarta-ant-1.5.1/lib/iContract-jdk1_2.jar +++ /dev/null diff --git a/build/tools/jakarta-ant-1.5.1/lib/optional.jar b/build/tools/jakarta-ant-1.5.1/lib/optional.jar Binary files differdeleted file mode 100644 index 1128e1d97..000000000 --- a/build/tools/jakarta-ant-1.5.1/lib/optional.jar +++ /dev/null diff --git a/build/tools/jakarta-ant-1.5.1/lib/xercesImpl.jar b/build/tools/jakarta-ant-1.5.1/lib/xercesImpl.jar Binary files differdeleted file mode 100644 index d41cf97ed..000000000 --- a/build/tools/jakarta-ant-1.5.1/lib/xercesImpl.jar +++ /dev/null diff --git a/build/tools/jakarta-ant-1.5.1/lib/xml-apis.jar b/build/tools/jakarta-ant-1.5.1/lib/xml-apis.jar Binary files differdeleted file mode 100644 index 8331d27f1..000000000 --- a/build/tools/jakarta-ant-1.5.1/lib/xml-apis.jar +++ /dev/null diff --git a/build/tools/jakarta-ant-1.5.1/welcome.html b/build/tools/jakarta-ant-1.5.1/welcome.html deleted file mode 100644 index 33f6a2a05..000000000 --- a/build/tools/jakarta-ant-1.5.1/welcome.html +++ /dev/null @@ -1,124 +0,0 @@ -<html> -<head> -<title>Welcome to Ant1.5</title> -</head> -<body bgcolor="#ffffff"> -<h1>Welcome to Ant1.5</h1> -Hello, and welcome to Ant1.5 -<p> -For new users to Ant, welcome to a new way to build your software. -<p> -For veteran Ant users, its been, what nine months since Ant 1.4.1 -shipped, and we've been as busy enhancing it as you've been using it. -<p> - -We know you've been using Ant, not just from the all the bug reports we -see, but from the awards we've been getting from JavaWorld and SD Magazine -and from the fact that it is now clearly a mainstream product. Every quality IDE, -from the Open Source projects: Emacs, NetBeans, Eclipse, JEdit, to the -commercial offerings such as IntelliJ IDEA and JBuilder now have high -quality Ant integration either built in or available as a -download. And they do that not just because it improves their products, -giving users the best of both worlds -great editors and a great build -process, but because Java developers are starting to expect Ant (and -JUnit) everywhere. -<p> -Even in mid-2001, if you said you were using Ant in your project, people -would stare at you. Now, as long as you are talking with Java developers -and not management or your family and friends, people will nod, shrug -and maybe ask you questions about build file and Ant configurations. The good -news: Ant 1.5 includes more helpful error messages and a new -<tt>-diagnostics</tt> command to look at your Ant installation and help work out why -things arent working. -<p> -Now, when you tell people you work on Ant in your spare time, -people used to give you very funny stares; now they ask you about how to -set up automated build processes, or deploy to some random app server. -The good news: Ant 1.5 makes it easier to answer those questions. - -The other sign of mainstream is that there are also books on the -subject, first Java Tools for Extreme Programming, then Ant: The -Definitive Guide, and the first Ant1.5 book, Java Development with Ant, -due to ship at the end of the month. (Steve says: I prefer the one with -my name on the cover as co-author, but I'm biased). -As usual, the manual has improved too: -regardless of whether you need a book to work with Ant or not, you need -that on-line documentation. And as usual, any extra contributions to the -docs are welcome indeed. -<p> -Ant has also influenced how projects are built. Now when you download -any open source project, or work with a closed source team, you expect -to see a file called build.xml there. Equally important, you expect that -build file to compile and run a set of tests using JUnit or a derivative -thereof; if they are missing, you worry. -<p> -Together, Ant and JUnit have transformed the mainstream process for -building and deploying Java projects. And that's pretty profound, when -you think about it. What is equally impressive is that this was all done -as a co-operative effort. Nobody works on Ant full-time; everybody uses -it to solve their problems, to address their build crises and generally -get something done in a hurry. It just so happens that the architectural -model of Java classes bound via introspection to the XML build file -makes it easy for people to add new tasks, extend existing ones and -generally ease their way into developing and extending Ant. It is the -users that have helped Ant become the success it is today, and will keep -it that way tomorrow. -<p> -<h2>What has changed</h2> -<p> -So, what is new in Ant1.5? Lots of stuff. You will have to look at the -<a href="WHATSNEW">whatsnew</a> file to see, but basically the changes -fall into a number of categories -<ol> -<li>Bug fixes. We know, some things were broken in 1.4. In ant1.5 we -have moved the bugs, fixing the ones we could, and no doubt adding -different ones. Hopefully the total bug count has decreased. -<li>Scalability. Changes in <ant> and a few other tasks should -make it easier to write large, scalable build files. -<li>Deployment. Take a look at the new <serverdeploy> task, add support -for your server if it isnt there. Tomcat 4.1 has its own deployment -tasks incidentally -fetch them from the tomcat pages. -<li>Ease of use. We have added new attributes to make the archive tasks -consistent with each other, new error messages for common problems (you -get a screenful of help when a task wont instantiate, for example), and -generally try and be helpful. As usual, we will accept contributions to -the documentation or the code for even more helpfulness. Hey, in ant1.5 -you dont need to double escape the $ sign to preserve it in a string! -<li>Java 1.4 support. We build and test fine on Java 1.4, and have the -extensions to javac needed to build code with assertions in. We should -point out that we have more work to do in this area: if someone wants to -write an <assertionset> datatype to give users control of which assertions -to enable, and patch this in to things like the <junit> and -<java> tasks, things would get very interesting. -<li>Continuous builds. Automated build tools are becoming more widely -used; fork options on <javac> and <javadoc> are there to -stop memory use growth on a continuous process. -<li>New platforms: MacOS X for owners of those cute little laptops, -Novell Netware servers, and even z/OS and OS/390 for mainframe -developers who write their build files on their virtual card punches. -<li>Conditions. Take a look at the <condition> tag to see what you can -look for, then at <waitfor> to use the same tests in deployment. -Finally, notice the <tt>if</tt> and <tt>unless</tt> attributes on -<fail> for easy halting of the build on a condition, without -having to resort to conditional targets. -</ol> - -There are many more enhancements, so we hope you will find your build -projects easier. We have, as usual, jumped through hoops to keep -existing builds working, even those build files that went out their way -to not work on Java 1.4 (hint: dont ask for the classic compiler, it has -gone away). If your build file stops working, and it isnt something listed -on the 'changes that may break your build' part of the WHATSNEW file, or -something we know about on bugzilla, please dont hesitate to file a new -bug report, preferably one with a replicable test and a patch to fix the -problem. -<p> -Thanks, -<p> -The Ant development team. -<p> -PS: many thanks for Magesh to being the build manager for this release! -He has been busy since Feb/March organizing it. Magesh -you are so good -at this you should do it next time too :) -</body></html> - |