DYAutomate 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/DYAutomate/Command.rb +13 -6
- data/lib/DYAutomate/Command/codeGenerate.rb +1 -2
- data/lib/DYAutomate/Command/codeSnippet.rb +57 -0
- data/lib/DYAutomate/CustomConfig/DYAutomateConfig.rb +55 -17
- data/lib/DYAutomate/version.rb +1 -1
- metadata +2 -2
- data/lib/Core/CoreConfig.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 488a3c5f4815c40ae02294499acb20770b78d1a7789aab5b709082c68efe4f35
|
4
|
+
data.tar.gz: a761a7d0166d42d1dfcaba894cd456e6ea306d0f5edde717f56cb78a6a6de54b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa07c1a77398558bc1fcf8c04fb8b02df83d747f720152e7a369a6c33aac6dc8d1df303366549fce9be75b580c8c40b3b4333c47106338a8aeb26de23fd118c7
|
7
|
+
data.tar.gz: f762ad8ed262d8b41e8eceb989dbddb0a7bf23845b37f6015016eff654813ce40a58b4cb83dc206c654a2039b34d2198d1acc4b762e97ca90ea5223d80cb4753
|
data/lib/DYAutomate/Command.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'DYAutomate.rb'
|
2
2
|
require 'version'
|
3
|
-
require 'Core/CoreConfig'
|
4
3
|
require 'CustomConfig/DYAutomateConfig'
|
5
4
|
require 'Core/user_interface'
|
6
5
|
|
@@ -8,12 +7,14 @@ module DYAutomate
|
|
8
7
|
require 'CLAide'
|
9
8
|
include UI
|
10
9
|
class Command < CLAide::Command
|
11
|
-
include CoreConfig
|
12
10
|
require 'Command/pod.rb'
|
13
11
|
require 'Command/workspace.rb'
|
14
12
|
require 'Command/codeGenerate'
|
13
|
+
require 'Command/codeSnippet'
|
15
14
|
|
16
15
|
attr_accessor :config
|
16
|
+
attr_accessor :config
|
17
|
+
|
17
18
|
self.abstract_command = true
|
18
19
|
self.command = 'dj'
|
19
20
|
self.version = VERSION
|
@@ -24,10 +25,8 @@ module DYAutomate
|
|
24
25
|
|
25
26
|
def initialize(argv)
|
26
27
|
super
|
27
|
-
@repoName = CoreConfig::Core_previte_repo_name
|
28
|
-
@env_str = CoreConfig::Core_env_str
|
29
28
|
@config = DYAutomateConfig.loadConfig
|
30
|
-
pp("当前环境变量 #{
|
29
|
+
pp("当前环境变量 #{env_str}",1)
|
31
30
|
end
|
32
31
|
|
33
32
|
def self.options
|
@@ -50,7 +49,15 @@ module DYAutomate
|
|
50
49
|
elsif level == 2
|
51
50
|
puts msg.red if msg
|
52
51
|
end
|
53
|
-
|
52
|
+
end
|
53
|
+
|
54
|
+
def repoName
|
55
|
+
@config.detailObj.private_repo_name if @config
|
56
|
+
end
|
57
|
+
|
58
|
+
def env_str
|
59
|
+
@config.detailObj.env_str if @config
|
60
|
+
end
|
54
61
|
|
55
62
|
end
|
56
63
|
end
|
@@ -26,9 +26,8 @@ module DYAutomate
|
|
26
26
|
super
|
27
27
|
unless @config.templates_git_url
|
28
28
|
help! "
|
29
|
-
error -- >!!! Not found <templates_git_url> in the #{DYAutomateConfig
|
29
|
+
error -- >!!! Not found <templates_git_url> in the #{DYAutomateConfig.configFilePath}"
|
30
30
|
end
|
31
|
-
|
32
31
|
end
|
33
32
|
|
34
33
|
def run
|
@@ -0,0 +1,57 @@
|
|
1
|
+
|
2
|
+
module DYAutomate
|
3
|
+
class Command
|
4
|
+
class CodeSnippet < Command
|
5
|
+
|
6
|
+
require "fileutils"
|
7
|
+
|
8
|
+
self.abstract_command = false
|
9
|
+
self.command = 'snippet'
|
10
|
+
self.summary = '拷贝代码片段到Xcode中'
|
11
|
+
# self.default_subcommand = 'list'
|
12
|
+
self.arguments = [
|
13
|
+
# CLAide::Argument.new('NAME', true),
|
14
|
+
]
|
15
|
+
|
16
|
+
#当前路径
|
17
|
+
attr_accessor :xcode_snippsets_path
|
18
|
+
|
19
|
+
def initialize(argv)
|
20
|
+
super
|
21
|
+
@xcode_snippsets_path = File.join(Dir.home,"/Library/Developer/Xcode/UserData/CodeSnippets")
|
22
|
+
end
|
23
|
+
|
24
|
+
def validate!
|
25
|
+
super
|
26
|
+
unless Dir.exist?(@xcode_snippsets_path)
|
27
|
+
help! "
|
28
|
+
error -- >!!! Not found Xcode CodeSnippets at the #{@xcode_snippsets_path}"
|
29
|
+
end
|
30
|
+
|
31
|
+
unless @config.detailObj.codeSnippsets_git_url
|
32
|
+
help! "
|
33
|
+
error -- >!!! Not found the value of codeSnippsets_git_url"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def run
|
38
|
+
clone_templates
|
39
|
+
end
|
40
|
+
|
41
|
+
def clone_templates
|
42
|
+
tempPath = File.join(Dir.home,'Documents','.iOSCodeSnippet')
|
43
|
+
unless Dir.exist?(tempPath)
|
44
|
+
system("mkdir #{tempPath}")
|
45
|
+
end
|
46
|
+
system ("git clone #{@config.codeSnippsets_git_url} --depth 1 #{tempPath}")
|
47
|
+
Dir.chdir("#{tempPath}/CodeSnippets")
|
48
|
+
Dir.glob("*") do |path|
|
49
|
+
FileUtils.cp(path, @xcode_snippsets_path)
|
50
|
+
end
|
51
|
+
`rm -rf #{tempPath}`
|
52
|
+
puts "安装完成..."
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -2,6 +2,14 @@ require 'Core/DYBaseObj'
|
|
2
2
|
|
3
3
|
|
4
4
|
module DYAutomate
|
5
|
+
|
6
|
+
class DYAutomateConfigDetail < DYBaseObj
|
7
|
+
attr_accessor :templates_git_url
|
8
|
+
attr_accessor :codeSnippsets_git_url
|
9
|
+
attr_accessor :private_repo_name
|
10
|
+
attr_accessor :env_str
|
11
|
+
end
|
12
|
+
|
5
13
|
class DYAutomateConfig < DYBaseObj
|
6
14
|
@public
|
7
15
|
#cache相关的路径
|
@@ -10,17 +18,31 @@ module DYAutomate
|
|
10
18
|
@@configGitClonePath = File.join(@@cachePath, 'Git')
|
11
19
|
@@logsDirPath = File.join(@@cachePath, 'log')
|
12
20
|
|
13
|
-
attr_accessor :
|
14
|
-
attr_accessor :
|
21
|
+
attr_accessor :detail_git
|
22
|
+
attr_accessor :detail_git_tag
|
23
|
+
|
24
|
+
attr_accessor :detailObj
|
15
25
|
attr_accessor :templates_git_url
|
16
|
-
|
17
|
-
attr_accessor :templates_cache_path
|
26
|
+
attr_accessor :codeSnippsets_git_url
|
18
27
|
|
28
|
+
attr_accessor :templates_cache_path
|
19
29
|
|
20
30
|
def initialize
|
21
31
|
super
|
22
32
|
end
|
23
33
|
|
34
|
+
def self.cachePath
|
35
|
+
@@cachePath
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.configFilePath
|
39
|
+
@@configFilePath
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.configGitClonePath
|
43
|
+
@@configGitClonePath
|
44
|
+
end
|
45
|
+
|
24
46
|
def self.logsDirPath
|
25
47
|
@@logsDirPath
|
26
48
|
end
|
@@ -28,8 +50,7 @@ module DYAutomate
|
|
28
50
|
#从配置中心读取
|
29
51
|
def self.loadConfig
|
30
52
|
checkConfigFile?
|
31
|
-
cc = DYAutomateConfig
|
32
|
-
puts cc
|
53
|
+
cc = DYAutomateConfig.fromFile(@@configFilePath)
|
33
54
|
cc.loadDetailFromGit if cc
|
34
55
|
cc
|
35
56
|
end
|
@@ -61,14 +82,32 @@ module DYAutomate
|
|
61
82
|
#DYAutomate 配置
|
62
83
|
|
63
84
|
DYAutomateConfig.new do |c|
|
64
|
-
|
65
|
-
c.
|
85
|
+
# 配置的git地址
|
86
|
+
c.detail_git = ""
|
87
|
+
|
88
|
+
# 配置的git tag
|
89
|
+
c.detail_git_tag = ""
|
66
90
|
end
|
67
91
|
EOF
|
68
|
-
|
69
92
|
f.write(demo)
|
70
93
|
end
|
71
94
|
|
95
|
+
def templates_git_url
|
96
|
+
url = ''
|
97
|
+
url = @detailObj.templates_git_url if @detailObj
|
98
|
+
url
|
99
|
+
end
|
100
|
+
|
101
|
+
def codeSnippsets_git_url
|
102
|
+
url = ''
|
103
|
+
url = @detailObj.codeSnippsets_git_url if @detailObj
|
104
|
+
url
|
105
|
+
end
|
106
|
+
|
107
|
+
def templates_cache_path
|
108
|
+
File.join(@@cachePath,'templates')
|
109
|
+
end
|
110
|
+
|
72
111
|
def check_git_dir
|
73
112
|
unless Dir.exist?(@@configGitClonePath)
|
74
113
|
Dir.mkdir(@@configGitClonePath,0777)
|
@@ -81,7 +120,7 @@ module DYAutomate
|
|
81
120
|
if File.exist?(versionFile)
|
82
121
|
versionContent = File.open(versionFile, 'r:utf-8', &:read)
|
83
122
|
if versionContent
|
84
|
-
isSame = versionContent.chomp.eql?(@
|
123
|
+
isSame = versionContent.chomp.eql?(@detail_git_tag.chomp)
|
85
124
|
end
|
86
125
|
end
|
87
126
|
isSame
|
@@ -89,12 +128,12 @@ module DYAutomate
|
|
89
128
|
|
90
129
|
def clone_git
|
91
130
|
check_git_dir
|
92
|
-
if @
|
93
|
-
url = "#{@
|
131
|
+
if @detail_git_tag && @detail_git
|
132
|
+
url = "#{@detail_git} --branch #{@detail_git_tag}"
|
94
133
|
# url = "#{@git} "
|
95
134
|
cloneOk = system "git clone #{url} #{@@configGitClonePath}"
|
96
135
|
if cloneOk
|
97
|
-
puts "
|
136
|
+
puts "clone #{url}成功。。。"
|
98
137
|
else
|
99
138
|
puts "clone #{url}失败!!"
|
100
139
|
end
|
@@ -110,10 +149,9 @@ module DYAutomate
|
|
110
149
|
system("rm -rf #{@@configGitClonePath}")
|
111
150
|
clone_git
|
112
151
|
end
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
File.join(@@cachePath,'templates')
|
152
|
+
path = File.join(@@configGitClonePath,'detailConfig.rb')
|
153
|
+
@detailObj = DYAutomateConfigDetail.fromFile(path) if File.exist?(path)
|
154
|
+
puts "加载配置成功。。。" if @detailObj
|
117
155
|
end
|
118
156
|
|
119
157
|
end
|
data/lib/DYAutomate/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: DYAutomate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 陈冬冬
|
@@ -138,7 +138,6 @@ extra_rdoc_files: []
|
|
138
138
|
files:
|
139
139
|
- README.md
|
140
140
|
- bin/dj
|
141
|
-
- lib/Core/CoreConfig.rb
|
142
141
|
- lib/Core/DYBaseObj.rb
|
143
142
|
- lib/Core/user_interface.rb
|
144
143
|
- lib/DYAutomate.rb
|
@@ -149,6 +148,7 @@ files:
|
|
149
148
|
- lib/DYAutomate/Command/Workspace/install.rb
|
150
149
|
- lib/DYAutomate/Command/Workspace/update.rb
|
151
150
|
- lib/DYAutomate/Command/codeGenerate.rb
|
151
|
+
- lib/DYAutomate/Command/codeSnippet.rb
|
152
152
|
- lib/DYAutomate/Command/dgit.rb
|
153
153
|
- lib/DYAutomate/Command/pod.rb
|
154
154
|
- lib/DYAutomate/Command/workspace.rb
|
data/lib/Core/CoreConfig.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
|
2
|
-
module CoreConfig
|
3
|
-
Core_previte_repo_name = 'dy_repo_private_pods'
|
4
|
-
Core_previte_repo_url = 'git@gitlab.dongyin.net:iospodrepos/dy_repo_private_pods.git'
|
5
|
-
Core_public_repo_url = 'git@gitlab.dongyin.net:iospodrepos/dy_repo_public_pods.git'
|
6
|
-
Core_cocoapods_repo_url = 'https://github.com/CocoaPods/Specs.git'
|
7
|
-
|
8
|
-
Core_pod_git_url = "git@gitlab.dongyin.net:iosprivatepods"
|
9
|
-
Core_env_str = "Core_pod_git_url=#{Core_pod_git_url} Core_previte_repo_url=#{Core_previte_repo_url}#####{Core_public_repo_url}#####{Core_cocoapods_repo_url}"
|
10
|
-
end
|