Hey,
Glad that helped somewhat. You are experiencing the classic trade off now though: memory vs time. Some of the blog articles are a bit old, in many cases the options discussed have since become the default so you don't need to set them any more - which I believe is the case for minimalModel.
Hard to predict precisely what kinds of pointcut will consume more memory because it does somewhat depend what they are matching against. One of my blog articles was about pointcut timers, you could try using that to measure if your pointcuts are doing a lot of slow matching (as opposed to fast matching). Addressing that could get you down from 14minutes perhaps (or it may reveal pointcut matching isn't really a big time sink).
> For last, using type demotion did indeed help, however, compilation
time on my laptop went from ~6 minutes to ~14 minutes. This is not
really good. Are these times more or less what you guys have seen in
your previous experiences with AspectJ?
Sounds like it is very close to running out of memory and doing lots of GC which is taking extra time - in that situation I have always just increased Xmx. You are doing something more complicated than a straight build so it is understandable that it needs a bit of extra space. Maybe with type demotion turned on, if you give it just a little extra memory rather than a massive amount you could see a big decrease from 14mins.
cheers,
Andy