add ignore rule: cache.properties
add ant script
add write repeat test case
refactor duplicated code