Hello Mark,

comments inline.

Mark Hobson schrieb:
> Hi Bernd,
> 
>>  > 1) Do you use extra source roots?  I'm tempted to remove this
>>  > parameter since it tends to go against the standard of using the
>>  > project's current source roots.
>>
>> Yes, I need this parameter. We unpack a source artifact and process the
>>  containing source code too. But the extra source root should not
>>  included in the compile.
> 
> Right, whereabouts is this in the build?  Normally source roots are
> contributed to the build via plugins, for example the
> maven-compiler-plugin cannot be configured to use extra source roots
> but allows other plugins to add them during the lifecycle.


http://svn.apache.org/repos/asf/myfaces/tobago/trunk/sandbox/pom.xml

http://svn.apache.org/repos/asf/myfaces/tobago/trunk/extension/facelets/pom.xml

http://svn.apache.org/repos/asf/myfaces/tobago/trunk/extension/tobago-taglib-extension/pom.xml

> 
>>  > 2) Do you use the resource target path parameter?  I'd have thought
>>  > that the apt factory should control this.
>>
>> Yes, I think the apt processor should only generate files and the
>>  resource plugin should copy the resources.
> 
> Cool, I've removed this one.
> 

Sorry, we are using this parameter. I think the apt plugin generates
resources and with the parameter targetpath I can tell the resource
plugin where the resouces should be copied.
This parameter is used for generating the tlds in tobago. Without this
parameter i need an extra resources section and I don't like to include
the META-INF in the target.

>>  > 3) Do you use the target files parameter?  I wouldn't have thought
>>  > you'd need such fine-grained control of source files to process when
>>  > using Maven.
>>
>> Yes, we did see 4
>>
>>  > 4) Do you use staleness checking?  I'm not too convinced by this
>>  > implementation since it checks source files against class files to
>>  > determine staleness.  This is a problem when using -nocompile as the
>>  > class file timestamp has no correlation with the staleness of
>>  > generated resources.  Auto-compiling IDEs then also pose a further
>>  > problem since they never let a class file become stale, hence
>>  > resources are never generated with apt.
>>
>> Yes, with the target file parameter the apt plugin is only called if the
>>  source code has changed.
> 
> I see, I think misread the staleness implementation here.  I've
> updated the Codehaus plugin to compute staleness using either:
> 
> - suffixes of the processor-generated files (for one-to-one apt factories)
> - paths of the processor-generated files (for many-to-one apt factories)
> 
> Your TLD factory falls into the latter category.  This means that when
> at least one source file has a last modified timestamp beyond the
> generated file's last modified timestamp, then apt is run with *all*
> the source files.  I believe this is the correct behaviour since with
> a many-to-one apt factory the generated resource is typically the
> amalgamation of all source files.  Whereas for one-to-one apt
> factories, only stale source files are passed to apt.  Can you see any
> problems with this logic?


No, but as far as I know some guys are using a one to many mapping. They
are using the force parameter.

Thanks

Bernd

Reply via email to