dtk-client 0.6.1 → 0.6.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 +5 -13
- data/dtk-client.gemspec +1 -1
- data/lib/command_helpers/git_repo.rb +15 -4
- data/lib/commands/common/thor/clone.rb +1 -0
- data/lib/commands/common/thor/module.rb +7 -1
- data/lib/commands/common/thor/push_clone_changes.rb +1 -1
- data/lib/commands/thor/assembly.rb +3 -1
- data/lib/commands/thor/component_module.rb +2 -1
- data/lib/commands/thor/service.rb +17 -0
- data/lib/commands/thor/workspace.rb +17 -0
- data/lib/domain/git_adapter.rb +17 -3
- data/lib/dtk-client/version.rb +1 -1
- data/lib/shell/context.rb +2 -1
- metadata +23 -23
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
N2QyN2FhN2JiMTNlZGU0YTM1YzAzYTE2ZGZiNTdlYjEyZGNmN2ZjMQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 255d3202f2e1ed5a8549778e48dbb1e98d83e287
|
4
|
+
data.tar.gz: c7c2879f1783ea5dfae4bba570e0587e7853c469
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NGNhOTUwYzgxMmUxZDgwODU1ZDhiZDljYWNjNWEwM2I3MWM3OTQ5MjFkOTIz
|
11
|
-
MmYxNjBjZTQwZjI5ZWRlMTA0NDkxYmE0MTc5YzM3MTY1NzllNzg=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MGU0MjZmMDViY2FiNGY3ZGMyMzVjMWJmNGE0NjFhZTljNjA1ZTExZjVlNjY5
|
14
|
-
MjEzN2JjOWE3MTEzMmI4NmUyOGM1ZWZjNzE4OTI4YzgxZDQyOGU0YmU5ZDEw
|
15
|
-
NGU4MGRhMGUwZmYzYzE0NjkzZDZmYmY5ZTU4ZGVkYjQ0NGVkZTM=
|
6
|
+
metadata.gz: edc060619dbdfee5195dd346a87a0c81edbe18c69a67704b0510c048560d60e125270f7dc27b40877f718453d2a288c992a8e56b0f11f308d46901a2cd8fb1d9
|
7
|
+
data.tar.gz: 436463ab2e98c92e9e5677ef12e54453eb9c2825249e2d1dd2b50592c65f87185d127b0c4a011dd113fb72f1e8bb44b0c8b7e8f98094e728db25b44778d90a5b
|
data/dtk-client.gemspec
CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |gem|
|
|
29
29
|
gem.add_dependency 'hirb','~> 0.7.0'
|
30
30
|
gem.add_dependency 'thor','~> 0.15.4'
|
31
31
|
gem.add_dependency 'erubis','~> 2.7.0'
|
32
|
-
gem.add_dependency 'dtk-common-core','~> 0.
|
32
|
+
gem.add_dependency 'dtk-common-core','~> 0.6.0'
|
33
33
|
gem.add_dependency 'git','~> 1.2.6'
|
34
34
|
gem.add_dependency 'colorize','~> 0.5.8'
|
35
35
|
gem.add_dependency 'highline', '1.6.16'
|
@@ -12,18 +12,28 @@ module DTK; module Client; class CommandHelper
|
|
12
12
|
GitAdapter.new(repo_dir,branch)
|
13
13
|
end
|
14
14
|
|
15
|
+
def create_clone_from_optional_branch(type, module_name, repo_url, opts={})
|
16
|
+
branch = opts[:branch]
|
17
|
+
version = opts[:version]
|
18
|
+
namespace = opts[:namespace]
|
19
|
+
create_clone_with_branch(type,module_name,repo_url,branch,version,namespace,{:track_remote_branch => true}.merge(opts))
|
20
|
+
end
|
21
|
+
# TODO: should we deprecate below for above, subsituting the body of below for above ?
|
15
22
|
def create_clone_with_branch(type, module_name, repo_url, branch=nil, version=nil, module_namespace=nil, opts={})
|
16
23
|
Response.wrap_helper_actions do
|
17
24
|
full_name = module_namespace ? ModuleUtil.resolve_name(module_name, module_namespace) : module_name
|
18
25
|
|
19
26
|
modules_dir = modules_dir(type,full_name,version,opts)
|
20
27
|
FileUtils.mkdir_p(modules_dir) unless File.directory?(modules_dir)
|
28
|
+
|
21
29
|
target_repo_dir = local_repo_dir(type,full_name,version,opts)
|
30
|
+
if File.exists?(target_repo_dir)
|
31
|
+
raise ErrorUsage.new("Directory '#{target_repo_dir}' is not empty; it must be deleted or removed before retrying the command")
|
32
|
+
end
|
22
33
|
|
23
|
-
opts = {}
|
24
|
-
opts = { :branch => branch } if branch
|
25
34
|
begin
|
26
|
-
|
35
|
+
opts_clone = (opts[:track_remote_branch] ? {:track_remote_branch => true} : {})
|
36
|
+
GitAdapter.clone(repo_url, target_repo_dir, branch,opts_clone)
|
27
37
|
rescue => e
|
28
38
|
# Handling Git error messages with more user friendly messages
|
29
39
|
e = GitErrorHandler.handle(e)
|
@@ -174,6 +184,7 @@ module DTK; module Client; class CommandHelper
|
|
174
184
|
# creates directory if missing
|
175
185
|
parent_path = new_dir.gsub(/(\/\w+)$/,'')
|
176
186
|
FileUtils::mkdir_p(parent_path) unless File.directory?(parent_path)
|
187
|
+
# raise ErrorUsage.new("Destination folder already exists '#{new_dir}', aborting initialization.") if File.directory?(new_dir)
|
177
188
|
FileUtils.mv(old_dir, new_dir)
|
178
189
|
else
|
179
190
|
new_dir = local_repo_dir
|
@@ -191,7 +202,7 @@ module DTK; module Client; class CommandHelper
|
|
191
202
|
response = unlink_local_clone?(type,module_name,version)
|
192
203
|
unless response.ok?
|
193
204
|
# in case delete went wrong, we raise usage error
|
194
|
-
raise
|
205
|
+
raise DtkError.new("Directory (#{local_repo_dir} is set as a git repo; to continue it must be a non git repo; this can be handled by shell command 'rm -rf #{local_repo_dir}/.git'")
|
195
206
|
end
|
196
207
|
# we return to normal flow, since .git dir is removed
|
197
208
|
end
|
@@ -14,6 +14,7 @@ module DTK::Client
|
|
14
14
|
full_module_name = ModuleUtil.resolve_name(module_name, module_namespace)
|
15
15
|
|
16
16
|
return not_ok_response if not_ok_response
|
17
|
+
# TODO: should we use instead Helper(:git_repo).create_clone_from_optional_branch
|
17
18
|
response = Helper(:git_repo).create_clone_with_branch(module_type,module_name,repo_url,branch,version,module_namespace,opts)
|
18
19
|
|
19
20
|
if response.ok?
|
@@ -187,7 +187,11 @@ module DTK::Client
|
|
187
187
|
namespace, local_module_name = get_namespace_and_name(module_name, ModuleUtil::NAMESPACE_SEPERATOR)
|
188
188
|
|
189
189
|
# Create component module from user's input git repo
|
190
|
-
|
190
|
+
opts = {
|
191
|
+
:namespace => namespace,
|
192
|
+
:branch => options['branch']
|
193
|
+
}
|
194
|
+
response = Helper(:git_repo).create_clone_from_optional_branch(module_type.to_sym, local_module_name, git_repo_url, opts)
|
191
195
|
|
192
196
|
# Raise error if git repository is invalid
|
193
197
|
# raise DtkError,"Git repository URL '#{git_repo_url}' is invalid." unless response.ok?
|
@@ -208,6 +212,7 @@ module DTK::Client
|
|
208
212
|
OsUtil.print("There are some missing dependencies: #{possibly_missing}", :yellow) unless possibly_missing.empty?
|
209
213
|
end
|
210
214
|
else
|
215
|
+
local_module_name = create_response.data[:full_module_name] if create_response.data[:full_module_name]
|
211
216
|
delete_module_sub_aux(context_params, local_module_name, :force_delete => true, :no_error_msg => true, :purge => true)
|
212
217
|
return create_response
|
213
218
|
end
|
@@ -340,6 +345,7 @@ module DTK::Client
|
|
340
345
|
end
|
341
346
|
|
342
347
|
unless skip_cloning
|
348
|
+
# TODO: should we use instead Helper(:git_repo).create_clone_from_optional_branch
|
343
349
|
response = Helper(:git_repo).create_clone_with_branch(module_type.to_sym, module_name, repo_url, branch, version, remote_namespace)
|
344
350
|
end
|
345
351
|
|
@@ -68,7 +68,7 @@ module DTK::Client
|
|
68
68
|
content = dsl_created_info["content"]
|
69
69
|
if path and content
|
70
70
|
msg = "A #{path} file has been created for you, located at #{repo_obj.repo_dir}"
|
71
|
-
response = Helper(:git_repo).add_file(path,content,msg)
|
71
|
+
response = Helper(:git_repo).add_file(repo_obj,path,content,msg)
|
72
72
|
return response unless response.ok?
|
73
73
|
end
|
74
74
|
end
|
@@ -264,7 +264,9 @@ module DTK::Client
|
|
264
264
|
@@invalidate_map << :assembly
|
265
265
|
|
266
266
|
assembly_template_name = get_assembly_name(assembly_template_id)
|
267
|
-
|
267
|
+
if assembly_template_name
|
268
|
+
assembly_template_name.gsub!(/(::)|(\/)/,'-')
|
269
|
+
end
|
268
270
|
|
269
271
|
# we check current options and forwarded options (from deploy method)
|
270
272
|
in_target = options["in-target"] || context_params.get_forwarded_thor_option("in-target")
|
@@ -184,7 +184,8 @@ TODO: might deprecate
|
|
184
184
|
#
|
185
185
|
# Creates component module from input git repo, removing .git dir to rid of pointing to user github, and creates component module
|
186
186
|
#
|
187
|
-
|
187
|
+
method_option :branch, :aliases => '-b'
|
188
|
+
desc "import-git GIT-SSH-REPO-URL [-b BRANCH/TAG] [NAMESPACE:]COMPONENT-MODULE-NAME", "Create new local component module by importing from provided git repo URL"
|
188
189
|
def import_git(context_params)
|
189
190
|
import_git_module_aux(context_params)
|
190
191
|
end
|
@@ -85,6 +85,11 @@ module DTK::Client
|
|
85
85
|
:endpoint => "assembly",
|
86
86
|
:url => "assembly/info_about",
|
87
87
|
:opts => {:subtype=>"instance", :about=>"modules"}
|
88
|
+
},
|
89
|
+
:delete_node => {
|
90
|
+
:endpoint => "assembly",
|
91
|
+
:url => "assembly/info_about",
|
92
|
+
:opts => {:subtype=>"instance", :about=>"nodes"}
|
88
93
|
}
|
89
94
|
}
|
90
95
|
}
|
@@ -574,7 +579,13 @@ TODO: will put in dot release and will rename to 'extend'
|
|
574
579
|
response = create_node_aux(context_params)
|
575
580
|
return response unless response.ok?
|
576
581
|
|
582
|
+
@@invalidate_map << :assembly
|
583
|
+
@@invalidate_map << :assembly_node
|
584
|
+
@@invalidate_map << :service
|
577
585
|
@@invalidate_map << :service_node
|
586
|
+
@@invalidate_map << :workspace
|
587
|
+
@@invalidate_map << :workspace_node
|
588
|
+
|
578
589
|
message = "Created node '#{response.data["display_name"]}'."
|
579
590
|
DTK::Client::OsUtil.print(message, :yellow)
|
580
591
|
end
|
@@ -601,7 +612,13 @@ TODO: will put in dot release and will rename to 'extend'
|
|
601
612
|
method_option :force, :aliases => '-y', :type => :boolean, :default => false
|
602
613
|
def delete_node(context_params)
|
603
614
|
response = delete_node_aux(context_params)
|
615
|
+
|
616
|
+
@@invalidate_map << :assembly
|
617
|
+
@@invalidate_map << :assembly_node
|
618
|
+
@@invalidate_map << :service
|
604
619
|
@@invalidate_map << :service_node
|
620
|
+
@@invalidate_map << :workspace
|
621
|
+
@@invalidate_map << :workspace_node
|
605
622
|
|
606
623
|
return response
|
607
624
|
end
|
@@ -61,6 +61,11 @@ module DTK::Client
|
|
61
61
|
:endpoint => "assembly",
|
62
62
|
:url => "assembly/info_about",
|
63
63
|
:opts => {:subtype=>"instance", :about=>"modules"}
|
64
|
+
},
|
65
|
+
:delete_node => {
|
66
|
+
:endpoint => "assembly",
|
67
|
+
:url => "assembly/info_about",
|
68
|
+
:opts => {:subtype=>"instance", :about=>"nodes"}
|
64
69
|
}
|
65
70
|
}
|
66
71
|
}
|
@@ -245,7 +250,13 @@ module DTK::Client
|
|
245
250
|
response = create_node_aux(context_params)
|
246
251
|
return response unless response.ok?
|
247
252
|
|
253
|
+
@@invalidate_map << :assembly
|
254
|
+
@@invalidate_map << :assembly_node
|
255
|
+
@@invalidate_map << :service
|
248
256
|
@@invalidate_map << :service_node
|
257
|
+
@@invalidate_map << :workspace
|
258
|
+
@@invalidate_map << :workspace_node
|
259
|
+
|
249
260
|
message = "Created node '#{response.data["display_name"]}'."
|
250
261
|
DTK::Client::OsUtil.print(message, :yellow)
|
251
262
|
end
|
@@ -291,7 +302,13 @@ module DTK::Client
|
|
291
302
|
method_option :force, :aliases => '-y', :type => :boolean, :default => false
|
292
303
|
def delete_node(context_params)
|
293
304
|
response = delete_node_aux(context_params)
|
305
|
+
|
306
|
+
@@invalidate_map << :assembly
|
307
|
+
@@invalidate_map << :assembly_node
|
308
|
+
@@invalidate_map << :service
|
294
309
|
@@invalidate_map << :service_node
|
310
|
+
@@invalidate_map << :workspace
|
311
|
+
@@invalidate_map << :workspace_node
|
295
312
|
|
296
313
|
return response
|
297
314
|
end
|
data/lib/domain/git_adapter.rb
CHANGED
@@ -189,10 +189,24 @@ module DTK
|
|
189
189
|
@git_repo.merge(remote_branch_ref)
|
190
190
|
end
|
191
191
|
|
192
|
-
def self.clone(repo_url, target_path, branch)
|
192
|
+
def self.clone(repo_url, target_path, branch, opts={})
|
193
193
|
git_base = Git.clone(repo_url, target_path)
|
194
|
-
|
195
|
-
|
194
|
+
unless branch.nil?
|
195
|
+
if opts[:track_remote_branch]
|
196
|
+
# This just tracks remote branch
|
197
|
+
begin
|
198
|
+
git_base.checkout(branch)
|
199
|
+
rescue => e
|
200
|
+
# TODO: see if any other kind of error
|
201
|
+
raise DtkError.new("The branch or tag '#{branch}' does not exist on repo '#{repo_url}'")
|
202
|
+
end
|
203
|
+
else
|
204
|
+
# This wil first create a remote branch;
|
205
|
+
# TODO: this might be wrong and should be deprecated
|
206
|
+
git_base.branch(branch).checkout
|
207
|
+
end
|
208
|
+
end
|
209
|
+
git_base
|
196
210
|
end
|
197
211
|
|
198
212
|
def repo_dir
|
data/lib/dtk-client/version.rb
CHANGED
data/lib/shell/context.rb
CHANGED
@@ -229,7 +229,8 @@ module DTK
|
|
229
229
|
clazz_from_args = DTK::Shell::Context.get_command_class(command_from_args) if command_from_args
|
230
230
|
end
|
231
231
|
|
232
|
-
|
232
|
+
# this delete-node is a hack because we need autocomplete when there is node with name 'node'
|
233
|
+
if (command.eql?('cd') || command.eql?('cc') || command.eql?('popc') || command.eql?('pushc') || command.eql?('delete-node'))
|
233
234
|
if is_root
|
234
235
|
if entries.size >= 3
|
235
236
|
node = entries[2]
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dtk-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rich PELAVIN
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.2.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.2.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -56,98 +56,98 @@ dependencies:
|
|
56
56
|
name: mime-types
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.25'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.25'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: hirb
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.7.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.7.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: thor
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 0.15.4
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.15.4
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: erubis
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: 2.7.0
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 2.7.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: dtk-common-core
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - ~>
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 0.6.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - ~>
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
124
|
+
version: 0.6.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: git
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - ~>
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: 1.2.6
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - ~>
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 1.2.6
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: colorize
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - ~>
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: 0.5.8
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - ~>
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: 0.5.8
|
153
153
|
- !ruby/object:Gem::Dependency
|
@@ -328,17 +328,17 @@ require_paths:
|
|
328
328
|
- lib
|
329
329
|
required_ruby_version: !ruby/object:Gem::Requirement
|
330
330
|
requirements:
|
331
|
-
- -
|
331
|
+
- - ">="
|
332
332
|
- !ruby/object:Gem::Version
|
333
333
|
version: '0'
|
334
334
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
335
335
|
requirements:
|
336
|
-
- -
|
336
|
+
- - ">="
|
337
337
|
- !ruby/object:Gem::Version
|
338
338
|
version: '0'
|
339
339
|
requirements: []
|
340
340
|
rubyforge_project:
|
341
|
-
rubygems_version: 2.
|
341
|
+
rubygems_version: 2.4.1
|
342
342
|
signing_key:
|
343
343
|
specification_version: 4
|
344
344
|
summary: DTK CLI client for DTK server interaction.
|