Installation instructions
Installation - Static code review
Running the code
nightly.sh generates a report nightly. Modify the settings at the top of the script. Per_tag.sh includes the internationalization. You may need to update Perl for the correct database module and csv module.
Mentality
The code is brief. No extra error checks are involved. To keep the individual script sizes down I have written a number of small scripts rather than one big script. At points there is repetition of code that should be factored out to a Perl module. Basically, the code is waiting new functional requirements to sharpen to.
Assumption
Findbugs (1.0.0), Jav2html and QJPro (2.2.0) have been installed (location explained later)
Note: PMD and QJPro libraries are found under scripts/analysis/extlib
TODO
Migrate from Find bugs 1.0 to 1.1.1
Licensing
Please refer to the PMD,QJPro, Java2html and Findbugs websites for their mainly open source licenses. The internationalization tool has an educational license. The wrapping scripts are released under an Educational license and is supplied as is.
File Structure
The bash script runs with the following assumptions
Where to place downloaded code
base_dir |
/home/sakaiqa/site-generator (in our case) |
findbugs home |
base_dir/findbugs-1.0.0 |
java2html home |
base_dir/java2html |
Internationalization libraries and exclusion lists |
base_dir/lib_international |
QJPro home |
base_dir/qjpro_V2.2.0 |
script root |
base_dir/website/scripts |
log |
base_dir/website/logs |
data |
base_dir/website/data |
source code |
base_dir/website/src |
temporary website |
base_dir/website/www |
achive |
base_dir/website/archive |
Variables to modify
Warning: There may stillbe a couple of variables defined in the scripts themselves that need to be exposed.
In per_tag.sh or nightly.sh (read per_tag.sh comments for best explanation of flow)
www |
Final resting place of the report |
tag |
Which Sakai tag to use |
branch |
Where in subversion the code sits without tag mentioned previously |
root |
The level above the script directory |
In dbh.conf
dsn |
Database DSN e.g.: 'dbi:mysql:dbname=csakai' |
user |
database user |
password |
password |