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