DYAutomate 1.1.0 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca40553f032c4e9d73485419d62ab39396340fa3c884ae22c9c323ea4222cc2a
4
- data.tar.gz: 8c96d0b43dff6fe910d66967e233004907d8441b711a2a98a09a1f47575e7518
3
+ metadata.gz: 7464e070b8d6ea964eb5c255de678fd531d23955c8e851696f29119fc4078ab8
4
+ data.tar.gz: c6ea05feca63a3c0d4372d506edaf980a75c538a7404d444238577cb35ccbb87
5
5
  SHA512:
6
- metadata.gz: 72d26755088d66ac96ba98e3f457e184bfa514db907b3ec49b48eecd5c03e60b5f1a54228b408b04fd3d09335ffa74f9ce4c23f2b9079b315d8ddd3db5a2cb5f
7
- data.tar.gz: 07c5579de29bc7d0af3f67825f7cbfe94c68890b7fe4e4cdfc5e997480ae8a13d9b82b54444b40039139a715c6c082a0ae40c9d05c09dc6f18458bdb45c9083b
6
+ metadata.gz: 3322a16cbdd540a2244077c7e725a41098cf66d5d6b64f07149a32af331cc32e8c16583946fc19ad4d729229c5e410713224053d2c9fadd301d48ecce7ee17be
7
+ data.tar.gz: 564ff4d2745d164d36863b5da47c922e30375242b9f2d96cf978c6fc2b0d0eb81edf317f5df2b9752555653005dd8898ab744d3aa10bb0a57bb125f0b4c51db2
data/README.md CHANGED
@@ -22,17 +22,69 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
- TODO: Write usage instructions here
25
+ ### 代码模版
26
+ - 自动生成代码
27
+ ```
28
+ dj code
29
+ ```
30
+ - 拷贝代码片段到xcode中
31
+ ```
32
+ dj snippet
33
+ ```
34
+
35
+ ### 私有库
36
+ - 查看使用方法
37
+ ```
38
+ dj pod -h
39
+ ```
40
+ - 版本更改 1.1.1 -> 1.1.2
41
+ ```
42
+ dj pod ver 1
43
+ ```
44
+ 或者
45
+ ```
46
+ dj pod ver 0 1
47
+ ```
48
+ - 版本更改 1.1.1 -> 1.2.0
49
+ ```
50
+ dj pod ver 1 0
51
+ ```
52
+ - 提交私有库
53
+ ```
54
+ dj pod push
55
+ ```
56
+
57
+ ### workspce
58
+ - 项目pod update
59
+ ```
60
+ dj ws up
61
+ ```
62
+ - 项目pod install
63
+ ```
64
+ dj ws in
65
+ ```
26
66
 
27
67
  ## Development
28
68
 
29
69
  After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
70
 
71
+ For build
72
+ ```
73
+ bundle rake build
74
+ ```
75
+
76
+ For push
77
+ ```
78
+ gem push DYAutomate.gemspec
79
+ ```
80
+ or ↓↓↓↓↓↓
81
+
31
82
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
83
 
33
84
  ## Contributing
34
85
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/DYAutomate. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
86
+ 有问题,可以
87
+ > Email:784767574@qq.com
36
88
 
37
89
  ## License
38
90
 
@@ -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,15 @@ 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 :env_str
17
+ attr_accessor :repo_name
18
+
17
19
  self.abstract_command = true
18
20
  self.command = 'dj'
19
21
  self.version = VERSION
@@ -23,24 +25,23 @@ module DYAutomate
23
25
  # self.plugin_prefixes = %w(claide DYAutomate)
24
26
 
25
27
  def initialize(argv)
26
- super
27
- @repoName = CoreConfig::Core_previte_repo_name
28
- @env_str = CoreConfig::Core_env_str
29
- @config = DYAutomateConfig.loadConfig
30
- pp("当前环境变量 #{@env_str}",1)
28
+ super
29
+ @config = DYAutomateConfig.loadConfig
30
+ @env_str = @config.detailObj.env_str if @config
31
+ @repoName = @config.detailObj.private_repo_name if @config
31
32
  end
32
33
 
33
- def self.options
34
- [
35
- ['--silent', 'Show nothing'],
36
- ].concat(super)
37
- end
34
+ # def self.options
35
+ # [
36
+ # ['--silent', 'Show nothing'],
37
+ # ].concat(super)
38
+ # end
38
39
 
39
40
  def run
40
41
  pp('automate works!!',1)
41
42
  end
42
43
 
43
- def pp(msg,level)
44
+ def pp(msg,level = 2)
44
45
  unless msg
45
46
  return
46
47
  end
@@ -50,7 +51,17 @@ module DYAutomate
50
51
  elsif level == 2
51
52
  puts msg.red if msg
52
53
  end
53
- end
54
+ end
55
+ #
56
+ # def repoName
57
+ # @repoName = @config.detailObj.private_repo_name if @config
58
+ # @repoName
59
+ # end
60
+ #
61
+ # def env_str
62
+ # @env_str = @config.detailObj.env_str if @config
63
+ # @env_str
64
+ # end
54
65
 
55
66
  end
56
67
  end
@@ -0,0 +1,44 @@
1
+
2
+ require 'Core/DYBaseObj'
3
+
4
+ class TestInfo < DYBaseObj
5
+ attr_accessor :user_name
6
+ attr_accessor :user_name
7
+ attr_accessor :git_branch
8
+ attr_accessor :version
9
+ attr_accessor :has_merge_master
10
+ attr_accessor :ipa_qrcode_url
11
+ end
12
+
13
+ module DYAutomate
14
+ class Command
15
+ class TaskFlow <Command
16
+ class Test < TaskFlow
17
+
18
+ # self.abstract_command = true
19
+ self.command = 'test'
20
+ self.summary = "
21
+ 提交测试
22
+ "
23
+ self.arguments = [
24
+ # CLAide::Argument.new('addVersion', false,'升级一个小版本'),
25
+ # CLAide::Argument.new('addBigVersion', false)
26
+ ]
27
+
28
+
29
+ def initialize(argv)
30
+ super
31
+ end
32
+
33
+ def run
34
+ loop do
35
+ UI.puts("请输入你的名字")
36
+ end
37
+
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
44
+
@@ -18,6 +18,7 @@ module DYAutomate
18
18
  # #查询结果lib信息
19
19
  # attr_accessor :info
20
20
 
21
+
21
22
  def initialize(argv)
22
23
  # @name = argv.shift_argument
23
24
  super
@@ -48,8 +49,12 @@ module DYAutomate
48
49
  else
49
50
  pp("pod install 失败",1)
50
51
  end
51
- system "sleep 3"
52
- system "open *.xcworkspace"
52
+
53
+ unless isSilent
54
+ system "sleep 3"
55
+ system "open *.xcworkspace"
56
+ end
57
+
53
58
  end
54
59
 
55
60
  end
@@ -9,12 +9,12 @@ module DYAutomate
9
9
  # self.abstract_command = true
10
10
  self.command = 'up'
11
11
  self.summary = '更新repo,并update'
12
- self.arguments = [
13
- # CLAide::Argument.new('NAME', true),
14
- ]
12
+ # self.arguments = [
13
+ # CLAide::Argument.new('quiet', false),
14
+ # ]
15
15
 
16
16
  # #要查询的lib名字
17
- # attr_accessor :name
17
+ attr_accessor :quiet
18
18
  # #查询结果lib信息
19
19
  # attr_accessor :info
20
20
 
@@ -48,8 +48,12 @@ module DYAutomate
48
48
  else
49
49
  pp("pod update 失败",1)
50
50
  end
51
- system "sleep 3"
52
- system "open *.xcworkspace"
51
+
52
+ unless @isSilent
53
+ system "sleep 3"
54
+ system "open *.xcworkspace"
55
+ end
56
+
53
57
  end
54
58
 
55
59
  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::configFilePath}"
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
@@ -24,8 +24,9 @@ module DYAutomate
24
24
  attr_accessor :spec_name
25
25
 
26
26
  def initialize(argv)
27
- @path = Dir.pwd
28
27
  super
28
+ @path = Dir.pwd
29
+ pp("当前环境变量 #{@env_str}",1)
29
30
  end
30
31
 
31
32
  def validate!
@@ -69,6 +70,7 @@ module DYAutomate
69
70
  v
70
71
  end
71
72
 
73
+ # 1.1.1 => 1.1.2
72
74
  def get_version_new
73
75
  new_v = ''
74
76
  cur_v = get_spec_version
@@ -86,6 +88,7 @@ module DYAutomate
86
88
  new_v
87
89
  end
88
90
 
91
+ # 1.1.1 => 1.2.0
89
92
  def get_version_big_new
90
93
  new_v = ''
91
94
  cur_v = get_spec_version
@@ -143,7 +146,7 @@ module DYAutomate
143
146
  #更新repo
144
147
  def dy_update_repo
145
148
  path = File.join(Dir.home,'.cocoapods/repos')
146
- excludeFiles = [".","..",".DS_Store",'master']
149
+ excludeFiles = [".","..",".DS_Store",'master','trunk']
147
150
  Dir.entries(path).each do |subDir|
148
151
  puts subDir
149
152
  unless excludeFiles.include?(subDir)
@@ -0,0 +1,39 @@
1
+ module DYAutomate
2
+ class Command
3
+ class TaskFlow < Command
4
+
5
+ self.abstract_command = true
6
+ self.command = 'task'
7
+ self.summary = 'task相关'
8
+ # self.default_subcommand = 'list'
9
+ self.arguments = [
10
+ CLAide::Argument.new('NAME', true),
11
+ ]
12
+
13
+ #路径
14
+ attr_accessor :path
15
+ # #查询结果lib信息
16
+ attr_accessor :git_obj
17
+
18
+ def initialize(argv)
19
+ super
20
+ end
21
+
22
+ def validate!
23
+ super
24
+ # unless @name
25
+ # help! 'need the lib `NAME`.'
26
+ # end
27
+
28
+ # unless existGit?
29
+ # help! "at #{Dir.pwd},is not git"
30
+ # end
31
+ end
32
+
33
+ def run
34
+ pp('git run ...',1)
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -12,6 +12,12 @@ module DYAutomate
12
12
  # CLAide::Argument.new('NAME', true),
13
13
  ]
14
14
 
15
+ def self.options
16
+ [
17
+ ['--silent', 'Show nothing'],
18
+ ].concat(super)
19
+ end
20
+
15
21
  #lib名字
16
22
  attr_accessor :name
17
23
  #当前路径
@@ -22,10 +28,15 @@ module DYAutomate
22
28
  # #查询结果lib信息
23
29
  attr_accessor :workSpace_path
24
30
 
31
+ # 是否静默
32
+ attr_accessor :isSilent
33
+
25
34
  def initialize(argv)
26
- @path = Dir.pwd
27
35
  # @path = '/Users/cw/Documents/Dy/Apps/doing/doing'
28
36
  super
37
+ @path = Dir.pwd
38
+ @isSilent = argv.flag?("silent")
39
+ puts "env == #{@env_str}"
29
40
  end
30
41
 
31
42
  def validate!
@@ -46,6 +57,7 @@ module DYAutomate
46
57
 
47
58
  def run
48
59
  pp('WorkSpace run ...',1)
60
+ pp("当前环境变量 #{@env_str}",1)
49
61
  end
50
62
 
51
63
  #project文件是否存在
@@ -79,11 +91,11 @@ module DYAutomate
79
91
  #更新repo
80
92
  def dy_update_repo
81
93
  path = File.join(Dir.home,'.cocoapods/repos')
82
- excludeFiles = [".","..",".DS_Store",'master']
94
+ excludeFiles = [".","..",".DS_Store",'master','trunk']
83
95
  Dir.entries(path).each do |subDir|
84
96
  puts subDir
85
97
  unless excludeFiles.include?(subDir)
86
- system "#{@evn_str} pod repo update #{subDir}"
98
+ system "#{@env_str} pod repo update #{subDir}"
87
99
  end
88
100
  end
89
101
  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 :git
14
- attr_accessor :git_tag
21
+ attr_accessor :detail_git
22
+ attr_accessor :detail_git_tag
23
+
24
+ attr_accessor :detailObj
15
25
  attr_accessor :templates_git_url
16
- # attr_accessor :templates_git_url
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::fromFile(@@configFilePath)
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
- c.git = ""
65
- c.git_tag = ""
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?(@git_tag.chomp)
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 @git_tag && @git
93
- url = "#{@git} --branch #{@git_tag}"
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
- end
114
-
115
- def templates_cache_path
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
@@ -1,3 +1,3 @@
1
1
  module DYAutomate
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: DYAutomate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - 陈冬冬
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-21 00:00:00.000000000 Z
11
+ date: 2021-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -104,16 +104,16 @@ dependencies:
104
104
  name: cocoapods
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - '='
107
+ - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: 1.6.1
109
+ version: '0'
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - '='
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
- version: 1.6.1
116
+ version: '0'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: git
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -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
@@ -146,11 +145,14 @@ files:
146
145
  - lib/DYAutomate/Command/Git/tagAdd.rb
147
146
  - lib/DYAutomate/Command/Pod/push.rb
148
147
  - lib/DYAutomate/Command/Pod/version.rb
148
+ - lib/DYAutomate/Command/TaksFlow/test.rb
149
149
  - lib/DYAutomate/Command/Workspace/install.rb
150
150
  - lib/DYAutomate/Command/Workspace/update.rb
151
151
  - lib/DYAutomate/Command/codeGenerate.rb
152
+ - lib/DYAutomate/Command/codeSnippet.rb
152
153
  - lib/DYAutomate/Command/dgit.rb
153
154
  - lib/DYAutomate/Command/pod.rb
155
+ - lib/DYAutomate/Command/taskFlow.rb
154
156
  - lib/DYAutomate/Command/workspace.rb
155
157
  - lib/DYAutomate/CustomConfig/DYAutomateConfig.rb
156
158
  - lib/DYAutomate/version.rb
@@ -176,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
178
  version: '0'
177
179
  requirements: []
178
180
  rubyforge_project:
179
- rubygems_version: 2.7.8
181
+ rubygems_version: 2.7.11
180
182
  signing_key:
181
183
  specification_version: 4
182
184
  summary: 自动化工具
@@ -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