|
aspectjml is | aspectjml enables | ||
|
The AspectJML compiler can be obtained in the following forms:
The archive file contains the following folders.
The AspectJML compiler can be used in two ways:
Use the following ajmlc ant task that can be used like the javac task to compile projects.
1 2 3 4 5 6 7 8 9 10 11 12 | <!-- COMPILATIONS --> <!-- Note that these are the most common options used to run an AspectJML annotated Java program. - Also, these options include the advanced ones for AspectJML such as the crosscutting contract specifications with "crosscuttingcontractspecifications" option. - All these advanced ajmlc options are not enabled by default. - For more ajmlc options, please run the task above "ajmlc-help-options" and update the "ajmlc task" below to properly include them--> <!-- THE FUN HAS JUST BEGUN!! AspectJML team --> < target name = "ajmlc" depends = "clean,prepare" description="Ant task responsible for compiling Java files annotated with AspectJML using ajmlc compiler version ${AspectJML}"> < ajmlc destdir = "${dest.dir}" srcdir = "${src.dir}" sourcepathref = "sourcepath" classpathref = "classpath" print = "false" source = "1.7" ajweaver = "ajc" defaultnonnull = "true" ... = "" > </ ajmlc > </ target > |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!-- SYSTEM DEPENDENT VARIABLES - CHANGE FOR YOUR NEEDS --> < property name = "aspectjml.release.jar" value = "aspectjml-lib/aspectjml-release1.7.0.jar" > </ property > < property name = "src.dir" value = "src" > </ property > <!-- From within Eclipse, you can put the generated bytecode directly at the "bin" folder and run the application direclty from Eclipse--> <!-- This tip is useful if you have several main classes and to avoid run one by one by changing the "main.class" property --> < property name = "dest.dir" value = "bin" ></ property > <!-- Target directory to print the instrumented source code (isc) as AspectJ aspects --> < property name = "dest.dir.isc" value = "isc" ></ property > < property name = "crossref.dir" value = "crossref" ></ property > < property name = "main.class" value = "my.package.name.ClassnameOfMain" ></ property > < property name = "app.lib" value = "lib" ></ property > < property name = "aspectjml.lib" value = "aspectjml-lib" ></ property > <!-- NOTE: 'aspectjml.lib' MUST INCLUDE ASPECTJ WEAVERS, AJC AND ABC --> |