FAF Tool
Command line utility which helps in setting up faf project
Table of Contents
Install
npm install -g faf-tool
Basic Usage
mkdir diamond-featurecd diamond-featurefaf-tool
running faf-tool without command shows help and copy settings.json.example
to current folder
rename settings.json.example
to settings.json
and edit it, for example:
"svn-server": "svnserver.jaspersoft.com" "release-cycle": "diamond" "feature-name": "feature" "jasperserver-branch": "diamond-ce-feature" "jasperserver-pro-branch": "diamond-pro-feature" "modules": "bi-charts" "bi-dashboard" "bi-report" "bi-repository" "js-sdk" "jrs-ui" "jrs-ui-pro"
Prepare local project to work
faf-tool setup
Commands
setup
Checkout selected modules and run npm init
faf-tool setup
init
Initialize for each module: npm install && npm prune && grunt init
faf-tool init
watch
Start watchers assets like js,hml,css etc in all faf packages
faf-tool watch
To find out local deployment you have to prepare .workspace file
update-init
Update and initialize for each module: svn up && npm install && npm prune && grunt init
faf-tool update-init
checkout-full
Checking out faf modules and jrs if specified
faf-tool create-feature
switch
Switch repository to specified branch
faf-tool switch
downmerge
Runs svn up and svn merge from trunk command for FAF modules and JRS Accepts "--accept=" svn argument. Default "postpone". Accepts "--separate-changelist=<true|false>" svn argument. Default "true".
faf-tool downmerge
removecl
removes all changelists which was created during downmerge task executed with --separate-changelist=true wich is set by default
faf-tool removecl
cleanup
runs svn cleanup for each module
faf-tool cleanup
CLI options
--dry-run=true
--verbose
--no-time
- hide time report--username=<username>
- svn username--password=<password>
- svn password--accept=<value>
- argument for svn merge command, works for "downmerge" task. Default "postpone".--parallel=<true|false>
- argument for parallel command execution, works for most tasks which use svn. Default "true".--separate-changelist=<true|false>
- argument for adding module changes to a separate svn changelist, works for "downmerge" task. Default "true"
Dry run example
faf-tool create-feature --dry-run
Settings File
Look at settings.json samples
// by default it uses "https://" protocol "svn-server": "svnserver.jaspersoft.com" // branch name parts //name of the feature branch or "trunk" "feature-name": "<feature name>" // optional parameter for features without release cycle like bugfix "release-cycle": "<release name>" // optional JRS branches names used for checkout JRS "jasperserver-branch": "<existing jrs ce branch name>" "jasperserver-pro-branch": "<existing jrs pro branch name>" // optional JRS location "jasperserver-ci-path": "<path to ci jrs>" "jasperserver-pro-ci-path": "<path to ci jrs-pro>" // optional svn credentials "username": "username" "password":"password" "modules": "bi-charts" "bi-dashboard" "bi-report" "bi-repository" "js-sdk" "jrs-ui" "jrs-ui-pro"