Timewindow Directives File

Timewindow Home
Revision history
User Guide
Installation Guide
Time-limiting notes
Directives file
Build tool integration
License and Download
Purchase
Faqs/Known issues
The directives file is used to specify the settings that would normally be specified using the GUI, and for some parameters that are not available via the GUI. When using a directives file with the GUI, the 'Use Directives File' checkbox in the 'File' menu must be checked and the 'Directives File' field should specify the filename of the directives file. The menu and field settings in the GUI will be ignored and all parameters will be taken from the directives file.
When using a directives file from the command line, the '-directives' option should be used to specify the filename of the directives file. If the directives are specified individually as part of the command line then each directive must start with a '-' character. If the directives are specified in a String array then each string must specify a complete directive.
All directive information, except for identifier names is case insensitive. When using a directives file, all obfuscation parameters including directory paths are expected to be specified in the directives file. The different types of directives that may be used in the directives file are described below.
General directives

These directives are used to specify directory information such as source, destination and superclass paths. They are also used to control the access level for obfuscation of classes, fields and methods, the removal of fields and methods, and the control of bytecode obfuscation. Essentially the general directives are used to replace the checkboxes and fields used in the GUI. Prior to rev 1.3 each line that specifies a general directive must start with a '*' character and a space, this is not required for rev 1.3 and later.

The directive types that are used to specify directory information are 'source_directory', 'destination_directory' which may be used only once in the directives file. Some examples are
source_directory c:\my source directory
destination_directory c:\my destination directory
		   		 	 	
The directive type used to indicate if method names for time-limited methods are to be logged in the log file is 'log_changes' (no parameters). An example is
log_changes
		   		 	 	
The directive type used to indicate if classfiles may be overwritten is 'overwrite_classfiles' (no parameters). An example is
overwrite_classfiles
		   		 	 	
The directive type to specify time-limiting for all class initializer methods is 'timelimit_class_initializers'. This indicates that all the class initializers of the selected classes are to be time-limited. An example is
timelimit_class_initializers
		   		 	 	
The directive type to specify the date-range is 'daterange'. This is used to specify the starting and ending date for time-limiting. The start date is expected to be followed by at least one space and the word 'to'. This is followed by another space and then the end date. The allowable formats for the dates are "dd mmm yyyy", or "mmm dd, yyyy". An example is
daterange 6 nov 2003 to 7 nov 2003
		   		 	 	
Name inclusion directive

This directive is used to include a specific method name in a specific class, for time-limiting. All methods that match the name in that class will then be included for time-limiting. The name which is to be included is case sensitive. The directive type that may be used is 'method'. The fully qualified class-name of the class must be included when specifying the method. Both the 'forward slash' and 'dot' can be used as a package separator when specifying method names. Prior to rev 1.3 each line that specifies an inclusion directive must start with a '+' character and a space, this is not required for rev 1.3 and later.
An example of this directive is:
method MyPackage.SpecificClass.SpecificMethod
		   		 	 	
Comments

Comment lines may only appear in directive files. A comment line in the directives file is one that starts with the '/' character. All such lines will be ignored when the directives file is processed. An example comment is
/ This is a comment line.
		   		 	 	
Directives list

All available directive types and settings are listed below
source_directory c:\my source directory
destination_directory c:\my destination directory
overwrite_classfiles
log_changes
timelimit_class_initializers
daterange 6 nov 2003 to 7 nov 2003
method SomePackage/SomeClass.SomeMethod