Thanks alot Peter, I will apply your ideas in the findbugs plugin.
Johannes
On Sat, 2011-02-05 at 06:05 -0800, Peter Niederwieser wrote:
>
> Johannes Buehler-3 wrote:
> >
> > The Problem is that i have to pass the findbugs classpath (findbugs.jar +
> > dependencies) to
> > the FindbugsAntTask i am using.
> >
>
> I assume this is because FindBugs forks a new process? If the idea is to
> ship the FindBugs Jar with the Gradle distribution, you can get at the Jar's
> location with (from inside a Gradle task):
>
> getServices().get(ClassPathRegistry.class).getClassPathFiles("FINDBUGS")
>
> For this to work, you'll have to add an entry for FINDBUGS to
> DefaultClassPathProvider.
>
>
> Johannes Buehler-3 wrote:
> >
> > Since findbugs uses the bytecode for its analyses, Groovy Code can be
> > analysed as well.
> >
>
> Sure Groovy code can be analyzed, but the question is if the results will be
> meaningful (and FindBugs won't crash). Usually they aren't unless the tool
> specifically supports the language in question.
>
>
> Johannes Buehler-3 wrote:
> >
> > Bt you are right its almost impossible to map the
> > compiled classes properly the groovy source files. Anyhow the sources
> > are only need for better reporting purposes.
> >
>
> Finding the sources is straightforward. Just pass SourceSet.getAllSource()
> to FindBugs. Or, if it gets irritated by non-Java sources,
> SourceSet.getAllJava().
>
> The reason why I was trying to find a way to map source files to class files
> (not the other way around) was so that one could have FindBugs only analyze
> classes written in a particular language. However, it is up to Gradle to
> provide a better solution here. For the time being, just analyze whatever is
> in SourceSet.getClassesDir(), and maybe provide a way to set a (file-based)
> include/exclude filter for the class files. This way it's at least possible
> to include/exclude certain packages.
>
>
> Johannes Buehler-3 wrote:
> >
> > I already introduced a dependency to the compile task, cause findbugs
> > needs the compiled artifact.
> >
>
> I think the dependency should be on sourceSet.getClassesTaskName().
>
> --
> Peter Niederwieser
> Developer, Gradle
> http://www.gradle.org
> Trainer & Consultant, Gradle Inc.
> http://www.gradle.biz
> Founder, Spock Framework
> http://spockframework.org
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email