class BigKeeper::DepGradleOperator
Operator for podfile
Constants
- BUILD_GRADLE
- SETTINGS_GRADLE
Public Instance Methods
backup()
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 14 def backup end
install(modules, type, should_update)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 39 def install(modules, type, should_update) if OperateType::START == type || OperateType::UPDATE == type || OperateType::SWITCH == type || OperateType::FINISH == type GradleFileOperator.new(@path, @user).update_home_depends("#{@path}/#{BUILD_GRADLE}", "#{@path}/#{SETTINGS_GRADLE}",type) elsif OperateType::PUBLISH == type recover() end end
open()
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 60 def open end
prerelease_finish(path, version, user, modules)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 239 def prerelease_finish(path, version, user, modules) BigkeeperParser.parse("#{path}/Bigkeeper") version = BigkeeperParser.version if version == 'Version in Bigkeeper file' #stash home StashService.new.stash(path, GitOperator.new.current_branch(path), 'home') # delete cache CacheOperator.new(path).clean() # checkout develop GitService.new.verify_checkout_pull(path, 'develop') modules.each do |module_name| Logger.highlight("release start module #{module_name}") ModuleService.new.release_finish(path, user, modules, module_name, version) end # release home DepService.dep_operator(path, user).prerelease_home_finish(path, version, user, modules) # Push home changes to remote Logger.highlight("Push branch 'develop' for 'Home'...") GitService.new.verify_push( path, "release finish for #{version}", 'develop', 'Home') end
prerelease_home_finish(path, version, user, modules)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 273 def prerelease_home_finish(path, version, user, modules) version_config_file = "#{@path}/doc/config/version-config.gradle" VersionConfigOperator.change_version(version_config_file, modules, version) end
prerelease_home_start(path, version, user, modules)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 267 def prerelease_home_start(path, version, user, modules) version_config_file = "#{path}/doc/config/version-config.gradle" version = "#{version}-SNAPSHOT" unless version.include?'SNAPSHOT' VersionConfigOperator.change_version(version_config_file, modules, version) end
prerelease_start(path, version, user, modules)
click to toggle source
prerelease cmd
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 200 def prerelease_start(path, version, user, modules) BigkeeperParser.parse("#{path}/Bigkeeper") version = BigkeeperParser.version if version == 'Version in Bigkeeper file' modules = release_check_changed_modules(path, user) if (modules.nil? || modules.empty?) if modules.nil? || modules.empty? Logger.error('no module need to release') end if !CommandLineUtil.double_check("module #{modules} will changed version to #{version}-SNAPSHOT, are you sure?") Logger.error('release start interrupt') end #stash home StashService.new.stash(path, GitOperator.new.current_branch(path), 'home') # delete cache CacheOperator.new(path).clean() # checkout develop GitService.new.verify_checkout_pull(path, 'develop') modules.each do |module_name| Logger.highlight("release start module #{module_name}") module_full_path = BigkeeperParser.module_full_path(path, user, module_name) ModuleService.new.release_start(path, user, modules, module_name, version) GitService.new.verify_push(module_full_path, "Change version to #{version}-SNAPSHOT", "develop", module_name) end #release home DepService.dep_operator(path, user).prerelease_home_start(path, version, user, modules) # Push home changes to remote Logger.highlight("Push branch 'develop' for 'Home'...") GitService.new.verify_push( path, "release start for #{version}", 'develop', 'Home') end
recover()
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 17 def recover build_file = "#{@path}/#{BUILD_GRADLE}" settings_file = "#{@path}/#{SETTINGS_GRADLE}" GradleFileOperator.new(@path, @user).recover_bigkeeper_config_file(build_file) GradleFileOperator.new(@path, @user).recover_bigkeeper_config_file(settings_file) cache_operator = CacheOperator.new(@path) cache_operator.clean end
release_check_changed_modules(path, user)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 63 def release_check_changed_modules(path, user) changed_modules = [] BigkeeperParser.parse("#{path}/Bigkeeper") allModules = BigkeeperParser.module_names allModules.each do |module_name| if ModuleService.new.release_check_changed(path, user, module_name) changed_modules << module_name end end changed_modules end
release_home_finish(path, version, user, modules)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 121 def release_home_finish(path, version, user, modules) BigkeeperParser.parse("#{path}/Bigkeeper") version = BigkeeperParser.version if version == 'Version in Bigkeeper file' if modules.nil? || modules.empty? Logger.default('no module need to release') end #stash home StashService.new.stash(path, GitOperator.new.current_branch(path), 'home') # delete cache CacheOperator.new(path).clean() # check GitOperator.new.check_diff(path, "develop", "master") for module_name in modules module_path = BigkeeperParser.module_full_path(path, user, module_name) StashService.new.stash(module_path, GitOperator.new.current_branch(module_path), module_name) GitService.new.verify_checkout_pull(module_path, "release/#{version}") GitService.new.verify_checkout_pull(module_path, "develop") has_diff = GitOperator.new.check_diff(module_path, "develop", "release/#{version}") if has_diff branch_name = GitOperator.new.current_branch(module_path) if branch_name == "develop" GitOperator.new.merge_no_ff(module_path, "release/#{version}") GitOperator.new.push_to_remote(module_path, "develop") else Logger.error("current branch is not develop branch") end end # check out master Logger.highlight("'#{module_name}' checkout branch to master...") GitService.new.verify_checkout_pull(module_path, "master") # merge release to master GitOperator.new.merge_no_ff(module_path, "release/#{version}") Logger.highlight(%Q(Merge "release/#{version}" to master)) GitOperator.new.push_to_remote(module_path, "master") end if GitOperator.new.has_branch(path, "release/#{version}") GitService.new.verify_checkout_pull(path, "release/#{version}") PodfileOperator.new.replace_all_module_release(path, user, modules, ModuleOperateType::RELEASE) GitService.new.verify_push(path, "finish release branch", "release/#{version}", 'Home') # master GitService.new.verify_checkout(path, "master") GitOperator.new.merge(path, "release/#{version}") GitService.new.verify_push(path, "release V#{version}", "master", 'Home') GitOperator.new.tag(path, version) # release branch GitOperator.new.checkout(path, "release/#{version}") CacheOperator.new(path).load('Podfile') CacheOperator.new(path).clean() GitOperator.new.commit(path, "reset #{version} Podfile") GitService.new.verify_push(path, "reset #{version} Podfile", "release/#{version}", 'Home') # develop GitOperator.new.checkout(path, "develop") GitOperator.new.merge(path, "release/#{version}") GitService.new.verify_push(path, "merge release/#{version} to develop", "develop", 'Home') GitOperator.new.check_diff(path, "develop", "master") Logger.highlight("Finish release home for #{version}") else raise Logger.error("There is no release/#{version} branch, please use release home start first.") end end
release_home_start(path, version, user, modules)
click to toggle source
release cmd
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 76 def release_home_start(path, version, user, modules) BigkeeperParser.parse("#{path}/Bigkeeper") version = BigkeeperParser.version if version == 'Version in Bigkeeper file' modules = BigkeeperParser.module_names if modules.nil? || modules.empty? Logger.default('no module need to release') end #stash home StashService.new.stash(path, GitOperator.new.current_branch(path), 'home') # delete cache CacheOperator.new(path).clean() # check GitOperator.new.check_diff(path, "develop", "master") #checkout release branch Logger.highlight(%Q(Start to checkout Home Branch release/#{version})) GitService.new.verify_checkout(path, "release/#{version}") raise Logger.error("Chechout release/#{version} failed.") unless GitOperator.new.current_branch(path) == "release/#{version}" Logger.highlight(%Q(Finish to release/#{version} for home project)) if !modules.nil? && !modules.empty? modules.each do |module_name| Logger.highlight("release checkout release/#{version} for #{module_name}") module_full_path = BigkeeperParser.module_full_path(path, user, module_name) if GitOperator.new.has_branch(module_full_path, "release/#{version}") Logger.highlight("#{module_name} has release/#{version}") GitService.new.verify_checkout_pull(module_full_path, "release/#{version}") else Logger.highlight("#{module_name} dont have release/#{version}") GitService.new.verify_checkout(module_full_path, "release/#{version}") Logger.highlight("Push branch release/'#{version}' for #{module_name}...") GitOperator.new.push_to_remote(module_full_path, "release/#{version}") end end end Logger.highlight("Home project release home start finished") end
release_module_finish(modules, module_name, version)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 54 def release_module_finish(modules, module_name, version) module_full_path = BigkeeperParser.module_full_path(@path, @user, module_name) version_config_file = "#{module_full_path}/doc/config/version-config.gradle" VersionConfigOperator.change_version(version_config_file, modules, version) end
release_module_start(modules, module_name, version)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 47 def release_module_start(modules, module_name, version) module_full_path = BigkeeperParser.module_full_path(@path, @user, module_name) version_config_file = "#{module_full_path}/doc/config/version-config.gradle" version = "#{version}-SNAPSHOT" unless version.include?'SNAPSHOT' VersionConfigOperator.change_version(version_config_file, modules, version) end
update_module_config(module_name, module_operate_type)
click to toggle source
# File lib/big_keeper/dependency/dep_gradle_operator.rb, line 27 def update_module_config(module_name, module_operate_type) if ModuleOperateType::ADD == module_operate_type GradleModuleOperator.new(@path, @user, module_name).update_module(ModuleOperateType::ADD) elsif ModuleOperateType::DELETE == module_operate_type GradleModuleOperator.new(@path, @user, module_name).recover() elsif ModuleOperateType::FINISH == module_operate_type GradleModuleOperator.new(@path, @user, module_name).update_module(ModuleOperateType::FINISH) elsif ModuleOperateType::PUBLISH == module_operate_type GradleModuleOperator.new(@path, @user, module_name).recover() end end