Hey everyone,
I'm trying to get compile-time weaving working with my Amazon SWF project. The end goal is to use gradle to build the project. I figured I would try to compile from the command line first. Everything seems to compile properly until I run my output jar and realize that it doesn't seem like any weaving had taken place.
The project is very small and I figured I would start out by just compiling all source files with ajc.
The command I am running is:
ajc -sourceroots src -classpath aspectjtools.jar:aspectjrt.jar:aws-java-sdk-1.10.16.jar:aws-java-sdk-flow-build-tools-1.10.16.jar:/other/3rdparty/libs -source 1.8 -target 1.8 -outjar myprogram.jar
I am getting output like:
{{
[warning] AsynchronyDeciderAnnotationProcessor.process() invoked.
[warning] Processing @Activities for XXXXXActivities
[warning] Processing @Workflow for XXXXXWorkflow
[warning] Processing finished
4 warnings
}}
And I am able to get a jar built. However, when I run a few main's in my jar I notice that the aspectj weaving must not have taken place (or at least that's what it seems). If anyone here is familiar with AWS Simple Work Flow, I am using the Flow Framework which should modify any method annotated with @Asynchronous to wait for all Promise arguments to be set before running the method. However, when I run off the jar I created the program goes right into these methods and tries to access some Promises before they are set -- Exception!
Am I missing something here? I am able to get load-time weaving working fine, however I'd like to perform weaving compile-time.
I've also tried adding the aspecjweavar.jar to my classpath as well with the "-aspectpath" option.
Thanks,
Willie