[jboss-svn-commits] JBL Code SVN: r24325 - in labs/jbossbuild/buildmagic/trunk: common/src/main/org/jboss/net/protocol/http and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Dec 9 13:54:59 EST 2008
Author: pgier
Date: 2008-12-09 13:54:59 -0500 (Tue, 09 Dec 2008)
New Revision: 24325
Added:
labs/jbossbuild/buildmagic/trunk/common/ivy.xml
labs/jbossbuild/buildmagic/trunk/tasks/ivy.xml
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/CHANGES.txt
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/LICENSE
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/NOTICE
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/README
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/RELEASE_NOTES
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/build.xml
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy-2.0.0-rc2.jar
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xml
labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xsd
labs/jbossbuild/buildmagic/trunk/tools/etc/ivy/
labs/jbossbuild/buildmagic/trunk/tools/etc/ivy/ivysettings.xml
Removed:
labs/jbossbuild/buildmagic/trunk/tools/etc/changelog.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/checkstyle-frames.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/coverage-frames.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend-frames.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/junit-frames.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/junit-noframes.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/log.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/maudit-frames.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/mmetrics-frames.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/tagdiff.xsl
labs/jbossbuild/buildmagic/trunk/tools/etc/xdoclet/
Modified:
labs/jbossbuild/buildmagic/trunk/common/build.xml
labs/jbossbuild/buildmagic/trunk/common/src/main/org/jboss/net/protocol/http/DavURLLister.java
labs/jbossbuild/buildmagic/trunk/tasks/build.xml
Log:
[JBBUILD-503] Switch to ivy for dependencies.
Modified: labs/jbossbuild/buildmagic/trunk/common/build.xml
===================================================================
--- labs/jbossbuild/buildmagic/trunk/common/build.xml 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/common/build.xml 2008-12-09 18:54:59 UTC (rev 24325)
@@ -19,7 +19,7 @@
<!--| Buildmagic extentions. |-->
<!--+======================================================================+-->
-<project default="main" name="JBoss/Common" xmlns:artifact="urn:maven-artifact-ant">
+<project default="main" name="JBoss/Common" xmlns:ivy="antlib:org.apache.ivy.ant">
<!--+====================================================================+-->
<!--| Setup |-->
@@ -34,12 +34,6 @@
&defaults;
&tools;
- <path id="maven-ant-tasks.classpath" path="../tools/lib/maven-ant-tasks-2.0.9.jar" />
- <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
- uri="urn:maven-artifact-ant"
- classpathref="maven-ant-tasks.classpath" />
-
-
<!--+====================================================================+-->
<!--| Initialization |-->
<!--| |-->
@@ -65,32 +59,16 @@
<property name="module.name" value="common"/>
<property name="module.Name" value="JBoss/Common"/>
- <!-- Configure thirdparty libraries using maven-->
- <artifact:dependencies pathId="library.classpath">
- <dependency groupId="log4j" artifactId="log4j"
- version="1.2.4"/>
- <dependency groupId="slide" artifactId="webdavlib"
- version="1.0.16" />
- <dependency groupId="commons-httpclient" artifactId="commons-httpclient"
- version="2.0.2" />
- <dependency groupId="junit" artifactId="junit"
- version="3.7" />
- <dependency groupId="gnu-regexp" artifactId="gnu-regexp"
- version="1.1.4" />
- <!--<dependency groupId="com.sun.jmx" artifactId="jmxri"
- version="1.2" /> -->
- <dependency groupId="dom4j" artifactId="dom4j"
- version="1.3" />
- </artifact:dependencies>
-
- <!--<dependency-manager
- cacheDir="${project.thirdparty.cache}"
- metadataFile="${project.root}/build/.metadata/${module.name}.tstamp"
- dependencyFile="${module.root}/dependencies.xml"
- offline="${dependency-manager.offline}"
- pathID="library.classpath">
- <repository url="http://jboss.sf.net/buildmagic/thirdparty" type="jboss"/>
- </dependency-manager>-->
+ <!-- Configure thirdparty libraries using ivy-->
+ <path id="ivy.classpath" path="../tools/apache-ivy/ivy-2.0.0-rc2.jar" />
+ <typedef resource="org/apache/ivy/ant/antlib.xml"
+ uri="antlib:org.apache.ivy.ant"
+ classpathref="ivy.classpath" />
+ <ivy:settings file="../tools/etc/ivy/ivysettings.xml"></ivy:settings>
+ <ivy:cachefileset setid="dependencies.classpath"/>
+ <path id="library.classpath">
+ <fileset refid="dependencies.classpath"/>
+ </path>
<!-- Required for XDoclet until tools depends are handled by DM -->
<!--<call target="configure-libraries"/>-->
Added: labs/jbossbuild/buildmagic/trunk/common/ivy.xml
===================================================================
--- labs/jbossbuild/buildmagic/trunk/common/ivy.xml (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/common/ivy.xml 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,11 @@
+<ivy-module version="2.0">
+ <info organisation="jboss" module="common"/>
+ <dependencies>
+ <dependency org="log4j" name="log4j" rev="1.2.4"/>
+ <dependency org="slide" name="slide-webdavlib" rev="2.1"/>
+ <dependency org="commons-httpclient" name="commons-httpclient" rev="2.0.2"/>
+ <dependency org="junit" name="junit" rev="3.8.1"/>
+ <dependency org="gnu-regexp" name="gnu-regexp" rev="1.1.14"/>
+ <dependency org="dom4j" name="dom4j" rev="1.6.1"/>
+ </dependencies>
+</ivy-module>
Property changes on: labs/jbossbuild/buildmagic/trunk/common/ivy.xml
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: labs/jbossbuild/buildmagic/trunk/common/src/main/org/jboss/net/protocol/http/DavURLLister.java
===================================================================
--- labs/jbossbuild/buildmagic/trunk/common/src/main/org/jboss/net/protocol/http/DavURLLister.java 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/common/src/main/org/jboss/net/protocol/http/DavURLLister.java 2008-12-09 18:54:59 UTC (rev 24325)
@@ -18,7 +18,7 @@
import java.util.List;
import org.apache.commons.httpclient.HttpException;
-import org.apache.util.HttpURL;
+import org.apache.commons.httpclient.HttpURL;
import org.apache.webdav.lib.WebdavResource;
import org.jboss.net.protocol.URLListerBase;
@@ -33,7 +33,7 @@
WebdavResource member = resources[i];
HttpURL httpURL = member.getHttpURL();
if (filter.accept(baseUrl, httpURL.getName())) {
- String url = httpURL.getUnescapedHttpURL();
+ String url = httpURL.getURI();
if (member.isCollection() && url.endsWith("/") == false) {
url += "/";
}
Modified: labs/jbossbuild/buildmagic/trunk/tasks/build.xml
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tasks/build.xml 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tasks/build.xml 2008-12-09 18:54:59 UTC (rev 24325)
@@ -19,7 +19,7 @@
<!--| Buildmagic extentions. |-->
<!--+======================================================================+-->
-<project default="main" name="Buildmagic/Tasks" xmlns:artifact="urn:maven-artifact-ant">
+<project name="Buildmagic/Tasks" default="main" xmlns:ivy="antlib:org.apache.ivy.ant">
<!--+====================================================================+-->
<!--| Setup |-->
@@ -34,10 +34,22 @@
&defaults;
&tools;
- <path id="maven-ant-tasks.classpath" path="../tools/lib/maven-ant-tasks-2.0.9.jar" />
- <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
+ <path id="ivy.classpath" path="../tools/apache-ivy/ivy-2.0.0-rc2.jar" />
+ <typedef resource="org/apache/ivy/ant/antlib.xml"
+ uri="antlib:org.apache.ivy.ant"
+ classpathref="ivy.classpath" />
+
+ <target name="resolve-dependencies" description="Retreive dependencies with ivy">
+ <ivy:settings file="../tools/etc/ivy/ivysettings.xml"></ivy:settings>
+ <ivy:cachefileset setid="dependencies.classpath"/>
+ <path id="library.classpath">
+ <fileset refid="dependencies.classpath"/>
+ </path>
+ </target>
+
+ <!--<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="urn:maven-artifact-ant"
- classpathref="maven-ant-tasks.classpath" />
+ classpathref="maven-ant-tasks.classpath" />-->
<!--+====================================================================+-->
<!--| Initialization |-->
@@ -58,7 +70,7 @@
<!--| and should contain module specific configuration elements. |-->
<!--+====================================================================+-->
- <target name="configure" unless="configure.disable">
+ <target name="configure" unless="configure.disable" depends="resolve-dependencies">
<!-- Module name(s) & version -->
<property name="module.name" value="tasks"/>
@@ -70,7 +82,7 @@
<!-- Configure thirdparty libraries using maven -->
- <artifact:dependencies pathId="library.classpath">
+ <!--<artifact:dependencies pathId="library.classpath">
<dependency groupId="log4j" artifactId="log4j"
version="1.2.4"/>
<dependency groupId="bsf" artifactId="bsf"
@@ -79,7 +91,7 @@
version="1.0.3.GA" />
<dependency groupId="junit" artifactId="junit"
version="3.8.1" />
- </artifact:dependencies>
+ </artifact:dependencies>-->
<!--<dependency-manager
cacheDir="${project.thirdparty.cache}"
Added: labs/jbossbuild/buildmagic/trunk/tasks/ivy.xml
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tasks/ivy.xml (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tasks/ivy.xml 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,9 @@
+<ivy-module version="2.0">
+ <info organisation="jboss" module="tasks"/>
+ <dependencies>
+ <dependency org="log4j" name="log4j" rev="1.2.4"/>
+ <dependency org="bsf" name="bsf" rev="2.4.0"/>
+ <dependency org="jboss" name="jboss-common" rev="1.0.3.GA"/>
+ <dependency org="junit" name="junit" rev="3.8.1"/>
+ </dependencies>
+</ivy-module>
Property changes on: labs/jbossbuild/buildmagic/trunk/tasks/ivy.xml
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/CHANGES.txt
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/CHANGES.txt (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/CHANGES.txt 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,935 @@
+ Ivy
+ - The agile open source dependency manager
+ - http://ant.apache.org/ivy
+ ============================================
+
+for detailed view of each issue, please consult http://issues.apache.org/jira/browse/IVY
+
+ Committers
+ Maarten Coene
+ Xavier Hanin
+ Nicolas Lalevée
+ Gilles Scokart
+
+ Contributors
+ Ingo Adler
+ Stephane Bailliez
+ Karl Baum
+ Mikkel Bjerg
+ Jeffrey Blattman
+ Jim Bonanno
+ Matthieu Brouillard
+ Carlton Brown
+ Mirko Bulovic
+ Jamie Burns
+ Chris Chilvers
+ Kristian Cibulskis
+ Andrea Bernardo Ciddio
+ Archie Cobbs
+ Danno Ferrin
+ Benjamin Francisoud
+ Jacob Grydholt Jensen
+ Scott Goldstein
+ Pierre Hägnestrand
+ Scott Hebert
+ Tobias Himstedt
+ Ben Hale
+ Peter Hayes
+ Scott Hebert
+ Matt Inger
+ Anders Janmyr
+ Christer Jonsson
+ Michael Kebe
+ Matthias Kilian
+ Alexey Kiselev
+ Gregory Kisling
+ Tat Leung
+ Costin Leau
+ Antoine Levy-Lambert
+ William Lyvers
+ Sakari Maaranen
+ Jan Materne
+ Markus M. May
+ Stephen Nesbitt
+ Joshua Nichols
+ Bernard Niset
+ David Maplesden
+ Glen Marchesani
+ Phil Messenger
+ Mathias Muller
+ Randy Nott
+ Peter Oxenham
+ Emmanuel Pellereau
+ Roshan Punnoose
+ Jean-Baptiste Quenot
+ Damon Rand
+ Geoff Reedy
+ Christian Riege
+ Andreas Sahlbach
+ Brian Sanders
+ Adrian Sandor
+ Ruslan Shevchenko
+ John Shields
+ Simon Steiner
+ Johan Stuyts
+ Jason Trump
+ Tjeerd Verhagen
+ James P. White
+ Tom Widmer
+ John Williams
+ Chris Wood
+ Patrick Woodworth
+ Jaroslaw Wypychowski
+
+ 2.0.0-rc2
+=====================================
+- DOCUMENTATION: Filesystem resolver: talks about "patterns" but does not mention these must become absolute file paths (IVY-910)
+
+- NEW: Allow authentication credentials to be specified in settings file (IVY-943) (thanks to Randy Nott)
+
+- IMPROVEMENT: Error messages on use of relative paths can be cyrptic (IVY-909)
+- IMPROVEMENT: Maven accepts illegal XML for its pom's, Ivy not (IVY-921)
+- IMPROVEMENT: Ivy should set the ${basedir} property (IVY-953)
+
+- FIX: NullPointerException in AbstractPatternsBasedResolver when organization is null (IVY-928)
+- FIX: NullPointerException when Ivy cannot locate pom parent (IVY-927)
+- FIX: Cannot configure items with java.io.File attributes (IVY-905)
+- FIX: Environment properties in ivy settings are no longer resolved (IVY-907)
+- FIX: Resolve failed on certain proxy environment (IVY-911)
+- FIX: Ivy can't handle bare POM ${groupId} property (IVY-913) (thanks to Tom Widmer)
+- FIX: Properties needed to parse version in POM (IVY-914) (thanks to Tom Widmer)
+- FIX: build.xml: checkstyle + checkstyle-report dont work together (IVY-919)
+- FIX: Maven packaging of "pom" should add a "jar" artifact if present (IVY-920)
+- FIX: StackOverflow when using ivy:settings with "ivy.instance" as id (IVY-924)
+- FIX: Maven Pom reader doesn't handle optional dependencies correctly in some instances (IVY-926) (thanks to Phil Messenger)
+- FIX: ivy:settings doesn't work if id is a property (IVY-925)
+- FIX: HttpClientHandler hanging in certain cases (IVY-930) (thanks to Scott Hebert)
+- FIX: Can't download files containing space or + in their names by HTTP (IVY-923)
+- FIX: Maven2 parser doesn't support POMs with <model> as root (IVY-932)
+- FIX: Default retrieve, publish and deliver patterns doesn't include the [classifier] token (IVY-935)
+- FIX: Can't use latest.release for pom dependencies (IVY-936)
+- FIX: Unable to resolve snapshot versions depending on xml elements order (IVY-940)
+- FIX: pre-resolve-dependency event doesn't export branch information (IVY-941) (thanks to Jaroslaw Wypychowski)
+- FIX: cachefileset produces an empty fileset when the cache refers to libs in directories that only have the root directory in common (IVY-948) (thanks to Chris Wood)
+- FIX: Extra Attributes specified in the Dependency's Module Descriptor are not available to resolvers (IVY-929) (thanks to Scott Hebert)
+- FIX: Support for passing arbitrary arguments to the -main invoked class when using the standalone mode is severely limited (IVY-952) (thanks to Patrick Woodworth)
+- FIX: Correctly set ivy.resolved.configurations property when the conf string includes a negation operator (IVY-951) (thanks to Patrick Woodworth)
+- FIX: Maven pom license url can contain xml entities (IVY-950)
+- FIX: Maven pom license has name as optional element (IVY-949)
+- FIX: Ivy doesn't throw an error when the parent POM cannot be loaded (IVY-931)
+- FIX: Maven pom parser is not handling pom property ${project.parent.version} (IVY-955)
+- FIX: inline resolve ignores the transitive attribute (IVY-958)
+
+ 2.0.0-rc1
+=====================================
+- NEW: Report version of Ivy in HTTP headers (user-agent?) when Ivy downloads artifacts (IVY-878)
+- NEW: Add publish support to URL resolver (IVY-848) (thanks to Brian Sanders)
+- NEW: Better support for local builds (IVY-857)
+- NEW: Retain original dependency constraint rules in resolved ivy file (IVY-739)
+- NEW: Add a new resolve mode (optionally per module) to utilize dynamic constraint rule metadata (IVY-740)
+- NEW: Add transitive dependency version and branch override mechanism (IVY-784)
+- NEW: Add new packager resolver (IVY-829) (thanks to Archie Cobbs)
+
+- IMPROVEMENT: DualResolver should also provide setDescriptor method instead of setAllownomd, which is deprecated for the other resolvers (IVY-903)
+- IMPROVEMENT: Parse license information in poms (IVY-892)
+- IMPROVEMENT: Change 'alwaysUseExactRevision' default value to false (IVY-891)
+- IMPROVEMENT: Better and more homogeneous relative paths handling (IVY-387)
+- IMPROVEMENT: undeprecate configure task (IVY-849)
+- IMPROVEMENT: Detect missing artifacts on publish asap (IVY-862)
+- IMPROVEMENT: Allow to set the branch at deliver/publish time (IVY-859)
+- IMPROVEMENT: Add defaultconf in publications tag of ivy file (IVY-801)
+- IMPROVEMENT: Support atomic publish with sub directory structure (IVY-856)
+- IMPROVEMENT: Provide ant task to retrieve information from published ivy modules (IVY-838) (thanks to David Maplesden)
+- IMPROVEMENT: Install task fails but reason is not displayed without using -debug or -verbose (IVY-834)
+- IMPROVEMENT: SSH resolver doesn't support keyboard-interactive authentication (IVY-836) (thanks to Tobias Himstedt)
+- IMPROVEMENT: declare source and javadoc artifacts in maven2 modules (IVY-325)
+- IMPROVEMENT: Set the last modified attribute of files downloaded from repositories (IVY-823)
+- IMPROVEMENT: If DNS is playing up, Ivy takes a lot longer to sort project dependencies (IVY-817)
+- IMPROVEMENT: make it possible to specify permissions of published files for the SSH resolver (IVY-764)
+- IMPROVEMENT: Load Ivy version number into some Ant property (IVY-790)
+- IMPROVEMENT: Make Ivy standalone runnable with no required dependencies (IVY-757)
+- IMPROVEMENT: add branch attribute in ivy:install task (IVY-727)
+- IMPROVEMENT: Parse description information in ivy files (IVY-766)
+- IMPROVEMENT: Parse description and home page from poms (IVY-767)
+- IMPROVEMENT: Change allownomd and skipbuildwithoutivy into a more semantically correct name (IVY-297)
+- IMPROVEMENT: Smarter determination if an expression is exact or not for RegexpPatternMatcher and GlobPatternMatcher
+- IMPROVEMENT: Check branch consistency during resolve (IVY-858)
+- IMPROVEMENT: Give the possibility to not compute ivy.deps.changed (IVY-876)
+- IMPROVEMENT: Add a memory cache for the module descriptor that are parsed from the cache (IVY-883)
+- IMPROVEMENT: Improve performance (IVY-872)
+- IMPROVEMENT: Additional descriptions of build.xml targets (IVY-499)
+
+- FIX: Publish Ant Task 'warnonmissing' ignored (IVY-867)
+- FIX: Ivy stand-alone ignores -cache argument (IVY-901) (thanks to Chris Chilvers)
+- FIX: ivy.cache.dir.${settingsRef} is set to default instead of the defaultCacheDir from the ivysettings.xml after ivy:resolve (IVY-898)
+- FIX: Ivy ibiblio resolver chokes on variables while checking descriptor consistency (IVY-818)
+- FIX: Enable consistent support of the configuration negation operator (IVY-894) (thanks to Patrick Woodworth)
+- FIX: add variable expansion in extra attributes (IVY-798)
+- FIX: Invalid URL when using dynamic ranges (IVY-885)
+- FIX: can't use gotoNode with a node which has not been visited yet (IVY-874)
+- FIX: Ivy Publish Task Fails When XML Comments Exist Next to Dependency Declarations (IVY-888)
+- FIX: Incorrect directory path resolve when running from a different directory (IVY-232)
+- FIX: Ivy#listTokenValues(String, Map) does not filter returned values, and does not use maven-metadata.xml files with IBiblio resolver (IVY-886)
+- FIX: Circular Dependency messages in a resolve do not reflect the configuration used during the resolve (IVY-708)
+- FIX: Failure to transitively install Maven2 artifacts with namespace (IVY-440)
+- FIX: Unwanted eviction of dependencies when optional attributes in dependency and info tags are in consistent (IVY-745)
+- FIX: HTTP Handlers ignore unsuccessful response codes (IVY-864) (thanks to James P. White)
+- FIX: Deliver delivers the wrong version when a dynamic revision is evicted before being resolved (IVY-707)
+- FIX: Inconsistency with "multi-project" tutorial (IVY-667)
+- FIX: URLRepository does not allow some valid file scheme uri's (IVY-884)
+- FIX: Incorrect parsing artifactPattern attribute in a sftp resolver (IVY-661) (thanks to Alexey Kiselev)
+- FIX: Maven2 "ejb" packaging is not supported (IVY-873)
+- FIX: Config files with # in path can't be read (IVY-868) (thanks to Simon Steiner)
+- FIX: Cache can't distinguish artifacts with classifiers (IVY-803) (thanks to James P. White)
+- FIX: Reports showing double dependencies in certain cases (IVY-578)
+- FIX: Dynamic revision resolve does not throw error when configuration is missing (IVY-861)
+- FIX: Referenced resolver not found in macro (IVY-860)
+- FIX: Ivy files are not retrieved when using useOrigin=true (IVY-713)
+- FIX: NPE in Ivy:install task if the repository cache dir has been cleared (IVY-843)
+- FIX: Maven version ranges with ( ) are not supported (IVY-678) (thanks to Michael Kebe)
+- FIX: Ignore maven metadata files when listing revisions (IVY-765)
+- FIX: haltonmissing on publish task does not prevent the other files to be published, even with an atomic publisher (IVY-656)
+- FIX: Transitive dependencies resolves incorrectly when different modules uses the same dependency with different configurations in the same build (IVY-541)
+- FIX: transitive attribute set to false because of dependency (IVY-105)
+- FIX: Wrong check for defaultCacheArtifactPattern (IVY-840)
+- FIX: NPE in ivy:install if ivy.settings.xml contains custom attribute for a module (IVY-838)
+- FIX: Ivy unit tests fail because 'classifier' attribute of 'artifacts' element is missing in ivy.xsd (IVY-837)
+- FIX: Ivy build system: fix build.xml to allow "ant coverage-report" behind a proxy (IVY-832)
+- FIX: NPE in AbstractResolver.exists() if a resource cannot be found (IVY-831)
+- FIX: Ivy distribution jars contains duplicate entries (IVY-828)
+- FIX: ivy:report will generate an HTML file that references non-existent ivy-report.css (IVY-826)
+- FIX: dynamic resolveMode not being dynamic on branch (IVY-825)
+- FIX: Filesystem repositories can not have () in the path (IVY-797)
+- FIX: Type tag in poms not supported (IVY-762)
+- FIX: An empty exclusion tag results in an IllegalArgumentException (IVY-821)
+- FIX: Maven scope defined in POM dependencyManagement section not honoured (IVY-811)
+- FIX: SFTPRepository incorrectly calculates last modified time for resources (IVY-815)
+- FIX: Filesystem resolver does not evaluate [branch] token when publishing (IVY-814)
+- FIX: Using ivy:settings with the "id" attribute not behaving as expected (IVY-809)
+- FIX: onMissingDescriptor doesn't work due to == comparison (IVY-805) (thanks to Ben Hale)
+- FIX: revision token is not set in report outputpattern (IVY-272)
+- FIX: Ivy uses the first set of configurations it sees when resolving multiple versions of a module (IVY-681)
+- FIX: Eviction fails for libs not providing their ivy configuration and providing artifacts named different between lib versions (IVY-537)
+- FIX: Memory leak in ModuleRevisionId.java (IVY-791)
+- FIX: conflict manager scoping does not work as expected (IVY-465)
+- FIX: ivy.original.xml file using artifact pattern in cache and causing problems (IVY-787)
+- FIX: ivy:retrieve with sync="true" removes the .svn directory (IVY-763)
+- FIX: Ivy silently fails XML errors in ivyrep (IVY-579)
+- FIX: Extra Attributes are not available to resolver after resolve if cache was empty (IVY-773)
+- FIX: NullPointerException during ResovleEngine.downloadArtifacts. (IVY-592)
+- FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437) (thanks to Jing Xue)
+- FIX: unable to resolve snapshot versions (IVY-501)
+- FIX: No error or warning when a resolver references a non-existent cache (IVY-777)
+- FIX: ivy properties defined in an include file not available in the file that includes it (IVY-780)
+- FIX: SFTPRepository.list(String) hides exceptions (IVY-751)
+- FIX: Wrong error message for republishing a module (IVY-752)
+- FIX: resolve fails to put metadata in cache (IVY-779)
+- FIX: multiple cleancache and inline retrieve error (IVY-778)
+- FIX: buildlist evicts modules with the same name, but different organisation (IVY-731)
+- FIX: Out of memory/Stack overflow for new highly coupled project (IVY-595)
+- FIX: Compatibility with maven's dependencyMangement (IVY-753)
+- FIX: ivy:settings fails when override is not set to 'true' (IVY-771)
+- FIX: NPE when specifying both resolveId and inline in an Ivy:Resolve (IVY-776)
+- FIX: repreport task not working against a repository structured by branches (IVY-716)
+- FIX: Ivy reports a conflict when the same file is supposed to be retrieved at the same location twice (or more) (IVY-743)
+- FIX: StackOverflowError when configuration extends itself (IVY-696)
+- FIX: XML schema ambiguity (IVY-750)
+- FIX: ivy-resolve fails when a project has different dependencies in different branches (IVY-717)
+- FIX: PublishEventsTest fails when Ivy sources are located in a directory with a + (IVY-755)
+- FIX: XML entity parsing does not work properly (IVY-737) (thanks to Patrick Woodworth)
+- FIX: Cachefileset task silently fails with parent dir ".." construct (IVY-638)
+- FIX: SFTP should verify input parameter for hostname (IVY-734)
+- FIX: Classpath issues with vfs ftp while being used as a bundle (IVY-785)
+- FIX: Relative include in a settings must be evaluated relatively to the settings file (IVY-372)
+- FIX: The Bundle-Version is 0.0.0 in the build artifacts (IVY-802)
+- FIX: Fix the encoding used in XML reports (IVY-816)
+- FIX: Properties tag in ivy conf do not support relative path (IVY-89)
+- FIX: Ivy causes IveDE to fail where a properties file is relative to ivyconf.xml (IVY-573)
+
+- DOCUMENTATION: Fixed more than a hundred (100+) obsolete "configuration" references; replaced with "settings" (IVY-863) (thanks to Sakari Maaranen)
+- DOCUMENTATION: Elaborated documentation of ivy files and deliver/publish tasks (IVY-847) (thanks to Sakari Maaranen)
+- DOCUMENTATION: Ivy terminology elaboration and illustration (IVY-852) (thanks to Sakari Maaranen)
+- DOCUMENTATION: Broken link in documentation in Ivy files section, info element page (IVY-788)
+- DOCUMENTATION: Add new cache information to resolver doc (IVY-772) (thanks to Carlton Brown)
+
+ 2.0.0-beta2
+=====================================
+- NEW: Introduce RepositoryManagementEngine (IVY-665)
+- NEW: Add support for importing environment variables (IVY-608)
+- NEW: Add ability for buildlist task to start build from specified module in the list (IVY-697) (thanks to Mirko Bulovic)
+- NEW: Cache dynamic revision resolution (IVY-694)
+- NEW: Make resolve console output configurable per resolve (IVY-715)
+
+- IMPROVEMENT: branch and extra attributes missing from info Ant task (IVY-721)
+- IMPROVEMENT: Review settings loading in Ant (IVY-703)
+- IMPROVEMENT: Move useOrigin to repository cache manager (IVY-700)
+- IMPROVEMENT: Make IBiblio resolver compatible with maven proxy (IVY-466)
+- IMPROVEMENT: Use namespace aware validation (IVY-553)
+- IMPROVEMENT: use ModuleRevisionId instead of ModuleId in IvySettings#getResolver (IVY-691)
+- IMPROVEMENT: Flexible cache management (IVY-399) (With contribution of Adrian Sandor)
+- IMPROVEMENT: Decrease memory footprint (IVY-662)
+- IMPROVEMENT: Downgrade Ant version requirement to 1.6 to build Ivy (IVY-687)
+- IMPROVEMENT: In the ResolveReport class, add the possibility to filter the evicted module while getting the list of DownloadArtifact (IVY-704) (thanks to Nicolas Lalevée)
+- IMPROVEMENT: Refactor the PomModuleDescriptorParser in order to allow easier integration of maven pom
+
+- FIX: ivy:install task not using validate attribute (IVY-728)
+- FIX: Bad conflict resolution leads to bad "configuration(s) not found" error (IVY-729)
+- FIX: Resolving for muyltiple configurations when one is not in the list of available configurations does not abort the build (IVY-720)
+- FIX: Branch attribute considered as both a standard and extra attribute on module info (IVY-726)
+- FIX: Branch attribute not set on deliver when using a non default branch (IVY-724)
+- FIX: NullPointerException reported instead of error in ivy:cachepath (IVY-690)
+- FIX: NPE when calling retrieve if some artifacts are not available locally (IVY-712)
+- FIX: When in ssh plugin we does not set username in scheme, Ivy always try to connect with guest username, even if we change one in panel. (IVY-710) (thanks to Ruslan Shevchenko)
+- FIX: NPE in SshCache during publish with ssh resolver without passFile (IVY-709) (thanks to Ruslan Shevchenko)
+- FIX: Update install ivy build file example (IVY-705) (thanks to Benjamin Francisoud)
+- FIX: Ivy swallows ParseException when using a latest strategy requiring module descriptors (IVY-702) (thanks to Nicolas Lalevée)
+- FIX: Problem with cached Ivy files which have extra attributes (IVY-693)
+- FIX: Detection of newer and better artifacts should not happen if 'checkModified' is set to 'false' (IVY-389) (with contribution from Johan Stuyts)
+- FIX: Ivy doesn't respect the order of the ivy patterns as defined in the settings (IVY-676)
+- FIX: XmlModuleDescriptorWriter doesn't write the deprecated attribute of the "ivy-module/configurations/conf" element (IVY-664)
+- FIX: XMLModuleDescriptorWriter does not write extra attributes (IVY-471) (with contribution from Mikkel Bjerg)
+- FIX: latest compatible conflict manager fails with circular dependencies and dynamic revision (IVY-663)
+- FIX: Strict conflictmanager seems to not support dynamic revisions (IVY-474)
+- FIX: NPE in namespace transformation during the ivy:findrevision and ivy:resolve task execution (IVY-659) (thanks to Andrea Bernardo Ciddio)
+- FIX: Maven test scope includes all runtime dependencies (IVY-682)
+- FIX: Inherit depedencies defined in parent pom (IVY-683)
+- FIX: Incorrect ivy from maven pom generation when classifier are user (IVY-714) (thanks to Ruslan Shevchenko)
+- FIX: m2 incompatibility - IVY does not recognize property section(IVY-637)
+- FIX: Maven test scope not mapped to test conf (IVY-744) (thanks to Danno Ferrin)
+
+- TASK: Remove cache attribute on Ant tasks (IVY-685)
+
+- Improvement in coding conventions (IVY-511) (with contribution from Markus M. May)
+
+ 2.0.0-beta1
+=====================================
+- NEW: Share cache with locking (IVY-654)
+- NEW: support atomic publish operation (IVY-492) (with contribution from Geoff Reedy)
+- NEW: latest compatible conflict manager (IVY-648)
+- NEW: Add a task/code to create M2 POM files from Ivy configurations (IVY-416)
+- NEW: [Build] Publish the ivy sources (IVY-646) (thanks to Nicolas Lalevée)
+
+- IMPROVEMENT: Ease performance auditing (IVY-655)
+- IMPROVEMENT: Maven Dependency Management is not used to determine artifact version (IVY-616) (thanks to Jim Bonanno)
+- IMPROVEMENT: split the cache into an downloaded artifacts cache and a metadata cache (IVY-628)
+- IMPROVEMENT: add publish triggers to event system (IVY-650) (thanks to Jason Trump)
+- IMPROVEMENT: Only display unique circular dependencies during Resolve (IVY-653 IVY-514) (with contribution from John Williams)
+- IMPROVEMENT: Adding option 'cp', which makes it possible for main to be loaded from file (IVY-543) (thanks to Tjeerd Verhagen)
+- IMPROVEMENT: BasicURLHandler should use method=head for getURLInfo (IVY-611) (thanks to Jim Bonanno)
+- IMPROVEMENT: artifactproperty should not overwrite the existing properties (IVY-587)
+- IMPROVEMENT: Support *(private) and *(public) in the confs parameter of the resolve (IVY-588)
+- IMPROVEMENT: replace * by *(public) when resolving inline (IVY-589)
+- IMPROVEMENT: ivy html reports now refers http://ant.apache.org (partial IVY-414)
+- IMPROVEMENT: Improvements on hello ivy example (IVY-626) (with contribution from Jacob Grydholt Jensen)
+- IMPROVEMENT: Make the root attribute in the ivyrep resolver mandatory (IVY-625)
+- IMPROVEMENT: New text representation for main module metadata concepts (IVY-649)
+
+- FIX: m2 incompatibility - IVY does not recognize property section (IVY-637)
+- FIX: m2 incompatibility - IVY does not recognize parent pom (IVY-636)
+- FIX: Attempt to download a file with & in its name causes SAXParseException in Ivy (IVY-635)
+- FIX: Bad IvyContext scope causing memory leak and bad handling of subproject builds (IVY-639)
+- FIX: Resolution failure when no ivy.xml file present (IVY-630)
+- FIX: ${parent.version} property is not recognized in maven2 pom (IVY-620)
+- FIX: Handle relocation tag in maven 2 pom (IVY-586)
+- FIX: Ivy doesn't work with Ant 1.6.2 (IVY-614)
+- FIX: EmptyStackException when upgrading from 1.4 to 2.0 (IVY-610)
+- FIX: Ivy:retrieve fails through proxy server (IVY-529)
+- FIX: java.lang.IllegalArgumentException: Invalid uri when working with version ranges (IVY-390)
+- FIX: Ivy settings include -tag url attribute does not work correctly (IVY-601)
+- FIX: Static revision replacement is not working when a dynamic revision is evicted by a transitive dependency (IVY-603) (with contribution from Matthias Kilian)
+- FIX: NullPointerException whilst resolving transitive dependencies (IVY-590)
+- FIX: cachepath based on a resolve done in a previous build broken (IVY-583)
+- FIX: Resolving dynamic version fails when using multiple patterns if only one pattern find a revision and others don't (IVY-602)
+- FIX: Invalid character in IvyRetrieveTest causing most tests to fail (IVY-604)
+- FIX: ivy:settings and ivy:retrieve with explicit id causes unwarranted DEPRECATED warning (thanks to Jacob Grydholt Jensen)
+
+- REFACTORING: Extract a settings interface for the different engines
+
+- TASK: Review all tutorials to make sure they are in sync with 2.0 (IVY-591) (with contribution from Jing Xue)
+- TASK: Satisfy the US export control laws for software "specially designed" to use cryptography. (IVY-593)
+
+
+ 2.0.0-alpha2-incubating
+=====================================
+- NEW: Add cleancache task (IVY-565)
+- NEW: A checkstyle report is generated (IVY-483) (thanks to Jan Materne)
+- NEW: Hide private or specific conf when publishing (IVY-77)
+
+- IMPROVEMENT: File buffer increased to 64KB (IVY-551)
+- IMPROVEMENT: Expose default cache location as an ant property (IVY-563)
+- IMPROVEMENT: Expose Ivy variables as Ant Properties (IVY-564)
+- IMPROVEMENT: Change default cache location (IVY-530)
+- IMPROVEMENT: Upgraded VFS dependency to 1.0 and removed dependency on VFS-sandbox (IVY-498)
+- IMPROVEMENT: Use maven2 repository to download dependencies
+- IMPROVEMENT: Allow "main" parameters to be passed directly (instead of using -args flag) (IVY-480) (thanks to Archie Cobbs)
+- IMPROVEMENT: Remove @author tags (thanks to Stephane Bailliez)
+- IMPROVEMENT: Remove use of deprecated elements in ivysettings.xml (IVY-505) (with contribution from Jan Materne)
+- IMPROVEMENT: Buildlist onlydirectdep attribute (IVY-473 and IVY-504) (with contribution from Mikkel Bjerg)
+- IMPROVEMENT: Code / XML Polished (IVY-554) (with contribution from Tjeerd Verhagen)
+- IMPROVEMENT: Javadoc improvements (IVY-544) (with contribution from Tjeerd Verhagen)
+- IMPROVEMENT: Unit test improvements (IVY-545) (thanks to Tjeerd Verhagen)
+- IMPROVEMENT: Dependent jars missing in ivy binaries (IVY-481)
+
+- FIX: Retrieval not expanding "[originalname]". (IVY-631)
+- FIX: Ant target "clean" on Ivy multi-project tutorial points to wrong cache directory. (IVY-548)
+- FIX: Variables not replaced during deliver (IVY-520) (thanks to John Williams)
+- FIX: XmlModuleDescriptorWriter does not produce matcher attribute on include and exclude rules (IVY-556)
+- FIX: pom.groupId is not recognized in maven 2 pom parser (IVY-550)
+- FIX: Evicted modules report depends on the order of the dependencies (IVY-526)
+- FIX: Ivy does not work on Turkish machines (IVY-65)
+- FIX: Ivy does not handle multiple version dependencies in maven2 poms correctly (IVY-494)
+- FIX: pom parser doesn't necessarily processes all important information (IVY-524)
+- FIX: <info> element of Ivy file in cache is not updated when using namespaces (IVY-516)
+- FIX: Retrieve Ant task ignores resolveId attribute (IVY-522) (thanks to Scott Goldstein)
+- FIX: The deprecated "keep" attribute on post resolve tasks causes an error (IVY-517)
+- FIX: Some circular dependencies not retrieved (IVY-400)
+- FIX: ${version} property not recognized in poms (IVY-512)
+- FIX: Bug on handling dependency artifacts when a module configuration is specified (IVY-507)
+- FIX: Configure fails when having httpclient in classpath without commons-logging (IVY-502)
+- FIX: packaging data not parsed in maven 2 pom (IVY-500) (thanks to Jeffrey Blattman)
+- FIX: install ant task: requires default resolver in ivy settings (IVY-477)
+- FIX: Ant project reference lost from context on multiple ant calls in single thread (IVY-497) (thanks to Jaroslaw Wypychowski)
+- FIX: EOL in the doc pages (IVY-470)
+- FIX: Cache is storing ArtifactOrigin properties with no guarantee of unicity and types telescope during resolve. (IVY-430) (thanks to Stephane Bailliez)
+- FIX: ivy:install ant task does not fail on error (IVY-475) (thanks to Jeffrey Blattman)
+- FIX: Credentials are shown in build log even if debug is not enabled (IVY-486) (thanks to Gilles Scokart)
+- FIX: Post-Resolve task shouldn't set the 'resolveid' (IVY-489)
+- FIX: build fails without emma code coverage JARs present (IVY-478)
+- FIX: buildlist broken - regression in 2.0.0-alpha1-incubating (IVY-493)
+- FIX: Circular dependency startegy in buildlist (IVY-509)
+- FIX: ivy should stop telling me off twice for ivyconf.xml files (IVY-513)
+- FIX: Allow relative path in ivy.xml files (IVY-347)
+
+
+ 2.0.0-alpha1-incubating
+=====================================
+- NEW: define artifacts not declared by the dependency module descriptor (IVY-419)
+- NEW: Module wide exclude (IVY-431)
+- NEW: The default public resolver used is now ibiblio with m2 compatible mode (IVY-463)
+
+- IMPROVE: OSGIfy ivy artifacts (IVY-464) (thanks to Costin Leau)
+- IMPROVE: Let user specify Ivy file when using a post-resolve task (IVY-455)
+- IMPROVE: IvyArtifactProperty and IvyArtifactReport tasks should be a post resolve task (IVY-452)
+- IMPROVE: Rename ivy configuration in settings to remove ambiguity on configuration meaning (IVY-438)
+- IMPROVE: Please typedef CacheResolver as "cache" for us (IVY-359)
+- IMPROVE: ivy:retrieve should be able to create symlinks (IVY-353) (thanks to John Williams)
+- IMPROVE: Ability to have multiple roots in the <ivy:buildfilelist> task (IVY-340) (thanks to Matt Inger)
+- IMPROVE: Refactoring / documentation / test of matcher package (IVY-375) (thanks to Stephane Bailliez)
+- IMPROVE: Add a unit test to verify that latest.integration accepts released modules (IVY-394) (thanks to Gilles Scokart)
+- IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
+- IMPROVE: Generated XML reports now contains more information about the resolved module (IVY-446)
+
+- FIX: ivy-retrieve failure when explicit absolute 'ivy.dep.file' path specified (IVY-396)
+- FIX: IvyPostResolve Task doesn't reuse Ivy file of previous resolve (IVY-458)
+- FIX: Ivy standalone is passing null args to main method when invoking with no args (IVY-457)
+- FIX: Invalid error report with m2compatible resolver (IVY-456)
+- FIX: IvyPostResolve Task doesn't use specified cache for the resolve (IVY-453)
+- FIX: XmlModuleDescriptorWriterTest not working with Java 6 (IVY-374)
+- FIX: Conflict managers ignored, when assigned to modules in Ivy configuration (setting, ivyconf.xml) (IVY-448)
+- FIX: Ivy should fail if ';' has been used in publications/artifact/@conf of ivy.xml (IVY-441)
+- FIX: Ivy should fail where dependency uses undefined configuration (IVY-442)
+- FIX: Dynamic revision not calculated properly when using multiple directories (IVY-427)
+- FIX: LatestRevisionStrategy.sort() doesn't sort as specified (IVY-435)
+- FIX: setting m2compatible on ibiblio resolver overwrite root and pattern settings (IVY-437)
+- FIX: ivy.revision property not set correctly for second resolve (IVY-429)
+- FIX: NPE when no organisation or no name is provided in module element of ivyconf (IVY-422)
+- FIX: FileUtil#copy(File src, File dest, CopyProgressListener l, boolean overwrite) (IVY-420)
+- FIX: Invalid pom parsing when version is only declared in parent (IVY-436)
+- FIX: ${project.groupId} and ${project.version} not processed correctly in poms (IVY-425)
+- FIX: Incorrect pom parsing with profile (IVY-423)
+- FIX: Ivy doesn't recognize maven2 classifiers (IVY-418)
+- FIX: PomModuleDescriptorParser fails with nested profile dependency (IVY-392) (thanks to William Lyvers)
+- FIX: Static revision replacement is not working when delivering an artifact with a dependency having extra attributes (IVY-415)
+- FIX: Static revision replacement is not working when delivering an artifact with a dependency on a branch (IVY-404)
+- FIX: latest-time conflict manager not working properly (IVY-407)
+- FIX: LatestRevisionStrategy do not consider all dynamic revisions properly (IVY-383) (thanks to John Williams for the unit test)
+- FIX: IOException during publish causes NullPointerException (IVY-371)
+- FIX: Comments in ivy.xml duplicated (IVY-336) (thanks to Gilles Scokart)
+- FIX: Ivy failure when the ivy.xml file contains non US-ASCII characters (IVY-346) (thanks to Gilles Scokart)
+- FIX: Urlresolver is not possible to use dynamic revisions on nonstandard repository structure (IVY-350) (thanks to Pierre Hägnestrand)
+
+
+ version 1.4.1 - 2006-11-09
+=====================================
+- IMPROVE: ability to rebuild all dependent projects from a leaf (IVY-101)
+- IMPROVE: Artifact pattern list attribute for the ivy:publish (IVY-113)
+- IMPROVE: Measure code coverage (IVY-323)
+- IMPROVE: add release target to build file (IVY-339)
+- IMPROVE: Add a 'conf' parameter to the ivy 'publish' ant task (IVY-322) (thanks to Emmanuel Pellereau)
+
+- FIX: retrieve fails when resolve is done with useOrigin set to true (IVY-304)
+- FIX: IVY complains about non-existent reports in the cache directory (IVY-315)
+- FIX: Typo in failureproperty attribute of Ant resolve task (IVY-327) (thanks to Jean-Baptiste Quenot)
+- FIX: ivy:resolve useOrigin fails to behave correctly (IVY-332)
+- FIX: ChainVersionMatcher doesn't handle IvyAware children version matchers (IVY-331)
+- FIX: latest.<status> does not work properly when no matching revision exist (IVY-318)
+- FIX: attribute name in macrodef is not handled as expected (IVY-319)
+- FIX: confmappingoverride doesn't work for configurations extending from "*(public)" (IVY-326)
+
+
+ version 1.4 - 2006-10-09
+=====================================
+Version 1.4-RC2 has been promoted to 1.4 on 2006-10-09, with documentation update.
+
+Known bugs and limitations:
+- references in resolvers are not resolved 'in-time' with macrodef (IVY-319)
+- latest.<status> does not work properly when no matching revision exist (IVY-318)
+- IVY complains about non-existent reports in the cache directory (IVY-315)
+- retrieve fails when resolve is done with useOrigin set to true (IVY-304)
+
+
+ version 1.4-RC2 - 2006-09-27
+=====================================
+- FIX: m2compatible flag is ignored for display of failed artifact searches (IVY-303)
+- FIX: AntCallTriggerTest and AntBuildTriggerTest fail when run from ivy build.xml (IVY-310)
+- FIX: Classloader problem with ant (IVY-311)
+- FIX: Make resolve overview more compact (IVY-299)
+- FIX: Could not write to "tmp:///webdav_tmp.c1" because it is read-only (IVY-312)
+
+ version 1.4-RC1 - 2006-09-17
+=================================
+Incompatibility with previous versions:
+---------------------------------------
+* usage:
+ - no known major incompatiblity
+ - build list task now requires a configured ivy instance (configure will automatically be called if you don't call it explicitly)
+ - publish now requires the published ivy file to have the published revision (automatic if you use deliver)
+
+* API:
+ - Numerous API changes especially in the BasicResolver class and subclasses due to the introduction of VersionMatcher,
+ this may break some custom dependency resolvers or other tools or plugins depending directly on Ivy API
+
+Changes:
+--------
+* thanks to Jayasoft:
+ - NEW: ivy report generate full graph from automated build (IVY-155)
+ - NEW: support for build number calculation (IVY-276)
+ - NEW: find modules in repository (IVY-275)
+ - NEW: explicitly specify artifact download URL (IVY-271)
+ - NEW: introduce branch management (IVY-269)
+ - NEW: resolve dependencies directly without using an ivy file (IVY-268)
+ - NEW: ability to invoke any build scripts for dependencies (IVY-68)
+ - NEW: support sftp repository (IVY-267)
+ - NEW: pluggable version matcher (IVY-219)
+ - NEW: support for version ranges (IVY-295)
+ - NEW: dependency based on dependency status (IVY-47)
+ - NEW: add possibility to define extra attributes in ivy files (IVY-217)
+ - NEW: option to omit specific confs and allow the rest (IVY-66)
+ - NEW: use custom classloader for plugins (IVY-220)
+ - NEW: adding to SPECIAL_MEANINGS in LatestRevisionStrategy (IVY-121)
+ - NEW: Allow use of system properties in ivyconf.xml (IVY-228)
+
+ - IMPROVE: allow to use file-system repository directly without cache (IVY-211)
+ - IMPROVE: deliver task use a default value for revision (IVY-252)
+ - IMPROVE: better documentation distribution (IVY-274) - in progress
+ - IMPROVE: define conflict manager per organisation/module in ivyconf (IVY-270)
+ - IMPROVE: transitive parameter in resolve (IVY-21)
+ - IMPROVE: add syncing feature in retrieve (IVY-33)
+ - IMPROVE: use of md5 and/or sha1 files to check downloads (IVY-27)
+ - IMPROVE: possible to use m2compatible without automatically using POMs as well (IVY-263)
+ - IMPROVE: support for circular dependencies (IVY-202)
+ - IMPROVE: make status list configurable (IVY-242)
+ - IMPROVE: use only ivy patterns for listing revisions when module desciptor is required (allownomd = false) (IVY-166)
+ - IMPROVE: implement strict haltonfailure if ivy.xml is not found (IVY-110)
+ - IMPROVE: artifact's "name" attribute could be omitted (IVY-231)
+ - IMPROVE: ivy standalone now return error status (IVY-152)
+ - IMPROVE: log messages do not display most specfic resolver name (IVY-170)
+ - IMPROVE: prints URL before downloading in verbose mode (IVY-257)
+ - IMPROVE: incorrect value in status attribute causes silent failure (IVY-259)
+ - IMPROVE: suport empty dependencies tag in an ivy file (IVY-281)
+ - IMPROVE: isolate dependency resolution from artifact downloading (IVY-254)
+ - IMPROVE: Pass artifact to repository when calling "put" (IVY-192)
+ - IMPROVE: Do not publish ivy file with bad revision, and allow to force the deliver when calling publish task (IVY-245)
+
+ - FIX: Problem with multiple artifact includes in transitive dependencies (IVY-283)
+ - FIX: Endless recursion in report (IVY-284)
+ - FIX: http url lister doesn't work when link text has spaces (IVY-282)
+ - FIX: Incorrect ant log level (IVY-279)
+ - FIX: Wrong resolution of dependencies if artifacts specified explicitly (IVY-261)
+ - FIX: Multiple versions of dependencies appearing in retrieve (IVY-264)
+ - FIX: Too many false CircularDependencyException errors thrown (IVY-230)
+ - FIX: CircularDependencyException not always thrown (IVY-184)
+ - FIX: NullPointer in BasicResolver (IVY-258)
+ - FIX: Bad diagnostics message when no space left (IVY-250)
+ - FIX: Maven2 POM support can find groupId from "parent" element (IVY-262)
+ - FIX: Parent version is expected to be equal to the module version in POM (IVY-241)
+ - FIX: problem with cache and returnFirst (IVY-207)
+ - FIX: modules splitted across a chain are not handled correctly (IVY-206)
+ - FIX: problem with conf extension and latest revisions (IVY-240)
+ - FIX: The clean-cache target in /src/example/hello-ivy/build.xml file refers to ${user.home}/.ivy-cache instead of ${user.home}/.ivy/cache/ (IVY-265)
+
+* thanks to Ivy Community:
+ - NEW: SSH Resolver added and aligned with SFTP resolver (IVY-273) (thanks to Andreas Sahlbach)
+ - NEW: ability to turn off transitivity at configuration level (IVY-103) (thanks to Karl Baum and Maarten Coene)
+ - NEW: a conflict manager that is able to allow implementation changes but not api changes (1.2.x - OK), (1.x.x - Not OK) (IVY-223) (thanks to Anders Janmyr)
+ - NEW: enhance standalone mode to execute java program by creating classloader of dependant jars from cache (IVY-210) (thanks to Peter Hayes)
+ - NEW: addition of Vfs Resolver which uses Commons-Vfs to resolve files (IVY-128) (thanks to Glen Marchesani, Matt Inger and Stephen Nesbitt)
+
+ - IMPROVE: use global properties in the recursive delivery (IVY-222) (with the contribution of Roshan Punnoose)
+ - IMPROVE: better handling of authentication (thanks to Christian Riege)
+
+ - FIX: Ant log messsages not embedded in task log (IVY-280) (thanks to Gilles Scokart)
+ - FIX: Ivy fails when downloading from a server that supports NTLM authentication (IVY-213) (thanks to Damon Rand)
+ - FIX: Delivered Ivy files with incomplete last line. (IVY-125) (thanks to Matthias Kilian)
+ - FIX: the vfs resolver should not log passwords (IVY-292) (thanks to Antoine Levy-Lambert)
+
+* thanks to Maarten Coene:
+ - NEW: add failureproperty parameter to the resolve task (IVY-285)
+ - NEW: Add type filtering to retrieve task (IVY-260)
+ - NEW: Add selectors to the configuration mapping (IVY-253)
+ - NEW: Add Ant task to retrieve information from an Ivy file without doing a resolve (IVY-255)
+ - NEW: add option to cachepath task to create a path with local artifact paths (IVY-221)
+ - NEW: allow extending configurations to override the mapping of their super configurations (IVY-218)
+
+ - IMPROVE: Retain artifact filenames along the publish/resolve/retrieve process (IVY-54)
+ - IMPROVE: report Ant-task doesn't process the reports in batch (IVY-247)
+ - IMPROVE: make ReportOutputter pluggable and customizable (IVY-205)
+ - IMPROVE: add wildcard support for extending configurations (IVY-235)
+ - IMPROVE: add support for xslt parameters in the report task (IVY-227)
+ - IMPROVE: comments now aren't lost when delivering ivy files (IVY-226)
+ - IMPROVE: add sort of 'fallback'-mapping to the defaultconfmapping attribute (IVY-215)
+ - IMPROVE: artifact origin is not included in the default report (IVY-251)
+
+ - FIX: VFS Resolve fails when trying to resolve a + version (IVY-237)
+ - FIX: report Ant-task doesn't use outputpattern for generating graphml reports (IVY-246)
+ - FIX: report Ant-task doesn't call init() on the internal XSLTProcess (IVY-248)
+ - FIX: value of confmappingoverride from imported configurations is lost when writing Ivy file (IVY-239)
+ - FIX: including configurations doesn't import the confmappingoverride setting (IVY-238)
+ - FIX: NullPointerException when the creation of Ivy file in cache fails (IVY-234)
+ - FIX: Ivy file containing 2 different versions of the same module is not deliverd correctly (IVY-229)
+ - FIX: ModuleRevisionId encode/decode doesn't work if revision is empty (IVY-233)
+ - FIX: cachepath task should preserve the order of the dependencies (IVY-225)
+ - FIX: specifying a defaultconfmapping adds dependencies of each unlisted configuration (IVY-214)
+
+* thanks to Johan Stuyts:
+ - NEW: always update artifacts when revision matches a regex pattern (IVY-189)
+ - NEW: provide Ant task for generating report about artifacts depended upon (IVY-194)
+
+ - IMPROVE: change default cache artifact pattern to handle missing extension (IVY-196)
+
+* thanks to Karl Baum:
+ - NEW: "this" symbol for configuration mappings (IVY-183)
+
+ - IMPROVE: performances improved (IVY-187)
+
+ version 1.3.1 - 2006-03-30
+===============================
+- FIX: retrieval of multiple artifacts in different configurations does not work as expected (IVY-188)
+- FIX: configuration http url include doesn't work with commons http client (IVY-203)
+- FIX: problem with conflict resolution in transitive dependencies (IVY-199)
+- FIX: pb with force when it comes after a conflict which has already been solved (IVY-193)
+- FIX: POM files that reference to the parent artifact download fails (IVY-195) (thanks to Tat Leung)
+- FIX: M2 compatibility does not take into account the . replacement for publishing artifacts (IVY-191) (thanks to Peter Hayes)
+- FIX: artifactproperty does not set the [conf] token in the pattern to the correct value. It is always set to 'default'. (IVY-123) (thanks to Peter Oxenham)
+
+ version 1.3 - 2006-03-17
+===============================
+This version is the same as 1.3-RC3 promoted to release status.
+For known bugs and limitations, please refer to http://jira.jayasoft.org/
+
+ version 1.3-RC3 - 2006-03-06
+===============================
+- IMPROVE: Retrieve task now also optionally do ivy file downloads (IVY-167) (with the contribution of Costin Leau)
+
+- FIX: ivy variable substitution in ivy files (IVY-186)
+- FIX: force attribute is not treated as it should in some cases (IVY-182)
+- FIX: problem reading 'invalid' POMs (IVY-153)
+- FIX: cryptic NPE due to spelling error in ivy.xml (IVY-177)
+- FIX: conflicts with dynamic revisions not resolved properly (IVY-181)
+- FIX: incorrect configuration definition gives misleading NullPointerException (IVY-175)
+- FIX: throw an error when using a non-existing conflict manager as default (IVY-179) (thanks to Maarten Coene)
+- FIX: eviction problem with different conflicts in multiple confs (IVY-173)
+
+ version 1.3-RC2 - 2006-02-15
+===============================
+- IMPROVE: ivy now supports ${pom.version} in poms (IVY-174)
+- IMPROVE: adds the possibility to disable concistency check (IVY-163)
+- IMPROVE: add possibility to choose matcher on include exclude and conflict manager rules in ivy files, and on resolver per module in ivyconf (IVY-161)
+- IMPROVE: add regexp management in the install ant task (IVY-154)
+
+- FIX: httclient is not registered for https urls (IVY-171)
+- FIX: post resolve tasks like retrieve or cachepath should be able to run from cache information (IVY-169)
+- FIX: resolve fails without appropriate message when cache is empty and a module in the repository has no revision (IVY-165)
+- FIX: resolve problem with configuration inheritance (IVY-164)
+- FIX: some files in cache detected by not used by Ivy for subsequent retrieves (IVY-159)
+- FIX: HTML report shouldn't display the dependencies of evicted modules (IVY-158) (thanks to Maarten Coene)
+- FIX: bug when an organisation or module or revision contains a space (IVY-157)
+- FIX: cos-nonambig warnings (IVY-156)
+
+ version 1.3-RC1 - 2006-01-25
+===============================
+--> compatiblity with previous version:
+- the default place for the cache has changed, it is now in {USER_HOME}/.ivy/cache, instead of {USER_HOME}/.ivy-cache
+ please move this directory if you want to avoid unnecessary downloads
+- modules are now logged as they are found, set ivy.log.module.when.found variable to false to avoid this
+
+- NEW: namespace system: a resolver can be declared to belong to a namespace, which itself
+ specify the transformation to apply to convert it from and to system namespace (IVY-147)
+- NEW: pluggable module descriptor parsers let define new kind of module descriptor (IVY-146) (thanks to Maarten Coene)
+- NEW: a new install task let add modules found in a repository in another one, even transitively (IVY-141)
+- NEW: maven2 pom compatibility: most resolvers are now able to handle m2 pom as project metadata
+ and there is a new convertpom task able to convert a pom file to an ivy file (IVY-140)
+- NEW: include configurations from external file (IVY-88)
+- NEW: a new default resolver which let override ivy files and artifacts found on public repository
+ (ivyrep / ibiblio) and let publish modules in a local repository (IVY-132)
+- NEW: ivyconf file inclusion in ivyconf files (IVY-99)
+- NEW: macrodef feature in ivyconf for defining macro resolvers with parameters (IVY-98)
+- NEW: conf fallback mechanism (IVY-145)
+- NEW: exclusion now let exclude whole modules (IVY-144)
+- NEW: ability to use a dependency instead of an ivy file in standalone mode (IVY-96)
+- NEW: ability to output a path of dependencies in cache from the standalone mode (IVY-92)
+- NEW: it is now possible to reference existing resolver in resolver containers (IVY-35)
+- NEW: overwrite attribute in the publish task now let force overwrite of read only files (IVY-83)
+- NEW: add a conflict manager ("strict") making build fail when a diamond conflict is found (thanks to Christer Jonsson) (IVY-118)
+
+- IMPROVE: generate xml report using ivy:report task (IVY-143)
+- IMPROVE: possibility to configure ivy so that special revisions are not queried as fixed one at all (IVY-139)
+- IMPROVE: better url querying management (IVY-138) (thanks to Bernard Niset)
+- IMPROVE: do not add resolver info in ivy files in cache so that they can be safely used as usual ivy files in a repository (IVY-137)
+- IMPROVE: review default conf mapping management (IVY-134)
+- IMPROVE: add possibility for a chain to behave like a dual chain (IVY-131)
+- IMPROVE: add possibility to avoid overwrite of an ivy variable when setting them in ivyconf.xml (IVY-127)
+- IMPROVE: ability to exclude the root project from the buildlist (thanks to Constantine Vetoshev) (IVY-124)
+- IMPROVE: exclusion of artifacts now works on transitive artifacts, and exclusion can specify organisation and/or module (IVY-116)
+- IMPROVE: now dynamic revisions replacement by deliver task can be turned off (IVY-120)
+- IMPROVE: better performance with deep transitive dependencies
+- IMPROVE: allow optional parts in the patterns (IVY-102) (thanks to Maarten Coene)
+- IMPROVE: ability to define variable directly in ivyconf.xml (IVY-100)
+- IMPROVE: ability to use no revision in pattern with latest.integration dependency, artifacts being updated according to revision change in ivy file (if checkmodified is set to true) (IVY-95)
+- IMPROVE: ability to specify a root module in buildlist to filter out unnecessary build files (IVY-93) (thanks to Kristian Cibulskis)
+- IMPROVE: import system properties as ivy variables in standalone mode
+- IMPROVE: string identifying a module is now clearly different from a path
+- IMPROVE: better error message when publish fails due to readonly destination (IVY-83)
+- IMPROVE: some javadoc improvements (IVY-136 IVY-129) (thanks to Stephen Nesbitt)
+
+- FIX: problem resolving dependencies when 2 module versions have different configurations (IVY-151)
+- FIX: problem with inheritance between public and private conf (IVY-149)
+- FIX: no variable replacement during the deliver step (IVY-133)
+- FIX: conflict badly solved in some complex cases (IVY-130)
+- FIX: mapping on conf * now only takes public configurations (IVY-126)
+- FIX: bad dependency ivy files now causes failure (IVY-112)
+- FIX: stack overflow error in contradictory conflict cases (IVY-117)
+- FIX: publish now doesn't call deliver when not necessary (IVY-119)
+- FIX: cachefileset was returning all artifacts for empty configuration (IVY-108)
+- FIX: transitive and changing attribute were not copied in ivy files in cache (IVY-94)
+- FIX: chain resolver now support latest strategy configuration (IVY-90)
+- FIX: raise a clean error when a cyclic variable definition is found (IVY-75)
+- FIX: clean ant project reference at the end of the build to improve usability in ide launching multiple builds in the same vm (like netbeans) (IVY-87 - IVY-115)
+- FIX: ivy is now able to use simple ivy files in cache (doesn't need resolver info, use default one if no resolver is given) (IVY-86)
+- FIX: private conf not accessible from other modules (IVY-76)
+- FIX: root module configurations isolation bug fixed (IVY-84)
+- FIX: changed the place where ivy stores master ivy files in cache to not overlap
+ with dependencies one (IVY-85)
+- FIX: bug in ResourceHelper didn't let override resource easily (IVY-80)
+- FIX: throws a circular dependency exception when a circular dependency is found
+ instead of failing silently (IVY-79)
+
+ version 1.2a - 2005-09-14
+===============================
+Note : version 1.2 previously published on ivy site was not the real 1.2 due to a bad release operation
+ version 1.2a should then be used instead
+
+- new ivy.deps.changed property set if there are changes since last resolve (IVY-71)
+- new buildlist task: calculate order of dependencies of subprojects for easy multi-projects builds (IVY-69)
+- accept organization as token (IVY-55)
+- added type filtering mechanism on resolve task (IVY-45)
+- detect and warn about resolver using ivy cache as repository (IVY-53)
+- new transitive attribute on dependency, which enable to disable transitive dependency
+ management on a particular dependency (thanks to Ingo Adler) (IVY-20)
+- new '@' in dependency configuration mapping declaration, used to indicate that a configuration maps to itself
+ useful with *, '*->@' meaning that all configurations of the module maps to their equivalent (same name)
+ in the dependency (IVY-52)
+- new changing attribute on dependencies indicate that the dependency artifacts
+ may change even without revision change, but with only a new ivy file with new
+ publication date
+- new useRemoteConfig on conf tag in ivyconf.xml, tells to use remote configuration file
+ for repository config
+- new type filtering in cachepath task
+- new cachefileset task: builds an ant fileset of artifacts in cache
+- publish task now uses srcivypattern for ivy files finding and for delivery
+- better debug and error messages (IVY-60 IVY-61)
+- added a javadoc target in ant build (thanks to joshua nichols)
+- FIX: module descriptors sort was failing in some case cases (fix by Karl Baum)
+- FIX: Ivy complains about schema directive (IVY-64)
+- FIX: 'null' status attribute in module descriptor (IVY-62)
+- FIX: report header contains incorrect link after resolve for multiple, comma-separated configurations (IVY-57)
+- FIX: error retrieving dependencies with a '+' in their revision if the ivy file doesn't exist - fixed by maarten coene (IVY-59)
+- FIX: trying to resolve latest with no revision in pattern caused a StackOverflowError (IVY-56)
+- FIX: now handle transitive eviction (IVY-51)
+- FIX: resolve now store resolved file id in ivy variables, so that multiple resolve calls
+ can be followed by multiple retrieve, each retrieve will use the last resolve info (IVY-49)
+- FIX: IllegalStateException on retrieve done from command line
+- FIX: checks ivy files data consistency with asked info (org, module name and revision)
+- FIX: use AUTH configuration for configuration file
+- IMPROVE: added publish handling from command line (IVY-48)
+
+ version 1.1 - 2005-06-13
+===============================
+- remote configuration (if available) of ivyrep and ibiblio patterns and roots
+- new detailed messages when ivy fails to reach an url (thanks to Nicolas)
+- new artifactproperty task, which enables to set a property for each dependency artifacts
+ resolved by ivy
+- new defaultconf attribute in ivy file dependencies, to change the default conf to use in the file
+ when no conf is specified for a dependency
+- add the ability to change the xsl file and report name pattern used by report task
+- http listing now compatible with tomcat listing (tested with 5.0.28)
+- pub revision in deliver task now defaults to timestamp if not provided by any other way
+- debug messages improvements, with configuration dump among others
+- new var task, enables to set ivy variables from ant
+- now defaults for ivyrep and ibiblio resolver are configurable by variables
+- refactoring: introduce the notion of BasicResolver, Repository, Resource, RepositoryResolver,
+ making much easier the task of writing basic resolvers
+- added checkmodified attribute on all basic resolvers, which defaults to ${ivy.resolver.default.check.modified}
+ This makes ivy check last modified date of ivy files to see it its cache is up to date
+- artifacts download are now first made to a temp file, which is renamed
+ only at the end of the download. This prevent interrupted downloads to be
+ considered as finished
+- FIX: handle proxy configuration with http-client (thanks to Nicolas)
+- FIX: remove dependency on ant outside of ant integration classes
+- FIX: resolve problem when conflicts on latest revisions
+- FIX: allow use of any kind of URL in IvyRepResolver (both ivyroot and artroot) and IBibiblioResolver
+- FIX: chain resolver can now be used for artifacts part of dual resolver
+- FIX: now detects and warn about circular dependencies
+- FIX: cachepath task now takes pathid as parameter instead of id, to prevent
+ special handling from ant
+- FIX: ivy.xsd: set artifact minOccurs to 0 in publications
+
+Thanks to John Shields from Robert Half International, Inc.:
+- FIX: no more infinite loop when a conflict occurs between a latest subversion and a fully resolved revision
+- FIX: BasicURLHandler now closes its connections
+- FIX: ApacheURLLister now works with capital letter in revisions and truncated names
+- now use of ivy variables is allowed in ivy files
+- added a null check in pattern helper substitute
+
+ version 1.0 - 2005-04-26
+===============================
+1.0-rc3 has been promoted to 1.0 on 2005-04-26
+
+Known bugs and limitations:
+- cyclic dependencies result in StackOverflowError
+- infinite loop in rare cases when a conflict occur between a latest subversion and a fully resolved revision
+- url connections not closed properly when not using commons-httpclient
+- latest does not work with http urls in some cases, when the name of the link is truncated in the web page
+
+ version 1.0-rc3 - 2005-04-21
+===============================
+- IMPROVE: added debug messages on variables setting
+- FIX: ivyconf now able to load a properties file given as url
+- FIX: deliver pub date now actually defaults to 'now'
+- FIX: all tasks attributes now substitute ivy variables
+
+ version 1.0-rc2 - 2005-04-18
+===============================
+- IMPROVE: improved messages: more debug, more verbose, and more details on failures
+- FIX: bug with '\' in path patterns
+- FIX: bug with relative paths patterns
+- FIX: configure task tries ivy.conf.file as relative to base dir and to current dir
+- FIX: file system resolver publishes ivy files with ivy pattern
+- FIX: 0 content length considered as non existing (behaviour of jre 5.0 on linux)
+ => empty ressources are now considered as non existing
+
+ version 1.0-rc1 - 2005-04-12
+===============================
+- add report task, which enables to generates reports of dependencies, including a graph
+ ready to be layed out by yEd
+- add exclude feature in dependency
+- include exclude feature now handles regexps
+- new latest strategy: latest revision now uses a "php version_compare" like algorithm, whereas
+ lexicographic comparison is now available in latest lexicographic
+- enhance xml resolve report details
+- FIX: better separation between root configurations
+- FIX: XmlModuleDescriptorUpdater now preserves xml header
+- FIX: modules number in report (displayed at the end of resolve)
+
+ version 0.9 - 2005-04-06
+===========================
+- clearly differenciate pattern tokens from variables, by using brackets as delimiter in pattern tokens
+ => WARNING: this introduce changes in all patterns syntax, and thus does not provide compatibility
+ with previous versions
+- ChainResolver are now able to publish (delegating the call to the first resolver in the chain)
+- DualResolver sub resolvers are now registered in Ivy
+- more precise message on eviction
+- add validate attribute on most resolvers
+- ivy files validation handling review
+- use ivy variables in ant tasks to get default values for attributes
+- documentation update for configuring ivy
+- FIX: dependencies order not taken into account during resolve
+- FIX: evicting modules also evict confs
+- FIX: NPE during resolve when a dependency ivy file has no publication date
+- FIX: check nullity of artifact download reports
+
+ version 0.8 - 2005-03-30
+===========================
+- added validate attribute on resolve, retrieve and publish, which allows to disable ivy file validation
+ against ivy.xsd (useful to parse future compatible ivy files)
+- ant properties are now available in ivyconf file
+- unified default properties in ivyconf, with better independance from url or file
+- added ext on artifacts: this enable to distinguish artifact extension from artifact
+ type, util in cases where it differs (example: 'src' type with 'zip' extension, 'ivy' type with 'xml' extension, ...)
+- added publish artifacts feature, which enable to publish declared artifacts of a module to a repository
+ described by a dependency resolver. It currently works only with filesystem resolver.
+- url resolver now handles latest with file urls and http ones (tested only with apache server)
+- added latest strategy concept: the way to determine which artifact is the latest
+ is now configurable on resolvers handling latest.
+- added parameter on chain resolver to say if it should return first found or
+ try to find the latest among all if asked
+- a module can now publish no artifact, useful for virtual modules consisting only
+ of integration of other modules
+- added conflict management at resolve time: during resolve, modules in conflict can be evicted
+ and thus not downloaded
+- added ivyrep resolver, using ivyrep to find ivy files, and ibiblio for artifacts
+- use ivyrep instead of ibiblio as default resolver
+- added more info in ivy files (description, homepage, ivy authors, license, public repository, ...)
+- now cache layout is configurable, using cacheIvyPattern and cacheArtifactPattern
+ attributes on conf element in ivyconf.xml
+- changed default cache layout: artifacts are separated by type
+- added cachepath task, which enables to build an ant path of artifacts in cache required for a conf
+
+ version 0.7 - 2005-03-11
+===========================
+- added latest sub revision feature: you can now select the latest sub revision of a module
+ using a +. For instance, "1.0+" selects the latest revision starting with 1.0. (thanks to jonas for the idea)
+- haltonfailure now defaults to true (as suggested by Jeroen)
+- shorter info lines to better view important info (as suggested by Jeroen)
+- retrieve now checks if files are up to date before copying them from cache. This feature
+ can be disabled using the checkUpToDate attribute in ivy configuration file.
+- do not download dependencies when not necessary during publication (as suggested by Daniele)
+- bug fix: better handling of publish without recursive delivery
+
+ version 0.6.1 - 2005-02-11
+=============================
+- bug fix: conf extends problem with publications
+- bug fix: typedef badly handled in ivyconf.xml
+- bug fix: default properties loading in ivy configure loaded using task classloader
+
+ version 0.6 - 2005-02-03
+===========================
++ functional
+- added haltonfailure attribute on resolve and retrieve task, so that build can be halt when
+ resolve or retrieve fails
+- added dependency artifacts filtering feature, enabling to work better with ibiblio
+- ibiblio resolver can now be configured to use any maven like repository, with root and pattern attributes
+- added download progression info on resolve
+- default cache is now in user home (.ivy-cache in user home), so that cache is shared
+ by default for all projects of the same user
+- added public access to method getDependencies(...) in Ivy, which resolve dependencies without
+ downloading artifacts
+- added DualResolver, which allows to have ivy files in one place and artifacts in another one
+
++ non functional
+- added some unit tests
+- deep review of ivy file reference documentation
+
++ bugs and refactoring
+- bug fix: SimpleURLResolver not handling the case when there is no ivy file
+- refactoring: URLResolver renamed to AbstractURLResolver
+- refactoring: SimpleURLResolver renamed to URLResolver
+
+ version 0.5.1 - 2005-01-16
+=============================
+- Bug Fix: NPE in publish task when no delivery.list.file is provided
+- documentation update
+
+ version 0.5 - 2005-01-12
+===========================
+initial public version
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/CHANGES.txt
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/LICENSE
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/LICENSE (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/LICENSE 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,258 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+------------------------------------------------------------------------------
+License for JCraft JSch package
+------------------------------------------------------------------------------
+Copyright (c) 2002,2003,2004,2005,2006,2007 Atsuhiko Yamanaka, JCraft,Inc.
+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 names of the authors may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+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 JCRAFT,
+INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE 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.
+
+
+------------------------------------------------------------------------------
+License for jQuery
+------------------------------------------------------------------------------
+Copyright (c) 2007 John Resig, http://jquery.com/
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
\ No newline at end of file
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/LICENSE
___________________________________________________________________
Name: svn:executable
+ *
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/NOTICE
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/NOTICE (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/NOTICE 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,19 @@
+=========================================================================
+== NOTICE file corresponding to the section 4 d of ==
+== the Apache License, Version 2.0, ==
+== in this case for the Apache Ivy distribution. ==
+=========================================================================
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+Portions of Ivy were originally developed by
+Jayasoft SARL (http://www.jayasoft.fr/)
+and are licensed to the Apache Software Foundation under the
+"Software Grant License Agreement"
+
+SSH and SFTP support is provided by the JCraft JSch package,
+which is open source software, available under
+the terms of a BSD style license.
+The original software and related information is available
+at http://www.jcraft.com/jsch/.
\ No newline at end of file
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/NOTICE
___________________________________________________________________
Name: svn:executable
+ *
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/README
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/README (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/README 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,61 @@
+ Apache Ivy v2.0.0-rc2
+ ------------------------
+
+Supported Platforms
+--------------------
+
+Apache Ivy requires Java level 1.4; it has been tested with Sun Java SDK v1.4.2
+
+Even if not mandatory, Apache Ivy is most of the times used with Apache Ant,
+for which version 1.6.0 or greater is required.
+
+Installation
+-------------
+
+Please read doc/install.html for installation instructions.
+
+
+Getting Started
+----------------
+
+For an introduction to Apache Ivy and how to use it, please read the documentation
+located in the doc subdirectory. A good place to start is the index.html
+
+
+Licensing
+---------
+
+This software is licensed under the terms you may find in the file
+named "LICENSE" in this directory.
+
+
+Crypto Notice
+-------------
+This distribution includes cryptographic software. The country in
+which you currently reside may have restrictions on the import,
+possession, use, and/or re-export to another country, of
+encryption software. BEFORE using any encryption software, please
+check your country's laws, regulations and policies concerning the
+import, possession, or use, and re-export of encryption software, to
+see if this is permitted. See <http://www.wassenaar.org/> for more
+information.
+
+The U.S. Government Department of Commerce, Bureau of Industry and
+Security (BIS), has classified this software as Export Commodity
+Control Number (ECCN) 5D002.C.1, which includes information security
+software using or performing cryptographic functions with asymmetric
+algorithms. The form and manner of this Apache Software Foundation
+distribution makes it eligible for export under the License Exception
+ENC Technology Software Unrestricted (TSU) exception (see the BIS
+Export Administration Regulations, Section 740.13) for both object
+code and source code.
+
+The following provides more details on the included cryptographic
+software:
+
+For the Ivy ssh resolver requires the JSch
+<http://www.jcraft.com/jsch/index.html> library.
+The sftp and https resolvers requires the Java Cryptography extensions
+<http://java.sun.com/javase/technologies/security/>.
+
+
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/README
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/RELEASE_NOTES
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/RELEASE_NOTES (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/RELEASE_NOTES 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,222 @@
+ Apache Ivy v2.0.0-rc2
+ Release Notes
+ -----------------------------------------------------------------------
+
+CONTENTS
+1. What is Apache Ivy?
+2. Status of this release
+3. Major Changes in this Release
+4. Migrating from Jayasoft Ivy to Apache Ivy
+5. How to Get Involved
+6. How to Report Issues
+7. Committers and Contributors for this release
+8. List of Changes in this Release
+
+
+1. What is Apache Ivy?
+
+Apache Ivy is a tool for managing (recording, tracking, resolving and reporting)
+project dependencies.
+It is characterized by the following:
+
+ 1. flexibility and configurability
+ Apache Ivy is essentially process agnostic and is not tied to any
+ methodology or structure.
+ Instead it provides the necessary flexibility and configurability
+ to be adapted to a broad range of dependency management and build
+ processes.
+ 2. tight integration with Apache Ant
+ while available as a standalone tool, Apache Ivy works particularly well
+ with Apache Ant providing a number of powerful Ant tasks ranging
+ from dependency resolution to dependency reporting and publication.
+
+2. Status of this release
+
+This is the second release candidate of Ivy targetting 2.0.0.
+As a release candidate version, we strongly encourage the use of this version for
+testing and validation.
+From now on, features are frozen until final 2.0.0 version, only bug fixes may be
+applied before 2.0.0.
+If no outstanding bugs are reported with this release candidate, it will promoted
+to 2.0.0 about two weeks after this release candidate.
+
+The current production quality version is still 1.4.1, which has not been produced
+within the Apache Software Foundation.
+
+3. Major Changes in this Release
+
+This section describes what has changed between version 1.4.1 and this version of
+Apache Ivy which may cause incompatibilities. For a full list of detailed changes,
+please refer to CHANGES.txt file.
+
+This new version of Apache Ivy is almost fully compatible with 1.4 version as long
+as you do not use custom plugins: Ivy API has changed, but not its behavior.
+
+Some tasks and configuration elements have been renamed, but the old versions
+are still available, they are only deprecated (you will see deprecated warnings).
+
+3.1. Java Package Name Changes
+
+All of the Ivy Java package names have changed in Apache Ivy. They now start
+with org.apache rather than fr.jayasoft. There have been other changes as well.
+Important refactorings have done on the source code to ease the understanding
+of Ivy internal architecture by new developers.
+
+A class named org.apache.ivy.Ivy14 is provided with an API compatible with the
+fr.jayasoft.Ivy class of Ivy 1.4.1, to ease migration to this new version.
+
+3.2. Configuration replaced by Settings
+
+Configuration used to have two meanings in prior Ivy versions, causing some confusion
+with new users.
+To avoid this confusion, Apache Ivy calls settings instead of configuration the files
+used to customize Ivy. Configuration is still used for module configurations.
+
+Besides the changes in the documentation, this renaming also imply a modification
+in settings files, which now use ivysettings as root element instead of ivyconf,
+and settings instead of conf element to define top level defaults (such as
+defaultCache, ...).
+Previous names have been deprecated, so previous settings files can still be used, but
+you will see a deprecation warning.
+
+3.3. Public resolver in default settings is now ibiblio in m2 compatible mode
+
+In previous versions Ivy used to use the ivyrep resolver as default public resolver,
+but ivyrep is no longer maintained, while maven 2 repository on ibiblio is growing rapidly.
+
+Since Ivy is compatible with maven 2 repository, defaulting to the ibiblio maven 2
+repository makes more sense.
+
+If you have any issue of backward compatibility with these new settings, you can simply
+set the following ant property before loading the settings (implicitly or explicitly):
+ivy.14.compatible=true
+
+3.4. Relative paths resolution
+
+Relative paths resolution in Ivy used to be resolved against the current directory.
+In 2.0, relative path resolution is done like this:
+* In an Ivy file, paths are relative to the Ivy file itself (the only possible path
+ in an Ivy file is for configurations declaration inclusion)
+* In settings files, paths for file inclusion (namely properties file loading and
+ settings inclusion) are relative to the directory in which the settings file is
+ located. All other paths must be absolute unless explicitly noted.
+* In Ivy Ant tasks and Ivy parameters or options, paths are relative to Ivy base
+ directory, which when called from Ant is the same as your Ant basedir.
+
+This may break your dependency resolution if you used to use relative paths for configuration
+file inclusion.
+
+3.5 Ivyrep ivyroot attribute is now mandatory
+
+If you still use the ivyrep resolver, you will need to provide an ivyroot.
+To restore the previous behavior, use ivyroot="http://ivyrep.jayasoft.org/".
+
+Since Ivyrep is not maintained anymore, we recommend moving away from this repository anyway.
+
+3.6 alwaysCheckExactRevision now defaults to false
+
+This property common to many resolvers is used to tell the resolver if the raw revision
+should be tested even when the revision is dynamic. This is used in very few use cases,
+so we decided to change the default to false.
+
+If you want to set the default to true, set 'ivy.default.always.check.exact.revision' to
+'true' before loading Ivy settings.
+
+4. Migrating from Jayasoft Ivy to Apache Ivy
+
+Besides what is stated in "3. Major Changes in this Release"
+Apache Ivy is fully compatible with Jayasoft Ivy as long as you do not use
+custom plugins.
+This means that you can use Apache Ivy as a drop in replacement of Jayasoft Ivy
+in most cases.
+
+However due to the the renaming of configuration files to settings files, we
+strongly suggest to update your configuration files:
+- rename the files called ivyconf*.xml in ivysettings*.xml
+- rename 'ivyconf' element in 'ivysettings'
+- rename 'conf' element of those settings file in 'settings'
+
+We also suggest using the new org.apache.ivy.ant package name for the antlib declaration.
+
+Migrating custom plugins can be done by using the org.apache.ivy.Ivy14 class
+instead of fr.jayasoft.ivy.Ivy, and reorganizing your imports to reflect the
+changes in the package names.
+
+5. How to Get Involved
+
+The Apache Ivy project really needs and appreciates any contributions,
+including documentation help, source code and feedback. If you are interested
+in contributing, please visit http://ant.apache.org/ivy/get-involved.html.
+
+6. How to Report Issues
+
+The Apache Ivy project uses JIRA for issue tracking. Please report any
+issues you find at http://issues.apache.org/jira/browse/IVY
+
+7. Committers and Contributors for this Release
+
+Here is the list of people who have contributed source code and documentation
+to this release. Many thanks to all of them, and also to the whole Ivy community
+contributing ideas and feedback, and promoting the use of Ivy. The list would be too
+long, but Ivy couldn't be what it is without you!
+
+ Committers
+ Maarten Coene
+ Xavier Hanin
+ Nicolas Lalevee
+ Gilles Scokart
+
+ Contributors
+ Scott Hebert
+ Phil Messenger
+ Randy Nott
+ Tom Widmer
+ Chris Wood
+ Patrick Woodworth
+ Jaroslaw Wypychowski
+
+For the list of people who have contributed since Ivy inception, see CHANGES.txt file.
+
+8. List of Changes in this Release
+
+For a full release history of Ivy see the file CHANGES.txt
+
+For details about the following changes, check our JIRA install at
+http://issues.apache.org/jira/browse/ivy
+
+List of changes since Ivy 2.0.0-rc1:
+- NEW: Allow authentication credentials to be specified in settings file (IVY-943) (thanks to Randy Nott)
+
+- IMPROVEMENT: Error messages on use of relative paths can be cyrptic (IVY-909)
+- IMPROVEMENT: Maven accepts illegal XML for its pom's, Ivy not (IVY-921)
+- IMPROVEMENT: Ivy should set the ${basedir} property (IVY-953)
+
+- FIX: NullPointerException in AbstractPatternsBasedResolver when organization is null (IVY-928)
+- FIX: NullPointerException when Ivy cannot locate pom parent (IVY-927)
+- FIX: Cannot configure items with java.io.File attributes (IVY-905)
+- FIX: Environment properties in ivy settings are no longer resolved (IVY-907)
+- FIX: Resolve failed on certain proxy environment (IVY-911)
+- FIX: Ivy can't handle bare POM ${groupId} property (IVY-913) (thanks to Tom Widmer)
+- FIX: Properties needed to parse version in POM (IVY-914) (thanks to Tom Widmer)
+- FIX: build.xml: checkstyle + checkstyle-report dont work together (IVY-919)
+- FIX: Maven packaging of "pom" should add a "jar" artifact if present (IVY-920)
+- FIX: StackOverflow when using ivy:settings with "ivy.instance" as id (IVY-924)
+- FIX: Maven Pom reader doesn't handle optional dependencies correctly in some instances (IVY-926) (thanks to Phil Messenger)
+- FIX: ivy:settings doesn't work if id is a property (IVY-925)
+- FIX: HttpClientHandler hanging in certain cases (IVY-930) (thanks to Scott Hebert)
+- FIX: Can't download files containing space or + in their names by HTTP (IVY-923)
+- FIX: Maven2 parser doesn't support POMs with <model> as root (IVY-932)
+- FIX: Default retrieve, publish and deliver patterns doesn't include the [classifier] token (IVY-935)
+- FIX: Can't use latest.release for pom dependencies (IVY-936)
+- FIX: Unable to resolve snapshot versions depending on xml elements order (IVY-940)
+- FIX: pre-resolve-dependency event doesn't export branch information (IVY-941) (thanks to Jaroslaw Wypychowski)
+- FIX: cachefileset produces an empty fileset when the cache refers to libs in directories that only have the root directory in common (IVY-948) (thanks to Chris Wood)
+- FIX: Extra Attributes specified in the Dependency's Module Descriptor are not available to resolvers (IVY-929) (thanks to Scott Hebert)
+- FIX: Support for passing arbitrary arguments to the -main invoked class when using the standalone mode is severely limited (IVY-952) (thanks to Patrick Woodworth)
+- FIX: Correctly set ivy.resolved.configurations property when the conf string includes a negation operator (IVY-951) (thanks to Patrick Woodworth)
+- FIX: Maven pom license url can contain xml entities (IVY-950)
+- FIX: Maven pom license has name as optional element (IVY-949)
+- FIX: Ivy doesn't throw an error when the parent POM cannot be loaded (IVY-931)
+- FIX: Maven pom parser is not handling pom property ${project.parent.version} (IVY-955)
+
+- DOCUMENTATION: Filesystem resolver: talks about "patterns" but does not mention these must become absolute file paths (IVY-910)
\ No newline at end of file
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/RELEASE_NOTES
___________________________________________________________________
Name: svn:executable
+ *
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/build.xml
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/build.xml (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/build.xml 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,58 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project name="retrieve-ivy-deps" default="retrieve-all"
+ xmlns:ivy="antlib:org.apache.ivy.ant">
+
+ <target name="init-ivy">
+ <taskdef resource="org/apache/ivy/ant/antlib.xml"
+ uri="antlib:org.apache.ivy.ant">
+ <classpath>
+ <pathelement location="ivy.jar" />
+ </classpath>
+ </taskdef>
+ </target>
+
+ <target name="report">
+ <ivy:report graph="false" todir="report" />
+ <echo>
+=======================================================================
+Dependencies retrieved in lib directory
+Dependency report generated in report directory
+=======================================================================
+ </echo>
+ </target>
+
+ <target name="retrieve-conf" depends="init-ivy"
+ description="--> Retrieves a set of configuration (get only dependencies needed).">
+ <ivy:info file="ivy.xml" />
+ <echo>
+=======================================================================
+Please enter configuration (or comma separated list of configurations).
+Available configurations are: ${ivy.configurations}</echo>
+ <input message="Configuration(s):" addproperty="ivy.confs"/>
+ <ivy:retrieve conf="${ivy.confs}"/>
+ <antcall target="report" inheritRefs="true" />
+ </target>
+
+ <target name="retrieve-all" depends="init-ivy"
+ description="--> Retrieves all Ivy dependencies into the lib directory">
+ <ivy:retrieve />
+ <antcall target="report" inheritRefs="true" />
+ </target>
+</project>
\ No newline at end of file
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/build.xml
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy-2.0.0-rc2.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy-2.0.0-rc2.jar
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xml
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xml (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xml 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,63 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<ivy-module version="1.0">
+ <info organisation="org.apache.ivy" module="ivy" revision="2.0.0-rc2" status="milestone" publication="20081028224207">
+ <description homepage="http://ant.apache.org/ivy/">
+ Apache Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies.
+ </description>
+ </info>
+ <configurations>
+ <conf name="core" description="only ivy jar, without any dependencies"/>
+ <conf name="httpclient" extends="core" description="core + optional httpclient for better http handling"/>
+ <conf name="oro" extends="core" description="to use optional glob matcher"/>
+ <conf name="vfs" extends="core" description="core + optional VirtualFileSystem(VFS) support"/>
+ <conf name="sftp" extends="core" description="core + optional SFTP support"/>
+ <conf name="standalone" extends="core" description="to launch in standalone mode (from command line)"/>
+ <conf name="ant" extends="core" description="core + ant jar provided as a dependency"/>
+ <conf name="default" extends="core" description="full ivy with all dependencies"/>
+ <conf name="test" description="dependencies used for junit testing ivy" visibility="private"/>
+ <conf name="source" description="ivy sources"/>
+ </configurations>
+ <publications>
+ <artifact name="ivy" type="jar" conf="core"/>
+ <artifact name="ivy" type="source" ext="jar" conf="source"/>
+ </publications>
+ <dependencies>
+ <dependency org="ant" name="ant" rev="1.6.2" conf="default,ant->default"/>
+ <dependency org="ant" name="ant-nodeps" rev="1.6.2" conf="default"/>
+ <dependency org="ant" name="ant-trax" rev="1.6.2" conf="default"/>
+ <dependency org="commons-httpclient" name="commons-httpclient" rev="3.0" conf="default,httpclient->runtime,master"/>
+ <dependency org="oro" name="oro" rev="2.0.8" conf="default,oro->default"/>
+ <dependency org="commons-vfs" name="commons-vfs" rev="1.0" conf="default,vfs->default"/>
+ <dependency org="com.jcraft" name="jsch" rev="0.1.31" conf="default,sftp->default"/>
+
+ <!-- Test dependencies -->
+ <dependency org="junit" name="junit" rev="3.8.2" conf="test->default"/>
+ <dependency org="commons-lang" name="commons-lang" rev="2.4" revConstraint="[1.0,3.0[" conf="test->default"/>
+ <dependency org="org.apache.ant" name="ant-testutil" rev="1.7.0" conf="test->default" transitive="false"/>
+ <dependency org="ant" name="ant-launcher" rev="1.6.2" conf="test->default" transitive="false"/>
+
+ <!-- This dependency is necessary for having validation in junit tests when running with JDK1.4 -->
+ <dependency org="xerces" name="xercesImpl" rev="2.6.2" conf="test->default"/>
+ <dependency org="xerces" name="xmlParserAPIs" rev="2.6.2" conf="test->default"/>
+
+ <!-- Global exclude for junit -->
+ <exclude org="junit" module="junit" conf="core,default"/>
+ </dependencies>
+</ivy-module>
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xml
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xsd
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xsd (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xsd 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+ <xs:complexType name="configurations-conf">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="transitive" type="xs:boolean"/>
+ <xs:attribute name="extends" type="xs:string"/>
+ <xs:attribute name="description" type="xs:string"/>
+ <xs:attribute name="deprecated" type="xs:string"/>
+ <xs:attribute name="visibility" default="public">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="private"/>
+ <xs:enumeration value="public"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+
+ <xs:complexType name="global-exclude">
+ <xs:sequence>
+ <xs:element name="conf" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="org" type="xs:string"/>
+ <xs:attribute name="module" type="xs:string"/>
+ <xs:attribute name="artifact" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="ext" type="xs:string"/>
+ <xs:attribute name="conf" type="xs:string"/>
+ <xs:attribute name="matcher" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+
+ <xs:element name="ivy-module">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="info">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="license" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="url" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ivyauthor" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="url" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="repository" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="url" type="xs:string"/>
+ <xs:attribute name="pattern" type="xs:string"/>
+ <xs:attribute name="ivys" type="xs:boolean"/>
+ <xs:attribute name="artifacts" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="description" minOccurs="0" maxOccurs="1">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+ </xs:sequence>
+ <xs:attribute name="homepage" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax"/>
+ </xs:sequence>
+ <xs:attribute name="organisation" type="xs:string" use="required"/>
+ <xs:attribute name="module" type="xs:string" use="required"/>
+ <xs:attribute name="branch" type="xs:string"/>
+ <xs:attribute name="revision" type="xs:string"/>
+ <xs:attribute name="status" type="xs:string"/>
+ <xs:attribute name="publication" type="xs:string"/>
+ <xs:attribute name="resolver" type="xs:string"/>
+ <xs:attribute name="namespace" type="xs:string"/>
+ <xs:attribute name="default" type="xs:boolean"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="configurations" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="conf" type="configurations-conf"/>
+ <xs:element name="include">
+ <xs:complexType>
+ <xs:attribute name="file" type="xs:string"/>
+ <xs:attribute name="url" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="defaultconfmapping" type="xs:string"/>
+ <xs:attribute name="confmappingoverride" type="xs:boolean" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="publications" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="artifact" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="conf" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="ext" type="xs:string"/>
+ <xs:attribute name="conf" type="xs:string"/>
+ <xs:attribute name="url" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="defaultconf" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dependencies" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="conf" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="mapped" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="mapped" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="artifact" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="conf" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="ext" type="xs:string"/>
+ <xs:attribute name="conf" type="xs:string"/>
+ <xs:attribute name="url" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="include" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="conf" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="ext" type="xs:string"/>
+ <xs:attribute name="conf" type="xs:string"/>
+ <xs:attribute name="matcher" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="conf" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="org" type="xs:string"/>
+ <xs:attribute name="module" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="type" type="xs:string"/>
+ <xs:attribute name="ext" type="xs:string"/>
+ <xs:attribute name="conf" type="xs:string"/>
+ <xs:attribute name="matcher" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="org" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="branch" type="xs:string"/>
+ <xs:attribute name="branchConstraint" type="xs:string"/>
+ <xs:attribute name="rev" type="xs:string" use="required"/>
+ <xs:attribute name="revConstraint" type="xs:string"/>
+ <xs:attribute name="force" type="xs:boolean"/>
+ <xs:attribute name="changing" type="xs:boolean" default="false"/>
+ <xs:attribute name="transitive" type="xs:boolean" default="true"/>
+ <xs:attribute name="conf" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="exclude" type="global-exclude" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="override" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="org" type="xs:string"/>
+ <xs:attribute name="module" type="xs:string"/>
+ <xs:attribute name="matcher" type="xs:string"/>
+ <xs:attribute name="rev" type="xs:string"/>
+ <xs:attribute name="branch" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="conflict" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="org" type="xs:string"/>
+ <xs:attribute name="module" type="xs:string"/>
+ <xs:attribute name="manager" type="xs:string"/>
+ <xs:attribute name="rev" type="xs:string"/>
+ <xs:attribute name="matcher" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="defaultconf" type="xs:string"/>
+ <xs:attribute name="defaultconfmapping" type="xs:string"/>
+ <xs:attribute name="confmappingoverride" type="xs:boolean" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="conflicts" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="manager" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="org" type="xs:string"/>
+ <xs:attribute name="module" type="xs:string"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="rev" type="xs:string"/>
+ <xs:attribute name="matcher" type="xs:string"/>
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="version" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/apache-ivy/ivy.xsd
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/changelog.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/changelog.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/changelog.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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>
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/checkstyle-frames.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/checkstyle-frames.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/checkstyle-frames.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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>
-
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/coverage-frames.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/coverage-frames.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/coverage-frames.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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 at 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>
-
-
Added: labs/jbossbuild/buildmagic/trunk/tools/etc/ivy/ivysettings.xml
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/ivy/ivysettings.xml (rev 0)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/ivy/ivysettings.xml 2008-12-09 18:54:59 UTC (rev 24325)
@@ -0,0 +1,12 @@
+<ivysettings>
+ <settings defaultResolver="jboss-releases" checkUpToDate="false"/>
+ <caches useOrigin="true"/>
+ <resolvers>
+ <url name="jboss-releases" m2compatible="true">
+ <artifact pattern="http://repository.jboss.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
+ </url>
+ <url name="maven-central" m2compatible="true">
+ <artifact pattern="http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
+ </url>
+ </resolvers>
+</ivysettings>
Property changes on: labs/jbossbuild/buildmagic/trunk/tools/etc/ivy/ivysettings.xml
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend-frames.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend-frames.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend-frames.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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 at 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>
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/jdepend.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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>
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/junit-frames.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/junit-frames.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/junit-frames.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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 at apache.org"/>
- @author Erik Hatcher <a href="mailto:ehatcher at 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 at 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>
-
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/junit-noframes.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/junit-noframes.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/junit-noframes.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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 at apache.org"/>
- @author Erik Hatcher <a href="mailto:ehatcher at 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 at 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>
-
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/log.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/log.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/log.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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 at 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>
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/maudit-frames.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/maudit-frames.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/maudit-frames.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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 at 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>
-
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/mmetrics-frames.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/mmetrics-frames.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/mmetrics-frames.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -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 at 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 at 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>
-
Deleted: labs/jbossbuild/buildmagic/trunk/tools/etc/tagdiff.xsl
===================================================================
--- labs/jbossbuild/buildmagic/trunk/tools/etc/tagdiff.xsl 2008-12-09 18:40:44 UTC (rev 24324)
+++ labs/jbossbuild/buildmagic/trunk/tools/etc/tagdiff.xsl 2008-12-09 18:54:59 UTC (rev 24325)
@@ -1,324 +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>
-
More information about the jboss-svn-commits
mailing list