Yes, sorry I didn't make that clear. 'srcdir' has to be a directory
that ultimately contains all source files to be compiled.
Rich
Eddie O'Neil wrote:
>Rich--
>
> Addressing the immediate issue first; are the build changes below
>"right" relative to how you expect the <build-pageflows> macro to
>work? Just looking to get 933 resolved.
>
> Longer term, I totally agree -- having nested <src/> elements is
>probably a good way to go. It probably won't be that hard to support
>in the AptTask since it just extends Javac.
>
>Eddie
>
>
>
>
>On 9/16/05, Rich Feit <[EMAIL PROTECTED]> wrote:
>
>
>>...which is what Eddie suggested in the first place. :) Thanks for the
>>correction.
>>Rich
>>
>>Scott Symmank wrote:
>>
>>
>>
>>>i have not used the apt task, but if it is like <javac, you
>>>might consider supporting a <path element
>>>
>>>
>>> <path id="base.path">
>>> <pathelement path="${classpath}"/>
>>> <fileset dir="lib">
>>> <include name="**/*.jar"/>
>>> </fileset>
>>> <pathelement location="classes"/>
>>> </path>
>>>
>>><javac destdir="${build}"
>>> classpath="xyz.jar"
>>> debug="on">
>>> <src path="${src}"/>
>>>
>>>just a thought...
>>>
>>>-----Original Message-----
>>>From: Rich Feit [mailto:[EMAIL PROTECTED]
>>>Sent: Friday, September 16, 2005 11:14 AM
>>>To: Beehive Developers
>>>Subject: Re: beehive 933 issue and <build-pageflows>
>>>
>>>I think this is happening because our apt task demands that 'srcdir' be
>>>the root of all files that should be scanned. The 'srcpath' just
>>>identifies individual source roots under the main directory. I think it
>>>would actually be nice to be able to use filesets instead of the
>>>'srcdir' -- what do you think?
>>>
>>>Rich
>>>
>>>Eddie O'Neil wrote:
>>>
>>>
>>>
>>>
>>>
>>>>I've got a fix for BEEHIVE-933, but I'm not sure why it makes things
>>>>work. Ultimately, this was caused by reorganizing the netui-blank
>>>>project template and resulting configuration problems with how the
>>>><build-pageflows> Ant macro is invoked.
>>>>
>>>>The problem right now that is causing the behavior in the bug is
>>>>that the shared flow from the tutorial in
>>>><proj-root>/src/shared/SharedFlow.java isn't being picked up by the
>>>>Page Flow annotation processor. In the repro, the Ant that builds the
>>>>JPFs looks like:
>>>>
>>>><build-pageflows srcdir="${web.dir}"
>>>> webcontentdir="${web.dir}"
>>>> destdir="${build.dir}/WEB-INF/classes"
>>>> tempdir="${build.dir}/WEB-INF/${tmp.sourcegen.dir}"
>>>> classpathref="webapp.classpath"/>
>>>>
>>>>Obviously, the src/ directory isn't in any of the source paths, so it
>>>>shouldn't be picked up.
>>>>
>>>>The fix is to add a sourcepathref like:
>>>>
>>>><path id="webapp.sourcepath">
>>>> <pathelement location="${src.dir}"/>
>>>> <pathelement location="${web.dir}"/>
>>>></path>
>>>>
>>>><build-pageflows srcdir="${basedir}"
>>>> webcontentdir="${web.dir}"
>>>> destdir="${build.dir}/WEB-INF/classes"
>>>> tempdir="${build.dir}/WEB-INF/${tmp.sourcegen.dir}"
>>>> sourcepathref="webapp.sourcepath"
>>>> classpathref="webapp.classpath"/>
>>>>
>>>>and this works. But, in order to make this work, I had to explicitly
>>>>set the srcdir equal to the ${basedir}. This is the part that I'm not
>>>>sure about -- it needed to be there in order to keep the AptTask from
>>>>throwing an ArrayIndexOutOfBoundsException on line 198 (should be an
>>>>assert here...). I've not dug deeper than this right now, and as such
>>>>am probably missing something simple. Any insight into why this works
>>>>this way?
>>>>
>>>>In the long run, it would be cool to be able to do:
>>>>
>>>><build-pageflows webcontentdir="${web.dir}"
>>>> destdir="${build.dir}/WEB-INF/classes"
>>>>
>>>>
>>>>
>>>>
>>>>
>>>tempdir="${build.dir}/WEB-INF/${tmp.sourcegen.dir}"
>>>
>>>
>>>
>>>
>>>> classpathref="webapp.classpath">
>>>> <src path="src"/>
>>>> <src path="web"/>
>>>></build-pageflows>
>>>>
>>>>though it's best to avoid putting source files in the web/ directory
>>>>entirely. :)
>>>>
>>>>Another way this could be fixed in the tutorial would be to move the
>>>>src/shared/ file into the web/shared/ and just doc / release note it.
>>>>
>>>>Thoughts?
>>>>
>>>>Eddie
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>
>
>