gitlab-development-kit 0.2.12 → 0.2.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/gdk +98 -64
  3. data/lib/gitlab_development_kit.rb +1 -1
  4. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fce4dd74b2f32c9cbf4519336c9b731158cb34c5570d83805fbeff74aab2c209
4
- data.tar.gz: 3b86852c3e15145a1c5c4617a05827cb4b9b7159be8c684107e0e85f57a389a2
3
+ metadata.gz: 623c7a6318eea8a02347b741e6163d7c1d579780bfffa3bcfd3b8b9e329ec78f
4
+ data.tar.gz: 0f1598e2527fd128dd59d602fbc52b6f83574573fd350435c04e525cc5a559e2
5
5
  SHA512:
6
- metadata.gz: 245d0650689fca386f65d623fce71c5a6884b65faddd731daedb622b39fa3e7c2677218be24709bebe7d9e091dc89263fe5f8b0b4fd82e46a1beb8e125bea12a
7
- data.tar.gz: 14c63e2ab27736a16e7356f4b39b65f125949447f38cab27f90b99249a340f2ad876293b536d3d12544c6e56a380ebd15668bf8e727ccaea51fdd4a20fc2bfce
6
+ metadata.gz: a97000f4d2cb543f54fd125ee08bc99eb066f9372a511eda5751a535da1534ed20b6bc0d71b69a8bdd2ec84f341e59bed3ae4f2faa2607d59e86339608ebd0a4
7
+ data.tar.gz: 2d6120cec65575a344ae632dcef3e7f1b819246b94561dc5199d4a37178014a418190028da61f1601edf9370a42b5e76f2a0b69d0284062de8dcf746007c90fd
data/bin/gdk CHANGED
@@ -3,6 +3,7 @@
3
3
  # frozen_string_literal: true
4
4
 
5
5
  require 'yaml'
6
+ require 'pathname'
6
7
 
7
8
  $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
8
9
  require 'gitlab_development_kit'
@@ -13,95 +14,128 @@ require 'gitlab_development_kit'
13
14
  # installed outside the gitlab-development-kit repository with 'gem
14
15
  # install'. Edit lib/gdk.rb to define new commands.
15
16
  module GDK
17
+ # TODO: Touching .gdk-install-root will be redundant shortly.
16
18
  ROOT_CHECK_FILE = '.gdk-install-root'
17
19
  DEFAULT_INIT_DIRECTORY = File.join(Dir.pwd, 'gitlab-development-kit')
18
20
 
19
- def self.launcher_main
20
- case ARGV.first
21
- when 'init'
22
- if ARGV.count > 2 || (ARGV.count == 2 && (ARGV[1] == '-help' || ARGV[1] == '--help'))
23
- puts 'Usage: gdk init [DIR]'
24
- return false
21
+ module CommandBasic
22
+ class Main
23
+ def initialize(args)
24
+ @args = args
25
25
  end
26
26
 
27
- directory = ARGV.count == 2 ? ARGV[1] : DEFAULT_INIT_DIRECTORY
28
- if directory.start_with?('-')
29
- warn <<~INVALID_GDK_DIR_NAME
30
- The gdk directory cannot start with a dash ('-'). Did you mean:
31
- gdk init #{directory.sub(/^-+/, '')}
32
- INVALID_GDK_DIR_NAME
33
- return false
27
+ def run
28
+ return GDK::CommandBasic::Version.new.run if gdk_version?
29
+ return GDK::CommandBasic::Init.new(args[1..]).run if gdk_init?
30
+
31
+ if gdk_root
32
+ require(gdk_root.join('lib/gdk.rb'))
33
+ GDK.main
34
+ else
35
+ warn_not_gdk_dir
36
+ false
37
+ end
34
38
  end
35
39
 
36
- cmd = %W[git clone https://gitlab.com/gitlab-org/gitlab-development-kit.git #{directory}]
37
- system(*cmd) && remember!(directory)
38
- else
39
- if print_version?
40
- puts VERSION
40
+ private
41
41
 
42
- return true
42
+ attr_reader :args
43
+
44
+ def warn_not_gdk_dir
45
+ warn <<~NOT_A_GDK_DIR
46
+
47
+ The current working directory is not inside a gitlab-development-kit
48
+ installation. Use 'cd' to go to your gitlab-development-kit or create
49
+ a new one with 'gdk init'.
50
+
51
+ gdk init [DIRECTORY] # Default: #{DEFAULT_INIT_DIRECTORY}
52
+
53
+ NOT_A_GDK_DIR
43
54
  end
44
55
 
45
- unless gdk_dir?
46
- warn_not_gdk_dir
56
+ def gdk_root
57
+ @gdk_root ||= find_root(Pathname.new(ENV['PWD']))
58
+ end
59
+
60
+ def gdk_version?
61
+ # If gdk_root == true, fall through to allow lib/gdk.rb to handle
62
+ %w[version --version].include?(args.first) && !gdk_root
63
+ end
47
64
 
48
- return false
65
+ def gdk_init?
66
+ args.first == 'init'
49
67
  end
50
68
 
51
- load(File.join(gdk_root, 'lib/gdk.rb'))
52
- GDK.main
69
+ def find_root(current)
70
+ if current.join('GDK_ROOT').exist?
71
+ current.realpath
72
+ elsif current.realpath.to_s == '/'
73
+ nil
74
+ else
75
+ find_root(current.join('..'))
76
+ end
77
+ end
53
78
  end
54
- end
55
79
 
56
- def self.warn_not_gdk_dir
57
- warn <<~NOT_A_GDK_DIR
80
+ class Version
81
+ def run
82
+ puts GDK::VERSION
83
+ true
84
+ end
85
+ end
58
86
 
59
- The current working directory is not inside a gitlab-development-kit
60
- installation. Use 'cd' to go to your gitlab-development-kit or create
61
- a new one with 'gdk init'.
87
+ class Init
88
+ def initialize(args)
89
+ @args = args
90
+ end
62
91
 
63
- gdk init [DIRECTORY] # Default: #{DEFAULT_INIT_DIRECTORY}
92
+ def run
93
+ warn("INFO: 'gdk init' is deprecated and will be removed in a future update.")
64
94
 
65
- NOT_A_GDK_DIR
66
- end
95
+ if show_help?
96
+ puts('Usage: gdk init [DIR]')
67
97
 
68
- def self.gdk_root
69
- @gdk_root ||= find_root(Dir.pwd)
70
- end
98
+ return true
99
+ end
71
100
 
72
- def self.gdk_dir?
73
- !gdk_root.nil?
74
- end
101
+ directory = new_gdk_directory
102
+ if new_gdk_directory_invalid?(directory)
103
+ warn("ERROR: The proposed new GDK directory '#{directory}' is invalid because it begins with a dash.")
75
104
 
76
- def self.print_version?
77
- %w[version --version].include?(ARGV.first) && !gdk_dir?
78
- end
105
+ return false
106
+ end
79
107
 
80
- def self.find_root(current)
81
- if File.exist?(File.join(current, 'GDK_ROOT'))
82
- File.realpath(current)
83
- elsif File.realpath(current) == '/'
84
- nil
85
- else
86
- find_root(File.join(current, '..'))
87
- end
88
- end
108
+ if clone_gdk(directory)
109
+ puts("INFO: Successfully git cloned the GDK into '#{directory}'.")
110
+ true
111
+ else
112
+ warn("ERROR: An error occurred while attempting to git clone the GDK into '#{directory}'.")
113
+ false
114
+ end
115
+ end
89
116
 
90
- def self.load_dotfile
91
- File.open(DOTFILE, File::RDONLY | File::CREAT) do |f|
92
- YAML.safe_load(f)
93
- end || {}
94
- end
117
+ private
118
+
119
+ attr_reader :args
95
120
 
96
- def self.remember!(directory)
97
- File.open("#{directory}/#{ROOT_CHECK_FILE}", 'w') do |f|
98
- f.puts File.realpath(directory)
121
+ def show_help?
122
+ args.count > 1 || (args & %w[-help --help]).any?
123
+ end
124
+
125
+ def new_gdk_directory_invalid?(directory)
126
+ directory.start_with?('-')
127
+ end
128
+
129
+ def new_gdk_directory
130
+ args.count == 1 ? args.first : GDK::DEFAULT_INIT_DIRECTORY
131
+ end
132
+
133
+ def clone_gdk(directory)
134
+ cmd = "git clone https://gitlab.com/gitlab-org/gitlab-development-kit.git #{directory}"
135
+ system(*cmd)
136
+ end
99
137
  end
100
- true
101
- rescue StandardError => e
102
- warn e
103
- false
104
138
  end
105
139
  end
106
140
 
107
- exit(GDK.launcher_main)
141
+ exit(GDK::CommandBasic::Main.new(ARGV).run)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GDK
4
- GEM_VERSION = '0.2.12'
4
+ GEM_VERSION = '0.2.15'
5
5
  VERSION = "GitLab Development Kit #{GEM_VERSION}"
6
6
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-development-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.12
4
+ version: 0.2.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Vosmaer
8
8
  - GitLab
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-04-23 00:00:00.000000000 Z
12
+ date: 2022-12-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '12.0'
20
+ version: '13.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '12.0'
27
+ version: '13.0'
28
28
  description: CLI for GitLab Development Kit.
29
29
  email:
30
30
  - gitlab_rubygems@gitlab.com
@@ -39,7 +39,7 @@ homepage: https://gitlab.com/gitlab-org/gitlab-development-kit
39
39
  licenses:
40
40
  - MIT
41
41
  metadata: {}
42
- post_install_message:
42
+ post_install_message:
43
43
  rdoc_options: []
44
44
  require_paths:
45
45
  - lib
@@ -54,8 +54,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  requirements: []
57
- rubygems_version: 3.1.4
58
- signing_key:
57
+ rubygems_version: 3.3.26
58
+ signing_key:
59
59
  specification_version: 4
60
60
  summary: CLI for GitLab Development Kit
61
61
  test_files: []