Skip to content
forked from joa/apparat

A framework to optmize ABC, SWC and SWF files.

License

Notifications You must be signed in to change notification settings

wolfired/apparat

 
 

Repository files navigation

Apparat
https://apparat.googlecode.com/

Apparat is a framework to work with ABC, SWC and SWF files. You can use the core framework
to build scripted applications that modify the content of a SWF file or use any of the
predefined available tools.

All tools will show their usage information if you omit any parameters. Apparat tries to make
use of an advanced compression with 7-Zip. If Apparat can find 7-Zip on your PATH it will use
it to compress your content.
To test if 7-Zip is available you should simply enter "7z" on Windows or "7za" on Linux/OS X
in the command line.

- Apparat Shell

  The shell is a tool to spawn Apparat only once and keep it running. Since it is a Java 
  application you will save JVM startup time and the overhead to allocate threadpools when
  running Apparat. 
  
  The shell has been created to work asynchronous with multiple requests so any number
  of applications and requests can run simoultaneously.
  
  All predefined tools can be executed from the shell just like from the command line.
  
- Concrete
  
  The Concrete tool allows you to speficy abstract methods and check at compile time
  if they are overriden. To mark a method abstract you add the [Abstract] metadata to it.
  
  When compiling your project you need to keep this metadata. This is done by specifying
  "-keep-as3-metadata=Abstract" as a compiler argument.

  Concrete takes one parameter "-i" which is the list of input files. You will need to include
  all SWC or SWF files that have been used to compile this project. This means even for
  a simple project you have to specify playerglobal.swc for instance since it is used to
  compile your project.
  
  To seperate multiple libraries use your systems path separator character. This is ";" on 
  Windows machines and ":" on Mac OS X or Linux.
  
  Example (Windows):
    concrete -i test.swf;C:\path\to\playerglobal.swc
	
  Example (Linux/OS X):
	concrete -i test.swf:/path/to/playerglobal.swc

- Coverage

  With the Coverage tool you can insert coverage information into your code. Apparat assumes
  that a class "apparat.coverage.Coverage" exists or is provided at runtime.
  
  An example of the Coverage class can look like this:
  
  package apparat.coverage {