The ZKM Script
saveAll statement saves all opened classes to the specified directory.
The remainder of this page is organized into the following sections.
saveAll statement saves all opened classes in their current state. If the statement follows
obfuscate statement then the classes will be saved in their obfuscated state.
If a directory specified by the
saveAll statement doesn't exist then it will be created.
saveAll is going to overwrite an already existing archive file then it will first rename the existing file by appending
the suffix ".BACKUP" to the end of its name.
Any directory specified in a
saveAll statement may be absolute or relative.
If a specified directory is relative then it will be relative to
- Any directory specified in the "defaultDirectoryName" command line option
- Otherwise, it will be relative to the working directory.
archiveCompression parameter allows you to determine the compression of any archive files created by the
saveAll statement. By default, the
saveAll statement acts as if the value of
asIs. The meaning of the different values of
archiveCompression are listed below.
You can optionally specify
||All archive entries will be compressed.
||No archive entries will be compressed.
||If an entry in the original archive was compressed then the corresponding entry in the new archive will be compressed.
If an entry in the original archive was not compressed then the corresponding entry in the new archive will not be compressed.
deleteEmptyDirectories=true to prevent empty directories from being written to the obfuscated archive file.
Typically you would specify a directory into which all opened files will be saved.
However, you may also specfy specific paths into which specific opened files will be saved.
Zelix KlassMaster will match the specific save path to an opened file by matching its unqualified file name with that of the the opened file.
So, if the save path "
\saveDirectory\Jar0.jar" is specified in a
then Zelix KlassMaster will look for an archive named "
Jar0.jar" in the preceding open statement.
saveAll statement performs a good deal of special handling of
- class files opened from jar and zip archives,
- non-class files such as image and properties files opened from jar and zip archives,
- manifest, EJB deployment descriptor and service provider files.
File|SaveAll menu option documentation for more detail.
saveAll "c:\temp"; //Defaults to
archiveCompression=asIs. All opened files saved into C:\Temp.
//All opened files saved into "myRelativeDirectory" directory which is relative to working directory.
saveAll archiveCompression=all "myRelativeDirectory";
saveAll "\Projects" //By default, opened files will be saved into \Projects
"\Projects\lib\Lib0.jar" //Lib0.jar will be saved into \Projects\lib
"lib\Config.xml" //Config.xml will be saved into the relative directory lib
["archiveCompression" "=" ("all" | "none" | "asIs")]
["deleteEmptyDirectories" "=" ("true" | "false")]
"\"" defaultDirectoryName "\""
("\"" specificPath "\"")*
You can embed quotes within the directory name by using two consecutive quotes (ie. "") for each quote to be embedded.
defaultDirectoryName is the name of the directory into which the class, archive, JAD or XML files are to be saved,
specificPath is the specific save path for a particular archive, JAD or XML file.
The specific save path must end with the name of an archive, JAD or XML file which appears in the preceding