[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ews.eclipse.technology.aspectj] Re: how to specify source code compiled by iajc task

"iajc" should be a drop-in replacement for "javac", so if the include element is not working, you should raise a bug. As a workaround you might be able to use the includes attribute, e.g.:
<iajc includes="se/stickybit/licensetracker/server/**" ...


Regards,

Matt.

Jimisola Laursen wrote:
Hi!

Can't get the iajc task correct with my source code structure:

se/stickybit/licensetracker/server/...
se/stickybit/licensetracker/agent/...
se/stickybit/licensetracker/common/...
se/stickybit/licensetracker/logging/...

Note: only the source code under se/stickybit/licensetracker/server is to be
compiled.

I have compile-server target that basically compiles the source code for the
applications server.
With javac I did:

<javac debug="${compiler.debug}" source="${compiler.source}"
target="${compiler.target}" destdir="${build.dir}/classes" srcdir="src">
<classpath refid="compile.server.classpath" />
<include name="se/stickybit/licensetracker/server/**" />
</javac>


With iajc I tried several things, e.g.:

<iajc debug="${compiler.debug}" source="${compiler.source}"
target="${compiler.target}"
    destdir="${build.dir}/classes">
<classpath refid="compile.server.classpath" />
        <sourceroots>
            <dirset dir="src">
              <include name="se/stickybit/licensetracker/server/**"/>
            </dirset>
       </sourceroots>
</iajc>


But this doesn't work as imports on other classes outside of
se/stickybit/licensetracker/server (e.g. common and logging) aren't found.
So, I tried to add the .class files of these packages to the classpath (as seen below), but is still does not work.


<iajc debug="${compiler.debug}" source="${compiler.source}" target="${compiler.target}"
destdir="${build.dir}/classes">
<classpath refid="compile.server.classpath" />


    <classpath>
        <dirset dir="${build.dir}/classes">
            <exclude name="se/stickybit/licensetracker/server/**"/>
        </dirset>
</classpath>

        <sourceroots>
            <dirset dir="src">
              <include name="se/stickybit/licensetracker/server/**"/>
            </dirset>
</sourceroots>
</iajc>



Any help would be appreciated. Quite frustating to get stuck on a silly thing like this...

Regards,
Jimisola