Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] modifying ant tasks

The build for AspectJ is a bit of black magic, I don't go in there
much because it is not a lot of fun.  Sure you don't want to pick a
different codebase?

The taskdefs used are defined in the build/src module, but there is a
lot of indirection between them and the build process (don't ask
why...)

If I were you and wanted to continue with the AJ codebase, I'd just
pick a single module (or maybe a couple) to start with.  Good
candidates would be org.aspectj.matcher, weaver - and create an
instrumented version of those - build them and replace the code in a
distribution with your modified variant.  That will be so much more
straightforward, all you need is to extract the AspectJ code from the
repo and the modules will all be there in your eclipse and ready to
go.

cheers,
Andy.

2009/6/8 Christopher Oßner <ch.ossner@xxxxxxxxxxxxxx>:
> Hello,
>
> I want to evaluate a bug localisation technique. To do so I am using iBugs
> (http://www.st.cs.uni-saarland.de/ibugs/), which is a repository to trace
> bugs in aspectj. Since the localisation technique uses call-graphs, it is
> necessary to instrument aspectj with some code for the call-graph
> generation. I wanted to use aspectj aspects to instrument aspectj source.
> This way I need to modify the ant target, where the build is done, so, that
> my additional code is compiled as well. Can someone tell me, where the right
> place for such a modification is?
>
> Well, with my little knowledge of ant, I could trace the following target
> calls:
> in modules/build/build.xml:
> <target name="all"     depends="aspectj"/> <!--this taget is called from a
> target in iBugs, which I use for compilation-->
>
> ... some dependent targets...
>
> <target name="build-product" depends="init,init-taskdefs,init-version"
>    description="build $${product.name}">
>     <ajbuild jarDir="${aj.jar.dir}"
>             baseDir="${aspectj.modules.dir}"
>             distDir="${aj.dist.dir}"
>          productDir="${aspectj.modules.dir}/build/products/${product.name}"
>         trimTesting="false"
>         buildConfig="${build.config}"
>             version="${build.version.long}"
>             verbose="true"
>         failonerror="true"/>         </target>
>
> So I assume the compilation magic is done within ajbuild, right? If that is
> the case, where can I find the implementation of that task?
>
> Greetings,
> Chris
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top