yadecli 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile.lock +10 -2
 - data/lib/yadecli.rb +1 -0
 - data/lib/yadecli/cli/composer.rb +2 -2
 - data/lib/yadecli/client/gitlab_client.rb +43 -0
 - data/lib/yadecli/config/app_config.rb +1 -0
 - data/lib/yadecli/io/user_input.rb +7 -7
 - data/lib/yadecli/model/composer_project.rb +7 -0
 - data/lib/yadecli/model/project_module.rb +1 -1
 - data/lib/yadecli/service/composer_service.rb +33 -13
 - data/lib/yadecli/service/project_service.rb +9 -2
 - data/lib/yadecli/version.rb +1 -1
 - data/yadecli.gemspec +1 -0
 - metadata +17 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 755e7471d5c931bc8c2abcadca1105d3af78baa83d6734e6538927a69baaeea8
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 02ab4f4bf68e6b718eeb95ceb5b91a2be4ce9f8382ab128149172baf3aaaf76f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 0517566cf487ebe02d971c6d7facfc7b42803f3b129b103c5f3357b0c2684e9cb845e64f018300d35838cb2eb51edccdc3bab0e7c20cdbb647c1c6fabb87d78a
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 3c919b6af35b6e3ddf95d20c0f86f1a554262c21389e5ecd4a2c9befffeb2990b0785001b55d176d1a347c18fe51ac332e2928b4a31d7bf664d80740a78f0282
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,11 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                yadecli (0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
                yadecli (0.1.2)
         
     | 
| 
       5 
5 
     | 
    
         
             
                  activemodel (~> 5.2)
         
     | 
| 
       6 
6 
     | 
    
         
             
                  artii (~> 2.1)
         
     | 
| 
       7 
7 
     | 
    
         
             
                  colorize (~> 0.8)
         
     | 
| 
       8 
8 
     | 
    
         
             
                  dotenv (~> 2.5)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  gitlab (~> 3.6)
         
     | 
| 
       9 
10 
     | 
    
         
             
                  httparty (~> 0.13)
         
     | 
| 
       10 
11 
     | 
    
         
             
                  net-ssh (~> 5.0)
         
     | 
| 
       11 
12 
     | 
    
         
             
                  rest-client (~> 2.0)
         
     | 
| 
         @@ -64,6 +65,9 @@ GEM 
     | 
|
| 
       64 
65 
     | 
    
         
             
                equatable (0.5.0)
         
     | 
| 
       65 
66 
     | 
    
         
             
                ffi (1.9.25)
         
     | 
| 
       66 
67 
     | 
    
         
             
                gherkin (5.1.0)
         
     | 
| 
      
 68 
     | 
    
         
            +
                gitlab (3.6.1)
         
     | 
| 
      
 69 
     | 
    
         
            +
                  httparty
         
     | 
| 
      
 70 
     | 
    
         
            +
                  terminal-table
         
     | 
| 
       67 
71 
     | 
    
         
             
                hitimes (1.3.0)
         
     | 
| 
       68 
72 
     | 
    
         
             
                http-cookie (1.0.3)
         
     | 
| 
       69 
73 
     | 
    
         
             
                  domain_name (~> 0.5)
         
     | 
| 
         @@ -119,9 +123,13 @@ GEM 
     | 
|
| 
       119 
123 
     | 
    
         
             
                  unicode-display_width (~> 1.0, >= 1.0.1)
         
     | 
| 
       120 
124 
     | 
    
         
             
                ruby-progressbar (1.10.0)
         
     | 
| 
       121 
125 
     | 
    
         
             
                settingslogic (2.0.9)
         
     | 
| 
       122 
     | 
    
         
            -
                strings (0.1. 
     | 
| 
      
 126 
     | 
    
         
            +
                strings (0.1.3)
         
     | 
| 
      
 127 
     | 
    
         
            +
                  strings-ansi (~> 0.1.0)
         
     | 
| 
       123 
128 
     | 
    
         
             
                  unicode-display_width (~> 1.4.0)
         
     | 
| 
       124 
129 
     | 
    
         
             
                  unicode_utils (~> 1.4.0)
         
     | 
| 
      
 130 
     | 
    
         
            +
                strings-ansi (0.1.0)
         
     | 
| 
      
 131 
     | 
    
         
            +
                terminal-table (1.8.0)
         
     | 
| 
      
 132 
     | 
    
         
            +
                  unicode-display_width (~> 1.1, >= 1.1.1)
         
     | 
| 
       125 
133 
     | 
    
         
             
                thor (0.20.0)
         
     | 
| 
       126 
134 
     | 
    
         
             
                thread_safe (0.3.6)
         
     | 
| 
       127 
135 
     | 
    
         
             
                timers (4.1.2)
         
     | 
    
        data/lib/yadecli.rb
    CHANGED
    
    | 
         @@ -49,6 +49,7 @@ require 'yadecli/client/sdk_package_client' 
     | 
|
| 
       49 
49 
     | 
    
         
             
            require 'yadecli/client/rvm_runtime_client'
         
     | 
| 
       50 
50 
     | 
    
         
             
            require 'yadecli/client/nvm_runtime_client'
         
     | 
| 
       51 
51 
     | 
    
         
             
            require 'yadecli/client/pyenv_runtime_client'
         
     | 
| 
      
 52 
     | 
    
         
            +
            require 'yadecli/client/gitlab_client'
         
     | 
| 
       52 
53 
     | 
    
         
             
            require 'yadecli/service/connect_service'
         
     | 
| 
       53 
54 
     | 
    
         
             
            require 'yadecli/service/authentication_service'
         
     | 
| 
       54 
55 
     | 
    
         
             
            require 'yadecli/service/project_service'
         
     | 
    
        data/lib/yadecli/cli/composer.rb
    CHANGED
    
    | 
         @@ -25,8 +25,8 @@ module Yadecli 
     | 
|
| 
       25 
25 
     | 
    
         
             
                  method_option :clean, default: false, aliases: '-c', desc: 'Clean install, will delete a existing composer project'
         
     | 
| 
       26 
26 
     | 
    
         
             
                  method_option :yes, default: false, aliases: '-y', desc: 'Will answer yes to all questions, This will run a git pull on installed projects without asking'
         
     | 
| 
       27 
27 
     | 
    
         
             
                  method_option :pull, default: false, aliases: '-p', desc: 'Will run a git pull on a already installed project'
         
     | 
| 
       28 
     | 
    
         
            -
                  def install( 
     | 
| 
       29 
     | 
    
         
            -
                    Yadecli::Service::ComposerService.new.install( 
     | 
| 
      
 28 
     | 
    
         
            +
                  def install(project_name, branch_name = nil)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    Yadecli::Service::ComposerService.new.install(project_name, branch_name, options)
         
     | 
| 
       30 
30 
     | 
    
         
             
                  end
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
32 
     | 
    
         
             
                  # switch branch command
         
     | 
| 
         @@ -0,0 +1,43 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'gitlab'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            # yadecli cli
         
     | 
| 
      
 6 
     | 
    
         
            +
            module Yadecli
         
     | 
| 
      
 7 
     | 
    
         
            +
              module Client
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                # gitlab client
         
     | 
| 
      
 10 
     | 
    
         
            +
                class GitlabClient
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                  # request yade token
         
     | 
| 
      
 13 
     | 
    
         
            +
                  def initialize
         
     | 
| 
      
 14 
     | 
    
         
            +
                    Gitlab.configure do |config|
         
     | 
| 
      
 15 
     | 
    
         
            +
                      config.endpoint       = AppConfig[:git_api_url]   # API endpoint URL, default: ENV['GITLAB_API_ENDPOINT']
         
     | 
| 
      
 16 
     | 
    
         
            +
                      config.private_token  = AppConfig[:git_token]     # user's private token or OAuth2 access token, default: ENV['GITLAB_API_PRIVATE_TOKEN']
         
     | 
| 
      
 17 
     | 
    
         
            +
                    end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                    #Gitlab.http_proxy('squid.dzbw.de', 3128)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  # get branch names from gitlab project given by name
         
     | 
| 
      
 23 
     | 
    
         
            +
                  def get_branch_names(repository_name)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    projects = Gitlab.projects
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                    project = projects.select { |p| repository_name == p.name }.first
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                    branches = Gitlab.branches(project.id)
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                    branches.map { |b| b.name }
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  # get branch names from gitlab project given by name
         
     | 
| 
      
 34 
     | 
    
         
            +
                  def get_default_branch(repository_name)
         
     | 
| 
      
 35 
     | 
    
         
            +
                    projects = Gitlab.projects
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                    project = projects.select { |p| repository_name == p.name }.first
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                    project.default_branch
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -59,6 +59,7 @@ curl --header 'PRIVATE-TOKEN: <your token>' \ 
     | 
|
| 
       59 
59 
     | 
    
         
             
                d['access_token'] = self.access_token
         
     | 
| 
       60 
60 
     | 
    
         
             
                d['refresh_token'] = self.refresh_token
         
     | 
| 
       61 
61 
     | 
    
         
             
                d['expiration_time'] = self.expiration_time
         
     | 
| 
      
 62 
     | 
    
         
            +
                d['git_api_url'] = self.git_api_url
         
     | 
| 
       62 
63 
     | 
    
         
             
                d['git_username'] = self.git_username
         
     | 
| 
       63 
64 
     | 
    
         
             
                d['git_password'] = self.git_password
         
     | 
| 
       64 
65 
     | 
    
         
             
                d['git_token'] = self.git_token
         
     | 
| 
         @@ -11,11 +11,11 @@ class UserInput 
     | 
|
| 
       11 
11 
     | 
    
         
             
                prompt.ask(message, default: AppConfig[config_key] ||= '')
         
     | 
| 
       12 
12 
     | 
    
         
             
              end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
               
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
               
     | 
| 
      
 14 
     | 
    
         
            +
              def self.select_branch(repo_name)
         
     | 
| 
      
 15 
     | 
    
         
            +
                prompt = TTY::Prompt.new
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                branches = Yadecli::Client::GitlabClient.new.get_branch_names(repo_name)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                prompt.select('Select the branch you want to clone', branches)
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
       21 
21 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            require 'active_model'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'uri'
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
       5 
6 
     | 
    
         
             
            # Project
         
     | 
| 
       6 
7 
     | 
    
         
             
            class ComposerProject
         
     | 
| 
         @@ -27,4 +28,10 @@ class ComposerProject 
     | 
|
| 
       27 
28 
     | 
    
         
             
              def uninstall
         
     | 
| 
       28 
29 
     | 
    
         
             
                FileUtils.rm_rf("#{AppConfig[:composer_home]}/#{name}")
         
     | 
| 
       29 
30 
     | 
    
         
             
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
              def git_repo_name
         
     | 
| 
      
 33 
     | 
    
         
            +
                uri = URI(gitUrl)
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                uri.path.split('/').last.split('.').first
         
     | 
| 
      
 36 
     | 
    
         
            +
              end
         
     | 
| 
       30 
37 
     | 
    
         
             
            end
         
     | 
| 
         @@ -42,7 +42,7 @@ module Yadecli 
     | 
|
| 
       42 
42 
     | 
    
         
             
                    composer_projects = @composer_project_client.list
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
                    # print table
         
     | 
| 
       45 
     | 
    
         
            -
                    table = TTY::Table.new header: ['Id', 'Name', 'Services', 'Installed', ' 
     | 
| 
      
 45 
     | 
    
         
            +
                    table = TTY::Table.new header: ['Id', 'Name', 'Services', 'Installed', 'Branches', 'Git Url']
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
                    # add as rows to table
         
     | 
| 
       48 
48 
     | 
    
         
             
                    composer_projects.each do |p|
         
     | 
| 
         @@ -52,13 +52,31 @@ module Yadecli 
     | 
|
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
                      composer_services = @composer_service_client.get_by_composer_project_id(project_id)
         
     | 
| 
       54 
54 
     | 
    
         
             
                      service_names = composer_services.collect(&:name).join(', ')
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                      gitlab_client = Yadecli::Client::GitlabClient.new
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                      branches = gitlab_client.get_branch_names(p.git_repo_name)
         
     | 
| 
      
 59 
     | 
    
         
            +
                      default_branch = gitlab_client.get_default_branch(p.git_repo_name)
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       55 
61 
     | 
    
         
             
                      if project_installed
         
     | 
| 
       56 
     | 
    
         
            -
                         
     | 
| 
      
 62 
     | 
    
         
            +
                        current_branch = FileUtil.git_current_branch(p.install_dir)
         
     | 
| 
       57 
63 
     | 
    
         
             
                      else
         
     | 
| 
       58 
     | 
    
         
            -
                         
     | 
| 
      
 64 
     | 
    
         
            +
                        current_branch = nil
         
     | 
| 
      
 65 
     | 
    
         
            +
                      end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                      branches = branches.map do |b|
         
     | 
| 
      
 68 
     | 
    
         
            +
                        if b == default_branch && b == current_branch
         
     | 
| 
      
 69 
     | 
    
         
            +
                          "#{b} (Default, Current)"
         
     | 
| 
      
 70 
     | 
    
         
            +
                        elsif b == default_branch && b != current_branch
         
     | 
| 
      
 71 
     | 
    
         
            +
                          "#{b} (Default)"
         
     | 
| 
      
 72 
     | 
    
         
            +
                        elsif b == current_branch && b != default_branch
         
     | 
| 
      
 73 
     | 
    
         
            +
                            "#{b} (Current)"
         
     | 
| 
      
 74 
     | 
    
         
            +
                        else
         
     | 
| 
      
 75 
     | 
    
         
            +
                          b
         
     | 
| 
      
 76 
     | 
    
         
            +
                        end
         
     | 
| 
       59 
77 
     | 
    
         
             
                      end
         
     | 
| 
       60 
78 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
                      table << [project_id, project_name, service_names , project_installed,  
     | 
| 
      
 79 
     | 
    
         
            +
                      table << [project_id, project_name, service_names , project_installed, branches.join(', '), p.gitUrl]
         
     | 
| 
       62 
80 
     | 
    
         
             
                    end
         
     | 
| 
       63 
81 
     | 
    
         | 
| 
       64 
82 
     | 
    
         
             
                    renderer = TTY::Table::Renderer::ASCII.new(table, padding: [0, 1])
         
     | 
| 
         @@ -72,11 +90,11 @@ module Yadecli 
     | 
|
| 
       72 
90 
     | 
    
         
             
                  end
         
     | 
| 
       73 
91 
     | 
    
         | 
| 
       74 
92 
     | 
    
         
             
                  # install composer project with name
         
     | 
| 
       75 
     | 
    
         
            -
                  def install( 
     | 
| 
      
 93 
     | 
    
         
            +
                  def install(project_name, branch_name = nil, options)
         
     | 
| 
       76 
94 
     | 
    
         
             
                    CliUtil.print_header('YadeCli Composer Install',
         
     | 
| 
       77 
     | 
    
         
            -
                                         ["Going to install Yade composer project #{ 
     | 
| 
      
 95 
     | 
    
         
            +
                                         ["Going to install Yade composer project #{project_name}", ''])
         
     | 
| 
       78 
96 
     | 
    
         | 
| 
       79 
     | 
    
         
            -
                    composer_project = @composer_project_client.get_by_name( 
     | 
| 
      
 97 
     | 
    
         
            +
                    composer_project = @composer_project_client.get_by_name(project_name)
         
     | 
| 
       80 
98 
     | 
    
         | 
| 
       81 
99 
     | 
    
         
             
                    #   # delete already installed when option --clean given
         
     | 
| 
       82 
100 
     | 
    
         
             
                    #   uninstall(options, true) if options[:clean]
         
     | 
| 
         @@ -91,18 +109,18 @@ module Yadecli 
     | 
|
| 
       91 
109 
     | 
    
         
             
                    already_installed = composer_project.installed?
         
     | 
| 
       92 
110 
     | 
    
         | 
| 
       93 
111 
     | 
    
         
             
                    # ask for branch if not given from commandline
         
     | 
| 
       94 
     | 
    
         
            -
                     
     | 
| 
      
 112 
     | 
    
         
            +
                    branch_name = UserInput.select_branch(composer_project.git_repo_name) if branch_name == nil && !already_installed && !options[:yes]
         
     | 
| 
       95 
113 
     | 
    
         | 
| 
       96 
114 
     | 
    
         
             
                    if already_installed
         
     | 
| 
       97 
     | 
    
         
            -
                      puts "Composer project #{ 
     | 
| 
      
 115 
     | 
    
         
            +
                      puts "Composer project #{project_name} already installed.".colorize(color: :blue, mode: :bold)
         
     | 
| 
       98 
116 
     | 
    
         
             
                      puts '  ↳ Doing a git pull.'
         
     | 
| 
       99 
117 
     | 
    
         | 
| 
       100 
118 
     | 
    
         
             
                      pull_repository(composer_project, options)
         
     | 
| 
       101 
119 
     | 
    
         
             
                    else
         
     | 
| 
       102 
     | 
    
         
            -
                      puts "Composer project #{ 
     | 
| 
      
 120 
     | 
    
         
            +
                      puts "Composer project #{project_name} will be installed.".colorize(color: :blue, mode: :bold)
         
     | 
| 
       103 
121 
     | 
    
         
             
                      puts '  ↳ Doing a git clone.'
         
     | 
| 
       104 
122 
     | 
    
         | 
| 
       105 
     | 
    
         
            -
                      clone_repository(composer_project)
         
     | 
| 
      
 123 
     | 
    
         
            +
                      clone_repository(composer_project, branch_name)
         
     | 
| 
       106 
124 
     | 
    
         
             
                    end
         
     | 
| 
       107 
125 
     | 
    
         | 
| 
       108 
126 
     | 
    
         
             
                    puts ''
         
     | 
| 
         @@ -344,7 +362,7 @@ module Yadecli 
     | 
|
| 
       344 
362 
     | 
    
         
             
                  end
         
     | 
| 
       345 
363 
     | 
    
         | 
| 
       346 
364 
     | 
    
         
             
                  # clone repository
         
     | 
| 
       347 
     | 
    
         
            -
                  def clone_repository(composer_project)
         
     | 
| 
      
 365 
     | 
    
         
            +
                  def clone_repository(composer_project, branch_name)
         
     | 
| 
       348 
366 
     | 
    
         
             
                    username = AppConfig[:git_username]
         
     | 
| 
       349 
367 
     | 
    
         
             
                    password = AppConfig[:git_password]
         
     | 
| 
       350 
368 
     | 
    
         | 
| 
         @@ -357,7 +375,9 @@ module Yadecli 
     | 
|
| 
       357 
375 
     | 
    
         
             
                    url_with_auth = "#{scheme}://#{username}:#{password}@#{host}#{path}"
         
     | 
| 
       358 
376 
     | 
    
         | 
| 
       359 
377 
     | 
    
         
             
                    cmd = TTY::Command.new(output: Yadecli.LOGGER)
         
     | 
| 
       360 
     | 
    
         
            -
                    cmdline = "git clone --depth=1  
     | 
| 
      
 378 
     | 
    
         
            +
                    cmdline = "git clone --depth=1 "
         
     | 
| 
      
 379 
     | 
    
         
            +
                    cmdline += "-b #{branch_name} " if branch_name != nil
         
     | 
| 
      
 380 
     | 
    
         
            +
                    cmdline += "#{url_with_auth} #{composer_project.install_dir}"
         
     | 
| 
       361 
381 
     | 
    
         | 
| 
       362 
382 
     | 
    
         
             
                    cmd.run(cmdline, only_output_on_error: true)
         
     | 
| 
       363 
383 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -37,9 +37,16 @@ module Yadecli 
     | 
|
| 
       37 
37 
     | 
    
         
             
                        is_installed = m.installed?
         
     | 
| 
       38 
38 
     | 
    
         
             
                        git_status = '-'
         
     | 
| 
       39 
39 
     | 
    
         
             
                        git_status = FileUtil.git_status(m.home) if is_installed
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                        if is_installed
         
     | 
| 
      
 42 
     | 
    
         
            +
                          current_branch = FileUtil.git_current_branch(p.home)
         
     | 
| 
      
 43 
     | 
    
         
            +
                        else
         
     | 
| 
      
 44 
     | 
    
         
            +
                          current_branch = '-'
         
     | 
| 
      
 45 
     | 
    
         
            +
                        end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                        rows << [module_name, is_installed, git_status, current_branch]
         
     | 
| 
       41 
48 
     | 
    
         
             
                      end
         
     | 
| 
       42 
     | 
    
         
            -
                      table = TTY::Table.new header: ['Module name', 'Installed', 'Git Status'], rows: rows
         
     | 
| 
      
 49 
     | 
    
         
            +
                      table = TTY::Table.new header: ['Module name', 'Installed', 'Git Status', 'Branch'], rows: rows
         
     | 
| 
       43 
50 
     | 
    
         
             
                      puts table.render(:ascii, padding: [0, 1])
         
     | 
| 
       44 
51 
     | 
    
         
             
                      puts ''
         
     | 
| 
       45 
52 
     | 
    
         
             
                    end
         
     | 
    
        data/lib/yadecli/version.rb
    CHANGED
    
    
    
        data/yadecli.gemspec
    CHANGED
    
    | 
         @@ -36,6 +36,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       36 
36 
     | 
    
         
             
              spec.add_dependency 'artii', '~> 2.1'
         
     | 
| 
       37 
37 
     | 
    
         
             
              spec.add_dependency 'colorize', '~> 0.8'
         
     | 
| 
       38 
38 
     | 
    
         
             
              spec.add_dependency 'dotenv', '~> 2.5'
         
     | 
| 
      
 39 
     | 
    
         
            +
              spec.add_dependency 'gitlab', '~> 3.6'
         
     | 
| 
       39 
40 
     | 
    
         
             
              spec.add_dependency 'httparty', '~> 0.13'
         
     | 
| 
       40 
41 
     | 
    
         
             
              spec.add_dependency 'net-ssh', '~> 5.0'
         
     | 
| 
       41 
42 
     | 
    
         
             
              spec.add_dependency 'rest-client', '~> 2.0'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: yadecli
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Sebastian Freund
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2018-09- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2018-09-05 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: activemodel
         
     | 
| 
         @@ -66,6 +66,20 @@ dependencies: 
     | 
|
| 
       66 
66 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       67 
67 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
68 
     | 
    
         
             
                    version: '2.5'
         
     | 
| 
      
 69 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 70 
     | 
    
         
            +
              name: gitlab
         
     | 
| 
      
 71 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 72 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 73 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 75 
     | 
    
         
            +
                    version: '3.6'
         
     | 
| 
      
 76 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 77 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 78 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 79 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 80 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 81 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 82 
     | 
    
         
            +
                    version: '3.6'
         
     | 
| 
       69 
83 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       70 
84 
     | 
    
         
             
              name: httparty
         
     | 
| 
       71 
85 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -297,6 +311,7 @@ files: 
     | 
|
| 
       297 
311 
     | 
    
         
             
            - lib/yadecli/client/composer_project_client.rb
         
     | 
| 
       298 
312 
     | 
    
         
             
            - lib/yadecli/client/composer_service_client.rb
         
     | 
| 
       299 
313 
     | 
    
         
             
            - lib/yadecli/client/domain_client.rb
         
     | 
| 
      
 314 
     | 
    
         
            +
            - lib/yadecli/client/gitlab_client.rb
         
     | 
| 
       300 
315 
     | 
    
         
             
            - lib/yadecli/client/host_client.rb
         
     | 
| 
       301 
316 
     | 
    
         
             
            - lib/yadecli/client/maven_build_step_client.rb
         
     | 
| 
       302 
317 
     | 
    
         
             
            - lib/yadecli/client/maven_build_task_client.rb
         
     |