gradle structure and gitignore