gitlab-development-kit 0.2.12 → 0.2.15

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.
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: []