Installation instructions

Installation - Static code review

Database table structure

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

Resources