Commit ad7b1c13 authored by Lubomir Bulej's avatar Lubomir Bulej

- Updated README_TEST to reflect the automatic manifest generation.

- Updated dislintro.tex to mention that the DiSL-Classes manifest
  attribute requires a comma-separate list of fully qualified class names.
parent 072e8bab
......@@ -26,7 +26,7 @@ packed in the "build-test" directory.
Implementation
==============
Implementation is a bit tricky in few aspects.
Implementation is a bit tricky in few aspects.
Firstly, building of suite test apps and instrumentations is handled by a
scripted target that lists all directories in a "ch.usi.dag.disl.test.suite"
......@@ -36,6 +36,7 @@ Secondly, when running the instances of client and server using Process API,
never forget to clear environment variables as inherited classpath could cause
serious trouble.
If a suite instr source directory contains a manifest file, it will be used
when packaging the instrumentation into a jar, otherwise a default manifest
will be used, with the "DiSL-Classes" attribute set to "DiSLClass".
The manifest file in the instrumentation jars for each suite will contain an
attribute, DiSL-Classes, listing classes that are used for snippet expansion.
The comma-separated list of classess is generated automatically by the build
system based on the annotations used in the instrumentation classes.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fullpage}
\usepackage[english]{babel}
\usepackage[babel]{microtype}
%\usepackage[T1]{fontenc}
\usepackage{relsize}
\usepackage{lmodern}
\usepackage[babel]{microtype}
\usepackage{comment}
\usepackage{titlesec}
\titleformat*{\section}{\large\bfseries}
\clubpenalty = 10000
\widowpenalty = 10000
......@@ -646,8 +650,10 @@ It is possible to use the \code{disl.py} script to invoke DiSL with user-defined
\item All the instrumentation and the analysis classes must be packed into a single jar~file, including any external libraries used by the analysis.
Such libraries can be added to the jar~file using, for example, the \code{jarjar}\footnote{\url{http://code.google.com/p/jarjar/}} tool.
\item The \code{MANIFEST.MF} file in the \code{META-INF} directory of the jar~file must list all the DiSL classes used for the instrumentation; Listing~\ref{lst:example-manifest} shows the manifest file of the included example.
\item The \code{MANIFEST.MF} file in the \code{META-INF} directory of the jar~file must list fully qualified names of all DiSL instrumentation classes, i.e., classes containing snippets or argument processors.
Listing~\ref{lst:example-manifest} shows the manifest file of the included example.
In this case, the instrumentation consists of a single class (i.e., \code{DiSLClass}) that can be found in the default package.
In more complex cases, the \code{DiSL-Classes} attribute will contain a comma-separated list of class names.
\end{itemize}
Run \code{disl.py -h} for info how to use the script and to list all available parameters.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment