Class: Pindo::Command::Deploy::Pushconfig

Inherits:
Pindo::Command::Deploy show all
Defined in:
lib/pindo/command/deploy/pushconfig.rb

Constant Summary

Constants inherited from Pindo::Command

Pindo::Command::DEFAULT_OPTIONS, Pindo::Command::DEFAULT_ROOT_OPTIONS

Instance Attribute Summary

Attributes inherited from Pindo::Command

#args_help_flag

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Pindo::Command

run

Methods included from Funlog::Mixin

#pindo_log_instance

Methods included from Pindoconfig::Mixin

#pindo_single_config

Methods included from Githelper

#add_branch, #add_tag, #add_tag_with_check, #clone_clang_repo, #clone_devclang_repo, #clone_pindo_common_config_repo, #clone_pindo_env_config_repo, #clong_buildconfig_repo, #get_repo_base_name, #getcode_to_dir, #git_addpush_repo, #git_latest_commit_id, #local_branch_exists?, #local_tag_exists?, #prepare_gitenv, #process_need_add_files, #remote_branch_exists?, #remote_tag_exists?, #remove_branch, #remove_tag

Methods included from Executable

capture_command, #executable, execute_command, which, which!

Constructor Details

#initialize(argv) ⇒ Pushconfig

Returns a new instance of Pushconfig.



26
27
28
29
30
# File 'lib/pindo/command/deploy/pushconfig.rb', line 26

def initialize(argv)
    @args_appconfig = argv.shift_argument || './config.json'
    super
    @additional_args = argv.remainder!
end

Class Method Details

.optionsObject



20
21
22
23
24
# File 'lib/pindo/command/deploy/pushconfig.rb', line 20

def self.options
    [
        
    ].concat(super)
end

Instance Method Details

#runObject



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/pindo/command/deploy/pushconfig.rb', line 53

def run

    app_config_dir = clong_buildconfig_repo(repo_name: @deploy_repo_name)

    if !File.exist?(app_config_dir)
        puts "Error !!!"
        return 
    end

    current=Dir.pwd

    if File.exist?(File.join(current, 'config.json'))
        FileUtils.cp_r(File.join(current, "config.json"), app_config_dir)
    end
    
    Dir.chdir(app_config_dir)
    files_list = git! ['status', '--porcelain']
    if !files_list.empty?
        git! ['add', "-A"]
        git! ['commit', '-m "update config.json"']
        git! ['push']
    else
        puts "no thing commint"
    end
    Dir.chdir(current)

end

#validate!Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/pindo/command/deploy/pushconfig.rb', line 32

def validate!
    super
    
    if !@args_appconfig.empty? && File::file?(@args_appconfig)    
        @args_appconfig_dir=File::expand_path(File::dirname(@args_appconfig))
        @args_appconfig_fullname=File::join(@args_appconfig_dir, File::basename(@args_appconfig))
    end

    configJson=JSON.parse(File.read(@args_appconfig_fullname))
    if configJson['account_info'] && configJson['account_info']['apple_acount_id']
      @apple_id = configJson['account_info']['apple_acount_id']
    end
      
    if configJson['app_info'] && configJson['app_info']['app_identifier']
      @bundle_id = configJson['app_info']['app_identifier']
    end

    help! 'Need correct config.json with a bundle id' if @bundle_id.nil? || @bundle_id.empty?
    
end