abstract dsl out project
add guard task
project sync prepared, build target backup folders
after project sync clearup outdated backups
use virtus to refactoring project
cleanup and abstract class backup out of project
use virtus to replace the initialization method of class
Merge branch 'feature/project_perform' into develop