jacson logo courtesy from Doris & Frank.
Jacson Getting started > How to run it? > The Integration into Ant > The Jacson Ant Task
2005-10-04 00:11:20 0.90

The Jacson Ant Task

Description

Process a set of documents with the Jacson engine.

This tasks depends on jar files not included in Ant distribution. You need at least jacson.jar in classpath. Depending on what you actually do you might need other jars. See above Jacson homepage for details. Registering this task into Ant goes like

<taskdef name="jacson"
         classname="de.spieleck.app.jacson.ant.JacsonTask"/>
You might use optional classpath attributes or elements to load Jacson from a special classpath.

Below documentation (as well as the task itself) contains quoted material from the Ant Core task Style.

It is possible to refine the set of files that are being processed. This can be done with the includes, includesfile, excludes, excludesfile and defaultexcludes attributes. With the includes or includesfile attribute you specify the files you want to have included by using patterns. The exclude or excludesfile attribute is used to specify the files you want to have excluded. This is also done with patterns. And finally with the defaultexcludes attribute, you can specify whether you want to use default exclusions or not. See the section on directory based tasks, on how the inclusion/exclusion of files works, and how to write patterns.

This task forms an implicit FileSet and supports all attributes of <fileset> (dir becomes basedir) as well as the nested <include>, <exclude> and <patternset> elements.

This task is aware of the surrounding Ant environment: Ant properties are mapped into <se:param/> parameters in the Jacson configuration. An <se:param/> in a Jacson configuration will actually create the corresponding property in the Ant project. This task supports the use of nested <param/> elements which set values in an <se:param/> declaration. <param/> elements override values of properties with the same name and disable Jacson from overriding the corresponding property in the Ant project.

Parameters

JacsonTask is a subclass of Ant's MatchingTask and can work on complex filesets. These should be described elsewhere in the Ant documentation.

AttributeDescriptionRequired
basedirwhere to find the input file, defaults to project basedir.No
configname of the configuration file to use - given either relative to the project's basedir or as an absolute path. Yes
forceRecreate target files, even if they are newer than their corresponding source files or the stylesheet.not yet implemented!
inspecifies a single file to be filtered. This overrides all fileset definitions!No
outSpecifies an output file. If used this output file overrides all outputfiles in reports of the configuration. If the configuration has multiple reports they get merged into the single outputfile in a deterministic but hard to predict fashion. XXX If the configuration carries filenames on reports, these files are created but are then empty after using "out". The cleanest way to control Jacson output is currently to use filename="${fname}" in the configuration and pass the value of fname either as property or param the Task. No, not recommended!
includescomma- or space-separated list of patterns of files that must be included. All files are included when omitted.No
includesfilethe name of a file. Each line of this file is taken to be an include patternNo
excludescomma- or space-separated list of patterns of files that must be excluded. No files (except default excludes) are excluded when omitted.No
excludesfilethe name of a file. Each line of this file is taken to be an exclude patternNo
defaultexcludesindicates whether default excludes should be used or not ("yes"/"no"). Default excludes are used when omitted.No
scanincludeddirectoriesIf any directories are matched by the includes/excludes patterns, try to transform all files in these directories. Default is trueNo

Nested Elements

directory based

param

Param is used to pass a <se:param/> parameters to the Jacson configuration.

param Parameters

AttributeDescriptionRequired
nameName of the parameterYes
valueThe string value to be placed into the param.Yes

Examples

This example uses the Jacson configuration head.con to process the single input file data/access.log.gz and write the result to demo3.txt

  <target name="topfilter">
      <jacson config="head.conf" 
              out="topfilter.properties"
              in="data/access.log.gz"
              />
  </target>
If head.conf used Jacsons PrintingReport then subsequent ant task can refer to the results of Jacson by reading the topfilter.properties file.

This uses the loganalysis.conf configuration to analyze a whole hierarchy of files.

  <target name="demo1" depends="taskdemo-prepare">
      <jacson config="loganalysis.conf">
            <include name="logfiles/**"/>
      </jacson>
  </target>
Since no <out> is specified the output files are controlled by the configuration. It might still be controlled by Ant properties which map to parameters in the configuration.

Sourceforge Logo