huixiangufl / aparapi

Automatically exported from code.google.com/p/aparapi
Other
0 stars 0 forks source link

Integrate FindBugs into the Ant build scripts #22

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I ran the latest Aparapi trunk code (as of today) through FindBugs and it 
exposed 83 areas for investigation and possible improvement, including a number 
of high priority bugs. I have attached the XML output.

Two suggestions for this ticket:

- Include FindBugs as an integral component of the Ant build scripts
- Either fix potential bugs or comment in the code reasons why changes are not 
needed (possibly use FindBugs annotations to avoid Ant output)

Original issue reported on code.google.com by ryan.lam...@gmail.com on 23 Nov 2011 at 7:47

Attachments:

GoogleCodeExporter commented 9 years ago
Ryan 
Thanks for this.  This is a great suggestion.  

If you can integrate findbugs into the ant build then we can use the result to 
initiate  a series of issues back here.  

I took a brief look through the xml output (<5 minutes), there are a lot of 
'style'/'lowercase uppercase' suggestions which I am minded to ignore ;)  and 
some innerclass suggestions (should be static) which I would like to followup 
on. 

Overall I think this is a great idea for improving code quality.  

Are you happy to make the ant changes?

Is the license for findbugs such that we can copy it into the trunnk?  Or can 
we download as a jar in the same manner that we now do for the jogl jars (see 
latest NBody ant file)?

Original comment by frost.g...@gmail.com on 24 Nov 2011 at 5:56

GoogleCodeExporter commented 9 years ago
Gary,

Thanks, I would love to help build out a highly engineered solution. Does 
GoogleCode or AMD provide a CI server?

As for the XML, there are some other areas I'd like to look at as well, such a 
Array optimizations and possible invalid static field initializations, amongst 
others...

Personally, what I've been thinking about is including Ivy in your build 
scripts, which could solve a number of problems with including 3rd party 
libraries. What do you think?

Original comment by ryan.lam...@gmail.com on 24 Nov 2011 at 7:39

GoogleCodeExporter commented 9 years ago
I am not aware of a CI server. My guess is they do not. 

Ivy looks good for demo's (such as NBody with it's JOGL dependency), I am sure 
it is cleaner than my recently added 'hack' which uses ant's 'get' task to pull 
the appropriate jars and extract dlls.

Can Ivy bootstrap itself.  If I have an ant file using Ivy will it pull Ivy ant 
support down? Or will we need to make Ant+Ivy a prerequisite? Maybe we have ivy 
enabled and non-ivy enabled core ant build files so we don't force 
infrastructure or start a 'maven' vs 'ant+ivy' war ;) I have seen too-many of 
those ;)

Original comment by frost.g...@gmail.com on 28 Nov 2011 at 5:20

GoogleCodeExporter commented 9 years ago
All of our Ant-based builds actually bundle Ant in the source tree, thereby 
enabling us to use external libraries by only providing configuration changes, 
such as Ivy. By using Ivy, the Ant build scripts can download whatever else 
they need including FindBugs, JOGL, etc.

While not a fan of Maven myself, I did suggest Ivy to give this project 
Maven-like functionality without necessarily requiring any source tree changes.

Original comment by ryan.lam...@gmail.com on 28 Nov 2011 at 8:45

GoogleCodeExporter commented 9 years ago
I've completed the necessary Ant script and svn:ignore changes.

While Ant can bootstrap Ivy, I decided against using Ivy with such a small 
amount of existing or planned external dependencies in Aparapi at this point in 
time.

I also added what I believe to be important enhancements to the javac command, 
specifically the enabling of compiler warnings.

The FindBugs taskdef warning in Eclipse resolves itself after you execute 
either FindBugs task at least once.

Original comment by ryan.lam...@gmail.com on 15 Jan 2012 at 6:55

GoogleCodeExporter commented 9 years ago
I would like to make these same changes to the build.xml in the codegen 
project, specifically to bootstrap junit. Would you like another issue ticket 
for this?

Original comment by ryan.lam...@gmail.com on 15 Jan 2012 at 6:57

GoogleCodeExporter commented 9 years ago
I've created a new patch which adds the following feature:

- Cleanup existing FindBugs installations automatically when switching versions

Original comment by ryan.lam...@gmail.com on 22 Jan 2012 at 12:44

Attachments:

GoogleCodeExporter commented 9 years ago
I checked in the build script and SVN updates for this issue.

Original comment by ryan.lam...@gmail.com on 19 Feb 2012 at 12:43