mt_tool 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 466b8868490b3f9b799559c3c4213b3ca4ab91f2a87dbc5df5d7db34091be194
4
- data.tar.gz: 712bdb6715c3cd7213652f3104c6ed4b285c5ddb903bbbd0a5cec22c7bd3ba74
3
+ metadata.gz: ca57bd0d4463ef855c164f414da4a25d00c535340e647d23001df1ad21273eec
4
+ data.tar.gz: 10037e4818e9a08eb3451d7afd3acf82d3053780ef742850029529540b50111b
5
5
  SHA512:
6
- metadata.gz: 46c1cb718b27f665c220c0f1341f3cf2b686f7d4181565594d7b9426f00b5e5053dc73ac51574cfebe575b5895fdb70245f3daa0db0a350a87a8466bfdb14b24
7
- data.tar.gz: 61ad9301171acc6fc238570114d9d597d56a09fa047d40feebdf7d8baac38eeb54f4f6efc68e5c0d97f37a8f24b1f1c95e7d774cbb832269415c0de0a29a5471
6
+ metadata.gz: 73e7e99cf89c345b4c276be4bf73f3d1181aca067a11087a45f5253065f051d6d9c23f5b59999a3a91acdcce15588bb4aeea662a9384f020e28554bdc62d7d97
7
+ data.tar.gz: a9a42acdcb1c78cf115c2c6e62d2c3fac6e479f1ad9fcf407543d66b984fab36474990076be7279840db6e05bb1c7e796bd101bf667eef8493b0b02506bfe8c3
data/.idea/mt_tool.iml CHANGED
@@ -12,24 +12,12 @@
12
12
  <orderEntry type="inheritedJdk" />
13
13
  <orderEntry type="sourceFolder" forTests="false" />
14
14
  <orderEntry type="library" scope="PROVIDED" name="CFPropertyList (v3.0.5, RVM: ruby-2.7.2) [gem]" level="application" />
15
- <orderEntry type="library" scope="PROVIDED" name="activesupport (v6.1.5, RVM: ruby-2.7.2) [gem]" level="application" />
16
15
  <orderEntry type="library" scope="PROVIDED" name="addressable (v2.8.0, RVM: ruby-2.7.2) [gem]" level="application" />
17
16
  <orderEntry type="library" scope="PROVIDED" name="algoliasearch (v1.27.5, RVM: ruby-2.7.2) [gem]" level="application" />
18
17
  <orderEntry type="library" scope="PROVIDED" name="atomos (v0.1.3, RVM: ruby-2.7.2) [gem]" level="application" />
19
- <orderEntry type="library" scope="PROVIDED" name="bundler (v2.3.11, RVM: ruby-2.7.2) [gem]" level="application" />
20
18
  <orderEntry type="library" scope="PROVIDED" name="claide (v1.1.0, RVM: ruby-2.7.2) [gem]" level="application" />
21
- <orderEntry type="library" scope="PROVIDED" name="cocoapods (v1.11.3, RVM: ruby-2.7.2) [gem]" level="application" />
22
- <orderEntry type="library" scope="PROVIDED" name="cocoapods-core (v1.11.3, RVM: ruby-2.7.2) [gem]" level="application" />
23
- <orderEntry type="library" scope="PROVIDED" name="cocoapods-deintegrate (v1.0.5, RVM: ruby-2.7.2) [gem]" level="application" />
24
- <orderEntry type="library" scope="PROVIDED" name="cocoapods-downloader (v1.6.3, RVM: ruby-2.7.2) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="cocoapods-plugins (v1.0.0, RVM: ruby-2.7.2) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="cocoapods-search (v1.0.1, RVM: ruby-2.7.2) [gem]" level="application" />
27
- <orderEntry type="library" scope="PROVIDED" name="cocoapods-trunk (v1.6.0, RVM: ruby-2.7.2) [gem]" level="application" />
28
- <orderEntry type="library" scope="PROVIDED" name="cocoapods-try (v1.2.0, RVM: ruby-2.7.2) [gem]" level="application" />
29
19
  <orderEntry type="library" scope="PROVIDED" name="colored (v1.2, RVM: ruby-2.7.2) [gem]" level="application" />
30
20
  <orderEntry type="library" scope="PROVIDED" name="colored2 (v3.1.2, RVM: ruby-2.7.2) [gem]" level="application" />
31
- <orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.1.10, RVM: ruby-2.7.2) [gem]" level="application" />
32
- <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.5.0, RVM: ruby-2.7.2) [gem]" level="application" />
33
21
  <orderEntry type="library" scope="PROVIDED" name="escape (v0.0.4, RVM: ruby-2.7.2) [gem]" level="application" />
34
22
  <orderEntry type="library" scope="PROVIDED" name="ethon (v0.15.0, RVM: ruby-2.7.2) [gem]" level="application" />
35
23
  <orderEntry type="library" scope="PROVIDED" name="ffi (v1.15.5, RVM: ruby-2.7.2) [gem]" level="application" />
@@ -40,24 +28,18 @@
40
28
  <orderEntry type="library" scope="PROVIDED" name="i18n (v1.10.0, RVM: ruby-2.7.2) [gem]" level="application" />
41
29
  <orderEntry type="library" scope="PROVIDED" name="json (v2.6.1, RVM: ruby-2.7.2) [gem]" level="application" />
42
30
  <orderEntry type="library" scope="PROVIDED" name="minitest (v5.15.0, RVM: ruby-2.7.2) [gem]" level="application" />
43
- <orderEntry type="library" scope="PROVIDED" name="molinillo (v0.8.0, RVM: ruby-2.7.2) [gem]" level="application" />
44
31
  <orderEntry type="library" scope="PROVIDED" name="nanaimo (v0.3.0, RVM: ruby-2.7.2) [gem]" level="application" />
45
32
  <orderEntry type="library" scope="PROVIDED" name="nap (v1.1.0, RVM: ruby-2.7.2) [gem]" level="application" />
46
33
  <orderEntry type="library" scope="PROVIDED" name="netrc (v0.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
47
- <orderEntry type="library" scope="PROVIDED" name="pathname (v0.2.0, RVM: ruby-2.7.2) [gem]" level="application" />
48
- <orderEntry type="library" scope="PROVIDED" name="public_suffix (v4.0.7, RVM: ruby-2.7.2) [gem]" level="application" />
49
- <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, RVM: ruby-2.7.2) [gem]" level="application" />
50
34
  <orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, RVM: ruby-2.7.2) [gem]" level="application" />
51
- <orderEntry type="library" scope="PROVIDED" name="rspec (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
52
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
53
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
54
- <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.11.1, RVM: ruby-2.7.2) [gem]" level="application" />
55
- <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.11.0, RVM: ruby-2.7.2) [gem]" level="application" />
56
35
  <orderEntry type="library" scope="PROVIDED" name="ruby-macho (v2.5.1, RVM: ruby-2.7.2) [gem]" level="application" />
57
36
  <orderEntry type="library" scope="PROVIDED" name="thor (v1.2.1, RVM: ruby-2.7.2) [gem]" level="application" />
58
37
  <orderEntry type="library" scope="PROVIDED" name="typhoeus (v1.4.0, RVM: ruby-2.7.2) [gem]" level="application" />
59
- <orderEntry type="library" scope="PROVIDED" name="tzinfo (v2.0.4, RVM: ruby-2.7.2) [gem]" level="application" />
60
38
  <orderEntry type="library" scope="PROVIDED" name="xcodeproj (v1.21.0, RVM: ruby-2.7.2) [gem]" level="application" />
61
- <orderEntry type="library" scope="PROVIDED" name="zeitwerk (v2.5.4, RVM: ruby-2.7.2) [gem]" level="application" />
39
+ </component>
40
+ <component name="RakeTasksCache">
41
+ <option name="myRootTask">
42
+ <RakeTaskImpl id="rake" />
43
+ </option>
62
44
  </component>
63
45
  </module>
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mt_tool (0.1.2)
4
+ mt_tool (0.1.3)
5
5
  bundler
6
6
  colored
7
7
  pathname
@@ -12,7 +12,8 @@ module MtTool
12
12
 
13
13
  desc 'generate <Path> <Module Name> <Language> <Prefix - 前缀> <Author - 作者>', '直接生成项目 例子: yk_command generate . HomeModule oc MT Tom.Liu '
14
14
  method_option :generate, aliases: '-g'
15
- def generate(path = nil,name,lang ,class_prefix,author)
15
+
16
+ def generate(path = nil, name, lang, class_prefix, author)
16
17
  @name = name
17
18
  @module = @name
18
19
  @lang = lang
@@ -39,6 +40,7 @@ module MtTool
39
40
 
40
41
  desc 'create <Path>', '在某个路径下交互式生成项目'
41
42
  method_option :create, aliases: '-c'
43
+
42
44
  def create(path = nil)
43
45
  path = Dir.pwd if path.nil?
44
46
 
@@ -91,10 +93,10 @@ module MtTool
91
93
  say '文件作者:', :green
92
94
  author = ask("Author [#{config[:author]}] ?")
93
95
 
94
- config[:project] = project.empty? ? config[:project] || '' : project
95
- config[:language] = language.empty? ? config[:language] || 'objc' : language
96
+ config[:project] = project.empty? ? config[:project] || '' : project
97
+ config[:language] = language.empty? ? config[:language] || 'objc' : language
96
98
  config[:class_prefix] = class_prefix.empty? ? config[:class_prefix] || '' : class_prefix
97
- config[:author] = author.empty? ? config[:author] || '' : author
99
+ config[:author] = author.empty? ? config[:author] || '' : author
98
100
 
99
101
  File.open(config_file_path, 'w') do |f|
100
102
  f.write config.to_yaml
@@ -104,9 +106,9 @@ module MtTool
104
106
  @module = @name
105
107
  @class_prefix = config[:class_prefix]
106
108
  @prefixed_module = config[:class_prefix] + @module
107
- @project = config[:project]
108
- @author = config[:author]
109
- @date = Time.now.strftime('%d/%m/%y')
109
+ @project = config[:project]
110
+ @author = config[:author]
111
+ @date = Time.now.strftime('%d/%m/%y')
110
112
  @lang = config[:language]
111
113
  end
112
114
 
@@ -138,8 +140,6 @@ module MtTool
138
140
  empty_directory path
139
141
  end
140
142
 
141
-
142
-
143
143
  private_level_folders.each do |folder|
144
144
  path = "#{class_folder_path}/Private/#{folder}"
145
145
  empty_directory path
@@ -151,10 +151,10 @@ module MtTool
151
151
  def yk_template_files
152
152
  register_path = "#{@final_path}/#{@name}/Classes/Private/Register"
153
153
  registger = {
154
- 'RouterRegister.h' => 'RouterRegister',
155
- 'RouterRegister.m' => 'RouterRegister',
156
- 'ServiceRegister.h' => 'ServiceRegister',
157
- 'ServiceRegister.m' => 'ServiceRegister'
154
+ 'RouterRegister.h' => 'RouterRegister',
155
+ 'RouterRegister.m' => 'RouterRegister',
156
+ 'ServiceRegister.h' => 'ServiceRegister',
157
+ 'ServiceRegister.m' => 'ServiceRegister'
158
158
  }
159
159
 
160
160
  registger.each do |file_name, _folder|
@@ -164,7 +164,7 @@ module MtTool
164
164
 
165
165
  public_folder_path = "#{@final_path}/#{@name}/Classes/Public"
166
166
 
167
- template_code_filename = ['ServiceProtocol.h','RouterDefine.h']
167
+ template_code_filename = ['ServiceProtocol.h', 'RouterDefine.h']
168
168
  template_code_filename.each do |file_name|
169
169
  final_file = "#{public_folder_path}/#{@prefixed_module}#{file_name}"
170
170
  source = "#{__dir__}/template/objc/#{file_name}"
@@ -178,8 +178,6 @@ module MtTool
178
178
  template source, final_file
179
179
  end
180
180
 
181
-
182
-
183
181
  private_folder_path = "#{@final_path}/#{@name}/Classes/Private"
184
182
  #pch file
185
183
  # pch_file_name = "PrefixHeader.pch"
@@ -188,10 +186,10 @@ module MtTool
188
186
  # template source, final_file
189
187
 
190
188
  private_level_folder_files = {
191
- 'PrefixHeader.pch' => 'Business',
192
- 'CategoryHeader.h' => 'Category',
193
- 'ToolsHeader.h' => 'Tools',
194
- 'vendorHeader.h' => 'Vendor'
189
+ 'PrefixHeader.pch' => 'Business',
190
+ 'CategoryHeader.h' => 'Category',
191
+ 'ToolsHeader.h' => 'Tools',
192
+ 'vendorHeader.h' => 'Vendor'
195
193
  }
196
194
 
197
195
  private_level_folder_files.each do |file_name, folder|
@@ -205,16 +203,23 @@ module MtTool
205
203
  template source, final_file
206
204
  end
207
205
 
206
+ tools_files_path = "#{@final_path}/#{@name}/Classes/Private/Tools"
207
+
208
+ tool_files = ['Bundle.h','Bundle.m']
209
+ tool_files.each do |file_name|
210
+ final_file = "#{tools_files_path}/#{@prefixed_module}#{file_name}"
211
+ source = "#{__dir__}/template/objc/#{file_name}"
212
+ template source, final_file
213
+ end
214
+
208
215
  business_demo_path = "#{@final_path}/#{@name}/Classes/Private/Business"
209
- demo_replace_file = ['DemoViewController.h','DemoViewController.m','DemoViewModel.h','DemoViewModel.m']
216
+ demo_replace_file = ['DemoViewController.h', 'DemoViewController.m', 'DemoViewModel.h', 'DemoViewModel.m']
210
217
  demo_replace_file.each do |file_name|
211
218
  final_file = "#{business_demo_path}/Demo/#{@prefixed_module}#{file_name}"
212
219
  source = "#{__dir__}/template/objc/demo/#{file_name}"
213
220
  template source, final_file
214
221
  end
215
222
 
216
-
217
-
218
223
  Dir.chdir("#{@final_path}/Example") do
219
224
  system 'pod install'
220
225
  system "open './#{@name}.xcworkspace'"
@@ -225,8 +230,9 @@ module MtTool
225
230
 
226
231
  desc 'dependency <Podfile.lock Path>', '解析Podfile.lock'
227
232
  method_option :dependency, aliases: '-d'
233
+
228
234
  def dependency(path = nil)
229
- say 'start resolve dependency',:green
235
+ say 'start resolve dependency', :green
230
236
 
231
237
  analyzer = Analyzer.new
232
238
  result = analyzer.analyze(path)
@@ -0,0 +1,21 @@
1
+ //
2
+ // <%= @prefixed_module %>Bundle.h
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+
10
+ #import <Foundation/Foundation.h>
11
+
12
+ NS_ASSUME_NONNULL_BEGIN
13
+
14
+ @interface <%= @prefixed_module %>Bundle : NSObject
15
+
16
+ + (UINib *)bundlerNib:(NSString *)nibName ;
17
+ + (NSBundle *)currentBundle;
18
+
19
+ @end
20
+
21
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,28 @@
1
+ //
2
+ // <%= @prefixed_module %>Bundle.m
3
+ // <%= @project %>
4
+ //
5
+ // Created by <%= @author %> on <%= @date %>.
6
+ //
7
+ //
8
+
9
+ #import "<%= @prefixed_module %>Bundle.h"
10
+
11
+ @implementation <%= @prefixed_module %>Bundle
12
+
13
+ + (UINib *)bundlerNib:(NSString *)nibName {
14
+ return [UINib nibWithNibName:nibName bundle:[self currentBundle]];
15
+ }
16
+
17
+ + (NSBundle *)currentBundle {
18
+ NSString *bundleName = @"<%= @project %>";
19
+ NSURL *associateBundleURL = [[NSBundle mainBundle] URLForResource:bundleName withExtension:@"bundle"];
20
+ if (!associateBundleURL) {
21
+ NSBundle *subBundle = [NSBundle bundleForClass:self];
22
+ associateBundleURL = [subBundle URLForResource:bundleName withExtension:@"bundle"];
23
+ }
24
+ NSBundle *bundle = [NSBundle bundleWithURL:associateBundleURL];
25
+ return bundle;
26
+ }
27
+
28
+ @end
@@ -11,4 +11,5 @@
11
11
 
12
12
  #import <MTCategoryComponent/MTCategoryComponentHeader.h>
13
13
 
14
+
14
15
  #endif /* <%= @prefixed_module %>CategoryHeader_h */
@@ -22,6 +22,12 @@
22
22
  #import "<%= @prefixed_module %>VendorHeader.h"
23
23
  #import "<%= @prefixed_module %>ToolsHeader.h"
24
24
 
25
+ #import <MTBaseKit/MTBaseKitHeader.h>
26
+ #import <MTCategoryComponent/MTCategoryComponentHeader.h>
27
+ #import <MTLayoutUtilityComponent/MTLayoutUtilityComponentHeader.h>
28
+ #import <AssetModule/MTModuleImage.h>
29
+ #import <MJExtension/MJExtension.h>
30
+
25
31
  #endif
26
32
 
27
33
 
@@ -9,5 +9,5 @@
9
9
  #ifndef <%= @prefixed_module %>ToolsHeader_h
10
10
  #define <%= @prefixed_module %>ToolsHeader_h
11
11
 
12
-
12
+ #import "<%= @prefixed_module %>Bundle.h"
13
13
  #endif /* <%= @prefixed_module %>ToolsHeader_h */
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MtTool
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mt_tool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - LyleLH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-19 00:00:00.000000000 Z
11
+ date: 2022-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -214,6 +214,8 @@ files:
214
214
  - lib/mt_tool.rb
215
215
  - lib/mt_tool/analyze.rb
216
216
  - lib/mt_tool/commands.rb
217
+ - lib/mt_tool/template/objc/Bundle.h
218
+ - lib/mt_tool/template/objc/Bundle.m
217
219
  - lib/mt_tool/template/objc/CategoryHeader.h
218
220
  - lib/mt_tool/template/objc/PrefixHeader.pch
219
221
  - lib/mt_tool/template/objc/RouterDefine.h
@@ -252,7 +254,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
252
254
  - !ruby/object:Gem::Version
253
255
  version: '0'
254
256
  requirements: []
255
- rubygems_version: 3.2.33
257
+ rubygems_version: 3.1.4
256
258
  signing_key:
257
259
  specification_version: 4
258
260
  summary: 常用工具.