dtc_rake 0.2.0 → 1.0.0.pre.beta.1

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
  SHA1:
3
- metadata.gz: 6e936ce1dd8233c504fd550d981706106fbb4675
4
- data.tar.gz: e49a236edd9125522bc8a74e027557959e763eb9
3
+ metadata.gz: b53d460f92926167b414acdc1707cb901d4df886
4
+ data.tar.gz: 3a3e4e80069f41e0e1f587306e40043317888be8
5
5
  SHA512:
6
- metadata.gz: 670f9356dbb552ebd06f83c107457826e77ba035f87bd1e1071f57b11924c2931f99a3f8a87252fd59c27c3e0a36d62dfe86b5c7914b078fc3550bfc067cc08e
7
- data.tar.gz: 2c7380af4f22b238f1642becc51e81b040d1f1cff2c57f49cc07496c45e8396fd7a5aa29b8081b968f5af02f6844bb17654dd8f5fa322b27087e15655a0ae8cd
6
+ metadata.gz: 30ab3c705160b028ffe6608776194bf49363c7d3ab7c671b1d6f3b0499dbd1dd2ed536a7ccccb6dd0697642b098f97e13b9f343318f9d38034a479a4e71c81d4
7
+ data.tar.gz: a240141486d2011d7a1292cc326dc34bdcd5744fb1685b5a996df3da75a02d8044fca10dfa1a8f5e1c12ddaac50312260e32293ee25a753c7c8da26c7da0c5e6
data/README.md CHANGED
@@ -7,18 +7,16 @@ Rake tasks for building apps produced by DTC.DEV team.
7
7
  Add this line to your application's `Gemfile`:
8
8
 
9
9
  ```ruby
10
- gem "dtc_rake", git: ""ssh://git@codebase.plus4u.net:9422/dtc.rake.git
10
+ gem "dtc_rake"
11
11
  ```
12
12
 
13
13
  And then execute:
14
14
 
15
15
  $ bundle
16
16
 
17
- Or build it yourself from source as:
17
+ Or install it yourself as:
18
18
 
19
- $ git clone ssh://git@codebase.plus4u.net:9422/dtc.rake.git
20
- $ cd dtc.rake/dtc_rake
21
- $ rake install
19
+ $ gem install dtc_rake
22
20
 
23
21
  # Quick Start
24
22
 
@@ -28,14 +26,14 @@ For a quick start just add to your appbox project's `Rakefile`:
28
26
  require "dtc_rake"
29
27
 
30
28
  DtcRake.configure do |config|
31
- config.appbox_uarchive = "<uarchive_path>"
29
+ config.product_code = "<product_code>"
30
+ config.product_name = "<product_name>"
32
31
  config.appbox_territory_code = "<territory_code>"
33
- config.appbox_meta_artifact_code = "<meta_artifact_code>"
34
32
  config.appbox_location_code = "<folder_code>"
35
33
  end
36
34
  ```
37
35
 
38
- *Note: The appbox project name should be `<vendor>_<app>-appbox` and it must contain a uuApp deployment descriptor with default name `<vendor>_<app>-uuapp.json`.*
36
+ *Note: The appbox project name should be `<vendor>_<app>-appbox`. If not, you must specify `config.vendor` and `config.app` within `DtcRake.configure` in `Rakefile`.*
39
37
 
40
38
  All shared tasks will be found and loaded automatically, you can verify it with `rake -T` command.
41
39
 
@@ -61,7 +59,6 @@ rake upload:cmd DTC_RAKE_PASSWD=/path/to/12-345-6
61
59
 
62
60
  The following example shows all configuration options:
63
61
 
64
-
65
62
  ```ruby
66
63
  require "dtc_rake"
67
64
 
@@ -70,7 +67,7 @@ DtcRake.configure do |config|
70
67
  config.app = "<app_code>"
71
68
 
72
69
  # Code of appbox artifact. Guessed from vendor, app and version in uuApp
73
- # deployment descriptor if not set.
70
+ # deployment descriptor if not set. Since 0.2.0.
74
71
  config.appbox_artifact_code = "<artifact_code>"
75
72
 
76
73
  # Code of appbox location (folder or organization unit). Required.
@@ -86,9 +83,10 @@ DtcRake.configure do |config|
86
83
  # If not set, appbox is created with empty content.
87
84
  # Relative path is relative to root_dir.
88
85
  config.appbox_uarchive = "<uarchive_path>"
89
-
90
- # Path to uuApp deployment descriptor. Guessed from vendor and app if not set.
91
- config.app_descriptor_path = "<deployment_descriptor_path>"
86
+
87
+ # Appbox version. Read from VERSION file located in the same directory
88
+ # as Rakefile if not set.
89
+ config.appbox_version = "1.2.3-dev"
92
90
 
93
91
  # Print messages in colors. Default value: true.
94
92
  config.colorize = true
@@ -97,17 +95,64 @@ DtcRake.configure do |config|
97
95
  # Relative path is relative to root_dir.
98
96
  config.output_dir = "target"
99
97
 
98
+ # Code of product the appbox belongs to. Required.
99
+ config.product_code = "UU-CLOUDG01-C3"
100
+
101
+ # Name of product the appbox belongs to. Required.
102
+ config.product_name = "uuCloudg01C3"
103
+
100
104
  # Appbox project root folder. Default value: current working directory.
101
105
  config.root_dir = Dir.pwd
102
106
 
103
- # Upload uuApp deployment descriptor to appbox artifact. Default value: false.
104
- config.upload_app_descriptor = true
107
+ # Upload README.md or README.txt to appbox artifact. Default value: false.
108
+ config.upload_readme = true
109
+
110
+ # Upload uuCloud deployment descriptor to appbox artifact. Default value: false.
111
+ config.upload_uucloud_descriptor = true
112
+
113
+ # Path to uuCloud deployment descriptor. Default value: uucloud_descriptor.json.
114
+ config.uucloud_descriptor_path = "<uucloud_descriptor_path>"
105
115
 
106
116
  # Code of vendor. Guessed from root_dir name if not set.
107
117
  config.vendor = "<vendor_code>"
118
+
119
+ # List of files (or glob patterns) determining which files get updated by
120
+ # version:sync task. Default: none.
121
+ config.version_sync_files = ["../uu_c3/lib/uu_c3/version.rb"]
108
122
  end
109
123
  ```
110
124
 
125
+ `VERSION` file contents example:
126
+
127
+ ```
128
+ 1.2.3-dev
129
+ ```
130
+
131
+ *Note: Leading and trailing whitespace (incl. line breaks) does not matter - it gets stripped/trimmed. Only the version itself is important.*
132
+
133
+ ### Environment Variables
134
+
135
+ Configuration can also be specified in environment variables. Environment variables take precedence over configuration in `Rakefile`.
136
+
137
+ ```
138
+ DTC_RAKE_APP=<app_code>
139
+ DTC_RAKE_APPBOX_ARTIFACT_CODE=<artifact_code>
140
+ DTC_RAKE_APPBOX_LOCATION_CODE=<folder_code>
141
+ DTC_RAKE_APPBOX_META_ARTIFACT_CODE=<meta_artifact_code>
142
+ DTC_RAKE_APPBOX_TERRITORY_CODE=<territory_code>
143
+ DTC_RAKE_APPBOX_UARCHIVE=<uarchive_path>
144
+ DTC_RAKE_APPBOX_VERSION=1.2.3-dev
145
+ DTC_RAKE_COLORIZE=false
146
+ DTC_RAKE_OUTPUT_DIR=target
147
+ DTC_RAKE_PRODUCT_CODE=UU-CLOUDG01-C3
148
+ DTC_RAKE_PRODUCT_NAME=uuCloudg01C3
149
+ DTC_RAKE_ROOT_DIR=<root_dir>
150
+ DTC_RAKE_UPLOAD_README=true
151
+ DTC_RAKE_UPLOAD_UUCLOUD_DESCRIPTOR=true
152
+ DTC_RAKE_UUCLOUD_DESCRIPTOR_PATH=<uucloud_descriptor_path>
153
+ DTC_RAKE_VENDOR=<vendor_code>
154
+ ```
155
+
111
156
  ## Explanation of Provided Tasks
112
157
 
113
158
  ### appbox
@@ -136,7 +181,7 @@ Builds pack with command server. Available if project `<vendor>_<app>-cmd` exist
136
181
 
137
182
  ### build:dockerfiles
138
183
 
139
- Builds pack with `Dockerfile`s. Available if project `<vendor>_<app>-dockerfiles` exists.
184
+ Builds pack with `Dockerfile`s. Available if project `docker` exists.
140
185
 
141
186
  ### build:gem
142
187
 
@@ -148,7 +193,7 @@ Builds pack with visual use cases. Available if project `<vendor>_<app>-vuc` exi
148
193
 
149
194
  ### build:yardoc
150
195
 
151
- Builds pach with command client yardoc. Available if project `<vendor>_<app>` exists.
196
+ Builds pack with command client yardoc. Available if project `<vendor>_<app>` exists.
152
197
 
153
198
  ### upload:all
154
199
 
@@ -162,13 +207,13 @@ Requires `DTC_RAKE_PASSWD` to be set.
162
207
 
163
208
  ### upload:descriptor
164
209
 
165
- Uploads uuApp deployment descriptor to appbox artifact. Available if `config.upload_app_descriptor` is set to `true`.
210
+ Uploads uuApp deployment descriptor to appbox artifact. Available if `config.upload_uucloud_descriptor` is set to `true`.
166
211
 
167
212
  Requires `DTC_RAKE_PASSWD` to be set.
168
213
 
169
214
  ### upload:dockerfiles
170
215
 
171
- Uploads pack with `Dockerfile`s to appbox artifact. Available if project `<vendor>_<app>-dockerfiles` exists.
216
+ Uploads pack with `Dockerfile`s to appbox artifact. Available if project `docker` exists.
172
217
 
173
218
  Requires `DTC_RAKE_PASSWD` to be set.
174
219
 
@@ -186,10 +231,30 @@ Requires `DTC_RAKE_PASSWD` to be set.
186
231
 
187
232
  ### upload:yardoc
188
233
 
189
- Uploads pach with command client yardoc to appbox artifact. Available if project `<vendor>_<app>` exists.
234
+ Uploads pack with command client yardoc to appbox artifact. Available if project `<vendor>_<app>` exists.
190
235
 
191
236
  Requires `DTC_RAKE_PASSWD` to be set.
192
237
 
238
+ ### version
239
+
240
+ Shows the current version stored in `VERSION` file located in the same directory as `Rakefile`.
241
+
242
+ ### version:bump:major
243
+
244
+ Bumps the major version. Updates `VERSION` file located in the same directory as `Rakefile` and files specified in `config.version_files`.
245
+
246
+ ### version:bump:minor
247
+
248
+ Bumps the minor version. Updates `VERSION` file located in the same directory as `Rakefile` and files specified in `config.version_files`.
249
+
250
+ ### version:bump:patch
251
+
252
+ Bumps the patch version. Updates `VERSION` file located in the same directory as `Rakefile` and files specified in `config.version_files`.
253
+
254
+ ### version:set
255
+
256
+ Sets the version. The version may contain *prerelease* and/or *build metadata* parts (see [Semantic Versioning](http://semver.org)). Updates `VERSION` file located in the same directory as `Rakefile` and files specified in `config.version_files`.
257
+
193
258
  # How-to
194
259
 
195
260
  ## How to Add Custom Task
@@ -218,13 +283,6 @@ require "dtc_rake"
218
283
 
219
284
  with
220
285
 
221
- ```ruby
222
- require "dtc_rake/tasks"
223
- DtcRake::Tasks.load_tasks(exclude: ["upload_dockerfiles.rake"])
224
- ```
225
-
226
- To remove check that is used also as dependency for e.g. `upload:all`, it is needed to remove it also from prerequisites of task. Example how to remove `upload:dockerfiles` and do not call it when building all packs.
227
-
228
286
  ```ruby
229
287
  require "dtc_rake/tasks"
230
288
  DtcRake::Tasks.load_tasks(exclude: ["upload_dockerfiles.rake"])
data/Rakefile CHANGED
@@ -1,2 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
2
  task :default => :build
3
+
4
+ require "rake-version"
5
+ RakeVersion::Tasks.new do |v|
6
+ v.copy "lib/dtc_rake/version.rb"
7
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0-beta.1
data/dtc_rake.gemspec CHANGED
@@ -22,7 +22,8 @@ Gem::Specification.new do |spec|
22
22
  spec.add_runtime_dependency "rainbow", "~> 2.1.0"
23
23
  spec.add_runtime_dependency "uu_os", "~> 0.19"
24
24
  spec.add_runtime_dependency "uu_os_commons", "~> 1.5"
25
+ spec.add_runtime_dependency "rake-version", "~> 1.0"
25
26
 
26
27
  spec.add_development_dependency "bundler", "~> 1.13", ">= 1.13.3"
27
- spec.add_development_dependency "rake", "~> 10.0"
28
+ spec.add_development_dependency "rake", "~> 11.0"
28
29
  end
@@ -3,7 +3,9 @@ require "pathname"
3
3
 
4
4
  module DtcRake
5
5
  def configure(&block)
6
- yield Config.instance
6
+ config = Config.instance
7
+ yield config
8
+ config.validate!
7
9
  end
8
10
  module_function :configure
9
11
 
@@ -11,19 +13,21 @@ module DtcRake
11
13
  include Singleton
12
14
 
13
15
  def initialize
14
- @root_dir = Dir.pwd
15
- @output_dir = "target"
16
- @colorize = true
17
- @appbox_meta_artifact_code = "UU.OS/RUNTIME/APP_BOX"
18
- @upload_app_descriptor = false
16
+ self.root_dir = Dir.pwd
17
+ self.output_dir = "target"
18
+ self.colorize = true
19
+ self.upload_readme = false
20
+ self.appbox_meta_artifact_code = "UU.OS/RUNTIME/APP_BOX"
21
+ self.upload_uucloud_descriptor = false
22
+ self.version_files = []
19
23
  guess_vendor_and_app
20
24
  end
21
25
 
22
26
  # Code of application. Guessed from root_dir name if not set.
23
27
  attr_accessor :app
24
28
 
25
- # Code of appbox artifact. Guessed from vendor, app and version in uuApp
26
- # deployment descriptor if not set.
29
+ # Code of appbox artifact. Guessed from product_code and appbox_version
30
+ # if not set.
27
31
  attr_accessor :appbox_artifact_code
28
32
 
29
33
  # Code of appbox location (folder or organization unit). Required.
@@ -40,8 +44,9 @@ module DtcRake
40
44
  # Relative path is relative to root_dir.
41
45
  attr_accessor :appbox_uarchive
42
46
 
43
- # Path to uuApp deployment descriptor. Guessed from vendor and app if not set.
44
- attr_accessor :app_descriptor_path
47
+ # Appbox version. Read from VERSION file located in the same directory
48
+ # as Rakefile if not set.
49
+ attr_accessor :appbox_version
45
50
 
46
51
  # Print messages in colors. Default value: true.
47
52
  attr_accessor :colorize
@@ -50,45 +55,302 @@ module DtcRake
50
55
  # Relative path is relative to root_dir.
51
56
  attr_accessor :output_dir
52
57
 
58
+ # Code of product the appbox belongs to. Required.
59
+ attr_accessor :product_code
60
+
61
+ # Name of product the appbox belongs to. Required.
62
+ attr_accessor :product_name
63
+
53
64
  # Appbox project root folder. Default value: current working directory.
54
65
  attr_accessor :root_dir
55
66
 
67
+ # Upload README.md or README.txt to appbox artifact. Default value: false.
68
+ attr_accessor :upload_readme
69
+
56
70
  # Upload uuApp deployment descriptor to appbox artifact. Default value: false.
57
- attr_accessor :upload_app_descriptor
71
+ attr_accessor :upload_uucloud_descriptor
72
+
73
+ # Path to uuApp deployment descriptor. Default value: uucloud_descriptor.json.
74
+ attr_accessor :uucloud_descriptor_path
58
75
 
59
76
  # Code of vendor. Guessed from root_dir name if not set.
60
77
  attr_accessor :vendor
61
78
 
79
+ # List of files (or glob patterns) determining which files get updated by
80
+ # version:* tasks. Default: none.
81
+ attr_accessor :version_files
82
+
83
+ def validate!
84
+ %w(appbox_location_code appbox_territory_code product_code product_name).each do |param|
85
+ if instance_variable_get("@#{param}").nil?
86
+ _error "Required parameter #{param} is not set. Set it within DtcRake.configure in your Rakefile."
87
+ end
88
+ end
89
+ end
90
+
62
91
  def app=(name)
63
92
  @app = name.downcase unless name.nil?
64
93
  end
65
94
 
95
+ def appbox_artifact_code
96
+ return @appbox_artifact_code if @appbox_artifact_code
97
+
98
+ @appbox_artifact_code = ENV["DTC_RAKE_APPBOX_ARTIFACT_CODE"]
99
+
100
+ if @appbox_artifact_code.nil?
101
+ default_code = "#{product_code}/APPBOX-#{appbox_version}"
102
+ @appbox_artifact_code = default_code
103
+ end
104
+
105
+ @appbox_artifact_code
106
+ end
107
+
108
+ def appbox_artifact_code=(code)
109
+ env = ENV["DTC_RAKE_APPBOX_ARTIFACT_CODE"]
110
+ # environment variable takes precedence
111
+ @appbox_artifact_code = env.nil? ? code : env
112
+ @appbox_artifact_code
113
+ end
114
+
115
+ def appbox_location_code
116
+ return @appbox_location_code if @appbox_location_code
117
+
118
+ @appbox_location_code = ENV["DTC_RAKE_APPBOX_LOCATION_CODE"]
119
+ @appbox_location_code
120
+ end
121
+
122
+ def appbox_location_code=(code)
123
+ env = ENV["DTC_RAKE_APPBOX_LOCATION_CODE"]
124
+ # environment variable takes precedence
125
+ @appbox_location_code = env.nil? ? code : env
126
+ @appbox_location_code
127
+ end
128
+
129
+ def appbox_meta_artifact_code
130
+ return @appbox_meta_artifact_code if @appbox_meta_artifact_code
131
+
132
+ @appbox_meta_artifact_code = ENV["DTC_RAKE_APPBOX_META_ARTIFACT_CODE"]
133
+ @appbox_meta_artifact_code
134
+ end
135
+
136
+ def appbox_meta_artifact_code=(code)
137
+ env = ENV["DTC_RAKE_APPBOX_META_ARTIFACT_CODE"]
138
+ # environment variable takes precedence
139
+ @appbox_meta_artifact_code = env.nil? ? code : env
140
+ @appbox_meta_artifact_code
141
+ end
142
+
143
+ def appbox_territory_code
144
+ return @appbox_territory_code if @appbox_territory_code
145
+
146
+ @appbox_territory_code = ENV["DTC_RAKE_APPBOX_TERRITORY_CODE"]
147
+ @appbox_territory_code
148
+ end
149
+
150
+ def appbox_territory_code=(code)
151
+ env = ENV["DTC_RAKE_APPBOX_TERRITORY_CODE"]
152
+ # environment variable takes precedence
153
+ @appbox_territory_code = env.nil? ? code : env
154
+ @appbox_territory_code
155
+ end
156
+
157
+ def appbox_uarchive
158
+ return @appbox_uarchive if @appbox_uarchive
159
+
160
+ @appbox_uarchive = ENV["DTC_RAKE_APPBOX_UARCHIVE"]
161
+ @appbox_uarchive
162
+ end
163
+
66
164
  def appbox_uarchive=(path)
165
+ env = ENV["DTC_RAKE_APPBOX_UARCHIVE"]
166
+ # environment variable takes precedence
167
+ path = env unless env.nil?
168
+
67
169
  unless path.nil?
68
- path = File.join(root_dir, path) if Pathname.new(path).relative?
69
170
  # File.expand_path converts path to absolute and expands "~" to real user home path
70
- @appbox_uarchive = File.expand_path(path)
171
+ path = File.expand_path(path)
172
+
173
+ if Pathname.new(path).relative?
174
+ @appbox_uarchive = File.join(root_dir, path)
175
+ else
176
+ @appbox_uarchive = path
177
+ end
71
178
  end
72
179
  end
73
180
 
74
- def app_descriptor_path
75
- return @app_descriptor_path if @app_descriptor_path
181
+ def appbox_version
182
+ return @appbox_version if @appbox_version
76
183
 
77
- default_file_path = File.expand_path(File.join(root_dir, "#{vendor}_#{app}-uuapp-deploy.json"))
184
+ @appbox_version = ENV["DTC_RAKE_APPBOX_VERSION"]
78
185
 
79
- Dir.chdir(root_dir) do
80
- unless File.file?(default_file_path)
81
- abort "uuApp deployment descriptor not found. Please create file #{default_file_path} or configure its path in Rakefile."
186
+ if @appbox_version.nil?
187
+ version_file = File.join(root_dir, 'VERSION')
188
+ unless File.file?(version_file)
189
+ _error "Unknown appbox version. Set it in #{version_file} file or DTC_RAKE_APPBOX_VERSION environment variable."
82
190
  end
83
- @app_descriptor_path = default_file_path
191
+ version = File.binread(version_file).strip
192
+ @appbox_version = version
193
+ end
194
+ end
195
+
196
+ def appbox_version=(code)
197
+ env = ENV["DTC_RAKE_APPBOX_VERSION"]
198
+ # environment variable takes precedence
199
+ @appbox_version = env.nil? ? code : env
200
+ @appbox_version
201
+ end
202
+
203
+ def colorize
204
+ return @colorize if @colorize
205
+
206
+ env = ENV["DTC_RAKE_COLORIZE"]
207
+ unless env.nil?
208
+ @colorize = to_bool(env)
84
209
  end
210
+ @colorize
211
+ end
212
+
213
+ def colorize=(flag)
214
+ env = ENV["DTC_RAKE_COLORIZE"]
215
+ # environment variable takes precedence
216
+ if env.nil?
217
+ @colorize = flag
218
+ else
219
+ @colorize = to_bool(env)
220
+ end
221
+ @colorize
222
+ end
223
+
224
+ def output_dir
225
+ return @output_dir if @output_dir
226
+
227
+ @output_dir = ENV["DTC_RAKE_OUTPUT_DIR"]
228
+ @output_dir
85
229
  end
86
230
 
87
231
  def output_dir=(path)
232
+ env = ENV["DTC_RAKE_OUTPUT_DIR"]
233
+ # environment variable takes precedence
234
+ path = env unless env.nil?
235
+
236
+ unless path.nil?
237
+ # File.expand_path converts path to absolute and expands "~" to real user home path
238
+ path = File.expand_path(path)
239
+
240
+ if Pathname.new(path).relative?
241
+ @output_dir = File.join(root_dir, path)
242
+ else
243
+ @output_dir = path
244
+ end
245
+ end
246
+ end
247
+
248
+ def product_code
249
+ return @product_code if @product_code
250
+
251
+ @product_code = ENV["DTC_RAKE_PRODUCT_CODE"]
252
+ @product_code
253
+ end
254
+
255
+ def product_code=(code)
256
+ env = ENV["DTC_RAKE_PRODUCT_CODE"]
257
+ # environment variable takes precedence
258
+ @product_code = env.nil? ? code : env
259
+ @product_code
260
+ end
261
+
262
+ def product_name
263
+ return @product_name if @product_name
264
+
265
+ @product_name = ENV["DTC_RAKE_PRODUCT_NAME"]
266
+ @product_name
267
+ end
268
+
269
+ def product_name=(name)
270
+ env = ENV["DTC_RAKE_PRODUCT_NAME"]
271
+ # environment variable takes precedence
272
+ @product_name = env.nil? ? name : env
273
+ @product_name
274
+ end
275
+
276
+ def root_dir
277
+ return @root_dir if @root_dir
278
+
279
+ @root_dir = ENV["DTC_RAKE_ROOT_DIR"]
280
+ @root_dir = Dir.pwd if @root_dir.nil?
281
+
282
+ @root_dir
283
+ end
284
+
285
+ def root_dir=(path)
286
+ env = ENV["DTC_RAKE_ROOT_DIR"]
287
+ # environment variable takes precedence
288
+ path = env unless env.nil?
289
+
88
290
  unless path.nil?
89
- path = File.join(root_dir, path) if Pathname.new(path).relative?
90
291
  # File.expand_path converts path to absolute and expands "~" to real user home path
91
- @output_dir = File.expand_path(path)
292
+ # If the path is relative, it gets evaluated against to current working directory (Dir.pwd)
293
+ @root_dir = File.expand_path(path)
294
+ end
295
+ end
296
+
297
+ def upload_readme
298
+ return @upload_readme if @upload_readme
299
+
300
+ @upload_readme = to_bool(ENV["DTC_RAKE_UPLOAD_README"])
301
+ @upload_readme
302
+ end
303
+
304
+ def upload_readme=(flag)
305
+ env = ENV["DTC_RAKE_UPLOAD_README"]
306
+ # environment variable takes precedence
307
+ if env.nil?
308
+ @upload_readme = flag
309
+ else
310
+ @upload_readme = to_bool(env)
311
+ end
312
+ @upload_readme
313
+ end
314
+
315
+ def upload_uucloud_descriptor
316
+ return @upload_uucloud_descriptor if @upload_uucloud_descriptor
317
+
318
+ @upload_uucloud_descriptor = to_bool(ENV["DTC_RAKE_UPLOAD_UUCLOUD_DESCRIPTOR"])
319
+ @upload_uucloud_descriptor
320
+ end
321
+
322
+ def upload_uucloud_descriptor=(flag)
323
+ env = ENV["DTC_RAKE_UPLOAD_UUCLOUD_DESCRIPTOR"]
324
+ # environment variable takes precedence
325
+ if env.nil?
326
+ @upload_uucloud_descriptor = flag
327
+ else
328
+ @upload_uucloud_descriptor = to_bool(env)
329
+ end
330
+ @upload_uucloud_descriptor
331
+ end
332
+
333
+ def uucloud_descriptor_path
334
+ return @uucloud_descriptor_path if @uucloud_descriptor_path
335
+
336
+ env = ENV["DTC_RAKE_UUCLOUD_DESCRIPTOR_PATH"]
337
+ if env.nil?
338
+ default_file_path = File.expand_path(File.join(root_dir, "uucloud_descriptor.json"))
339
+
340
+ Dir.chdir(root_dir) do
341
+ unless File.file?(default_file_path)
342
+ _error "uuCloud deployment descriptor not found. Please create file #{default_file_path} or configure its path in Rakefile." \
343
+ " Or you can configure its path in DTC_RAKE_UUCLOUD_DESCRIPTOR_PATH environment variable."
344
+ end
345
+ @uucloud_descriptor_path = default_file_path
346
+ end
347
+ else
348
+ env = File.expand_path(env)
349
+ unless File.file?(env)
350
+ _error "uuCloud deployment descriptor not found. Please create file #{env} or configure its path in" \
351
+ " DTC_RAKE_UUCLOUD_DESCRIPTOR_PATH environment variable."
352
+ end
353
+ @uucloud_descriptor_path = env
92
354
  end
93
355
  end
94
356
 
@@ -96,17 +358,48 @@ module DtcRake
96
358
  @vendor = name.downcase unless name.nil?
97
359
  end
98
360
 
361
+ def version_files=(list)
362
+ if list.nil?
363
+ @version_files = []
364
+ elsif list.is_a?(Array)
365
+ @version_files = list
366
+ else
367
+ _error "Invalid version_files value - #{list} (#{list})." \
368
+ " Use an array of strings (representing file names or glob patterns)."
369
+ end
370
+ end
371
+
99
372
  private
100
373
 
374
+ def to_bool(value)
375
+ (value =~ /^true|1|yes$/i) == 0
376
+ end
377
+
101
378
  def guess_vendor_and_app
102
- base_name = File.basename(root_dir)
103
- if /([^_]+)_([^-]+)-appbox/ =~ base_name
104
- @vendor = $1
105
- @app = $2
379
+ env_vendor = ENV["DTC_RAKE_VENDOR"]
380
+ env_app = ENV["DTC_RAKE_APP"]
381
+
382
+ if env_vendor.nil? || env_app.nil?
383
+ base_name = File.basename(root_dir)
384
+ if /([^_]+)_([^-]+)-appbox/ =~ base_name
385
+ @vendor = env_vendor.nil? ? $1 : env_vendor
386
+ @app = env_app.nil? ? $2 : env_app
387
+ else
388
+ _error "Appbox root folder (#{base_name}) does not match naming convention <vendor>_<app>-appbox." \
389
+ " Either change the folder name or configure 'vendor' and 'app' within DtcRake.configure in Rakefile." \
390
+ " Or you can set DTC_RAKE_VENDOR and DTC_RAKE_APP environment variables to specify those."
391
+ end
106
392
  else
107
- abort "Appbox root folder (#{base_name}) does not match naming convention <vendor>_<app>-appbox." \
108
- " Either change the folder name or configure 'vendor' and 'app' in Rakefile."
393
+ @vendor = env_vendor
394
+ @app = env_app
109
395
  end
110
396
  end
397
+
398
+ def _error(msg)
399
+ # this avoids cycle between dtc_rake/config and dtc_rake/ui
400
+ require "dtc_rake/ui"
401
+ self.class.send(:include, DtcRake::UI) unless self.class.include?(DtcRake::UI)
402
+ error(msg)
403
+ end
111
404
  end
112
405
  end
@@ -40,55 +40,51 @@ module DtcRake
40
40
  @has_dockerfiles = File.directory?(@dockerfiles_project)
41
41
  end
42
42
 
43
- def app_descriptor
44
- return @app_descriptor if @app_descriptor
43
+ def uucloud_descriptor
44
+ return @uucloud_descriptor if @uucloud_descriptor
45
45
 
46
- File.open(Config.instance.app_descriptor_path, "r") do |f|
47
- @app_descriptor = JSON.parse(f.read, symbolize_names: true)
46
+ # TODO: Use app.json instead of uucloud_descriptor.json for appbox metadata
47
+ File.open(Config.instance.uucloud_descriptor_path, "r") do |f|
48
+ @uucloud_descriptor = JSON.parse(f.read, symbolize_names: true)
48
49
  end
49
50
  end
50
51
 
51
52
  def version
52
- app_descriptor[:data][:version]
53
+ config = Config.instance
54
+ config.appbox_version
53
55
  end
54
56
 
55
57
  def appbox_uri
56
58
  return @appbox_uri if @appbox_uri
57
59
 
58
60
  config = Config.instance
59
- error("Territory code is not set. Set it in DtcRake.configure (attribute appbox_territory_code) in your Rakefile.") if config.appbox_territory_code.nil?
60
- appbox_artifact_code = config.appbox_artifact_code || "#{config.vendor.upcase}.#{config.app.upcase}_#{version}"
61
- appbox_uri = UU::OS::UESURI.create(territory_code: config.appbox_territory_code, artifact_code: appbox_artifact_code)
61
+ appbox_uri = UU::OS::UESURI.create(territory_code: config.appbox_territory_code, artifact_code: config.appbox_artifact_code)
62
62
  @appbox_uri = appbox_uri
63
63
  end
64
64
 
65
65
  def gem_file_name
66
66
  return @gem_file_name if defined? @gem_file_name
67
67
  config = Config.instance
68
- # TODO Read version from version.rb or allow to override it from within the Rakefile
69
68
  # the actual gem version differs - e.g. uu_operation_registry-1.3.0.pre.BETA.1.gem (NOT uu_operation_registry-1.3.0-BETA.1.gem)
70
- gem_version = version.sub(/-(ALPHA|BETA|RC)/) { |match| ".pre.#{$1}" }
69
+ gem_version = version.sub(/-(dev|ALPHA|BETA|RC)/) { |_| ".pre.#{$1}" }
71
70
  @gem_file_name = "#{config.vendor}_#{config.app}-#{gem_version}.gem"
72
71
  end
73
72
 
74
73
  def cmd_file_name
75
74
  return @cmd_file_name if defined? @cmd_file_name
76
75
  config = Config.instance
77
- # TODO Read version from version.rb or allow to override it from within the Rakefile
78
76
  @cmd_file_name = "#{config.vendor}_#{config.app}-cmd-#{version}.war"
79
77
  end
80
78
 
81
79
  def vuc_file_name
82
80
  return @vuc_file_name if defined? @vuc_file_name
83
81
  config = Config.instance
84
- # TODO Read version from version.rb or allow to override it from within the Rakefile
85
82
  @vuc_file_name = "#{config.vendor}_#{config.app}-vuc-#{version}.war"
86
83
  end
87
84
 
88
85
  def dockerfiles_file_name
89
86
  return @dockerfiles_file_name if defined? @dockerfiles_file_name
90
87
  config = Config.instance
91
- # TODO Read version from version.rb or allow to override it from within the Rakefile
92
88
  @dockerfiles_file_name = "#{config.vendor}_#{config.app}-dockerfiles-#{version}.zip"
93
89
  end
94
90
 
@@ -128,10 +124,16 @@ module DtcRake
128
124
  @yardoc_attachment_code = "#{config.vendor.upcase}.#{config.app.upcase}/YARDOC-PACK"
129
125
  end
130
126
 
131
- def app_descriptor_attachment_code
132
- return @app_descriptor_attachment_code if defined? @app_descriptor_attachment_code
127
+ def uucloud_descriptor_attachment_code
128
+ return @uucloud_descriptor_attachment_code if defined? @uucloud_descriptor_attachment_code
129
+ config = Config.instance
130
+ @uucloud_descriptor_attachment_code = "#{config.vendor.upcase}.#{config.app.upcase}/UUAPP-DEPLOY"
131
+ end
132
+
133
+ def readme_attachment_code
134
+ return @readme_attachment_code if defined? @readme_attachment_code
133
135
  config = Config.instance
134
- @app_descriptor_attachment_code = "#{config.vendor.upcase}.#{config.app.upcase}/UUAPP-DEPLOY"
136
+ @readme_attachment_code = "#{config.vendor.upcase}.#{config.app.upcase}/README"
135
137
  end
136
138
  end
137
139
  end
data/lib/dtc_rake/ui.rb CHANGED
@@ -1,37 +1,45 @@
1
1
  module DtcRake
2
2
  module UI
3
3
  def error(msg)
4
- msg = Rainbow(msg).red if colorize?
4
+ if DtcRake::UI.colorize?
5
+ msg = Rainbow(msg).red
6
+ end
5
7
  abort msg
6
8
  end
7
9
  module_function :error
8
10
 
9
11
  def announce(msg)
10
- msg = Rainbow(msg).aqua if colorize?
12
+ if DtcRake::UI.colorize?
13
+ msg = Rainbow(msg).aqua
14
+ end
11
15
  puts msg
12
16
  end
13
17
  module_function :announce
14
18
 
15
19
  def success(msg)
16
- msg = Rainbow(msg).green if colorize?
20
+ if DtcRake::UI.colorize?
21
+ msg = Rainbow(msg).green
22
+ end
17
23
  puts msg
18
24
  end
19
25
  module_function :success
20
26
 
21
27
  def warning(msg)
22
- msg = Rainbow(msg).yellow if colorize?
28
+ if DtcRake::UI.colorize?
29
+ msg = Rainbow(msg).yellow
30
+ end
23
31
  puts msg
24
32
  end
25
33
  module_function :warning
26
34
 
27
35
  def info(msg)
28
- msg = Rainbow(msg).white if colorize?
36
+ if DtcRake::UI.colorize?
37
+ msg = Rainbow(msg).white
38
+ end
29
39
  puts msg
30
40
  end
31
41
  module_function :info
32
42
 
33
- private
34
-
35
43
  def colorize?
36
44
  return @colorize if defined? @colorize
37
45
 
@@ -45,5 +53,6 @@ module DtcRake
45
53
  end
46
54
  @colorize = colorize
47
55
  end
56
+ module_function :colorize?
48
57
  end
49
58
  end
@@ -1,3 +1,3 @@
1
1
  module DtcRake
2
- VERSION = "0.2.0"
2
+ VERSION = "1.0.0-beta.1"
3
3
  end
@@ -5,6 +5,8 @@ require "dtc_rake/product"
5
5
  require "dtc_rake/ui"
6
6
 
7
7
  require "uu/os/security/session"
8
+ require "uu/os/uesuri"
9
+ require "uu/os/search"
8
10
  require "uu/os/artifact"
9
11
  require "uu/os/sheet"
10
12
  require "uu/os/rest/binary_value"
@@ -24,7 +26,7 @@ def create_appbox(attrs)
24
26
  config = DtcRake::Config.instance
25
27
  product = DtcRake::Product.instance
26
28
  credentials = attrs[:credentials]
27
- version = attrs.fetch(:version, product.version)
29
+ version = attrs.fetch(:version, config.appbox_version)
28
30
  icon = attrs.fetch(:icon, %q(ues:#{system}:#{ues_v5.core_v1.codetable_v1.base_v1.CodeTable_Icons}:#{ART_364}))
29
31
 
30
32
  error("Specify appbox location code - set it in DtcRake.configure block (attribute appbox_location_code) in your Rakefile") unless config.appbox_location_code
@@ -37,8 +39,15 @@ def create_appbox(attrs)
37
39
  UU::OS::Security::Session.login(credentials)
38
40
 
39
41
  config = DtcRake::Config.instance
40
- art_name = "#{product.app_descriptor[:data][:name]} #{version}"
41
- art_code = config.appbox_artifact_code || "#{product.app_descriptor[:data][:code]}_#{version}"
42
+ art_name = "#{config.product_name} #{version} AppBox"
43
+ art_code = config.appbox_artifact_code
44
+
45
+ art_uri = UU::OS::UESURI.create(territory_code: config.appbox_territory_code, artifact_code: art_code)
46
+ if UU::OS::Search.exists(art_uri)
47
+ info "Appbox #{art_uri} already exists"
48
+ return
49
+ end
50
+
42
51
  announce "Creating appbox #{art_code} in territory #{config.appbox_territory_code}"
43
52
 
44
53
  appbox_uri = UU::OS::Artifact.create(location,
@@ -86,5 +95,5 @@ task :appbox do
86
95
  credentials: ENV["DTC_RAKE_PASSWD"],
87
96
  version: ENV["VERSION"] || DtcRake::Product.instance.version
88
97
  )
89
- success "Appbox #{art_uri} created"
98
+ success "Appbox #{art_uri} created" unless art_uri.nil?
90
99
  end
@@ -14,7 +14,8 @@ end
14
14
  deps << :cmd if product.has_cmd
15
15
  deps << :vuc if product.has_vuc
16
16
  deps << :dockerfiles if product.has_dockerfiles
17
- deps << :descriptor if config.upload_app_descriptor
17
+ deps << :descriptor if config.upload_uucloud_descriptor
18
+ deps << :readme if config.upload_readme
18
19
 
19
20
  namespace :upload do
20
21
  desc "Uploads all packs to appbox artifact; requires path to password file"
@@ -9,10 +9,10 @@ include DtcRake::UI
9
9
  product = DtcRake::Product.instance
10
10
  config = DtcRake::Config.instance
11
11
 
12
- if config.upload_app_descriptor
12
+ if config.upload_uucloud_descriptor
13
13
  namespace :upload do
14
14
  desc <<-DESC.gsub(/^ {4}/, '')
15
- Uploads uuApp deployment descriptor to appbox artifact; requires path to password file.
15
+ Uploads uuCloud deployment descriptor to appbox artifact; requires path to password file.
16
16
 
17
17
  rake upload:descriptor DTC_RAKE_PASSWD=12-345-6
18
18
  ("~/.uu/12-345-6" will be used)
@@ -23,11 +23,11 @@ if config.upload_app_descriptor
23
23
  task :descriptor do
24
24
  error("Specify password file in env variable DTC_RAKE_PASSWD, e.g. rake upload:descriptor DTC_RAKE_PASSWD=12-345-6") unless ENV["DTC_RAKE_PASSWD"]
25
25
 
26
- the_file = config.app_descriptor_path
26
+ the_file = config.uucloud_descriptor_path
27
27
  error("File #{the_file} does not exist") unless File.file?(the_file)
28
28
 
29
29
  art_uri = product.appbox_uri
30
- attch_code = product.app_descriptor_attachment_code
30
+ attch_code = product.uucloud_descriptor_attachment_code
31
31
  announce "Uploading #{the_file} to #{art_uri}:#{attch_code}..."
32
32
  attch_uri = DtcRake.upload_pack(
33
33
  file: the_file,
@@ -0,0 +1,47 @@
1
+ require "rake"
2
+ require "fileutils"
3
+ require "dtc_rake/config"
4
+ require "dtc_rake/product"
5
+ require "dtc_rake/ui"
6
+ require "dtc_rake/util"
7
+
8
+ include DtcRake::UI
9
+ product = DtcRake::Product.instance
10
+ config = DtcRake::Config.instance
11
+
12
+ if config.upload_readme
13
+ namespace :upload do
14
+ desc <<-DESC.gsub(/^ {4}/, '')
15
+ Uploads README.md or README.txt to appbox artifact; requires path to password file.
16
+
17
+ rake upload:readme DTC_RAKE_PASSWD=12-345-6
18
+ ("~/.uu/12-345-6" will be used)
19
+
20
+ rake upload:readme DTC_RAKE_PASSWD=/path/to/12-345-6
21
+ (password file from the specified path will be used)
22
+ DESC
23
+ task :readme do
24
+ error("Specify password file in env variable DTC_RAKE_PASSWD, e.g. rake upload:readme DTC_RAKE_PASSWD=12-345-6") unless ENV["DTC_RAKE_PASSWD"]
25
+
26
+ readme_dir = File.expand_path(File.join(config.root_dir, ".."))
27
+ readme = File.join(readme_dir, "README.md")
28
+ unless File.file?(readme)
29
+ readme = File.join(readme_dir, "README.txt")
30
+ unless File.file?(readme)
31
+ error("Neither README.md nor README.txt found in #{readme_dir}")
32
+ end
33
+ end
34
+
35
+ art_uri = product.appbox_uri
36
+ attch_code = product.readme_attachment_code
37
+ announce "Uploading #{readme} to #{art_uri}:#{attch_code}..."
38
+ attch_uri = DtcRake.upload_pack(
39
+ file: readme,
40
+ appbox_uri: art_uri,
41
+ attachment_code: attch_code,
42
+ credentials: ENV["DTC_RAKE_PASSWD"]
43
+ )
44
+ success "File #{readme} uploaded to #{attch_uri}"
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,17 @@
1
+ begin
2
+ require "rake-version"
3
+ rescue LoadError => e
4
+ abort "WARNING: Failed to load rake-version gem - cause: #{e.message}.\n" \
5
+ "\tYou won't be able to manipulate with version via Rake tasks until you resolve the problem."
6
+ end
7
+
8
+ require "rake"
9
+ require "dtc_rake/config"
10
+ require "dtc_rake/ui"
11
+
12
+ include DtcRake::UI
13
+ config = DtcRake::Config.instance
14
+
15
+ RakeVersion::Tasks.new do |v|
16
+ v.copy *config.version_files, all: true
17
+ end
metadata CHANGED
@@ -1,116 +1,131 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtc_rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0.pre.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Sibil
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-02 00:00:00.000000000 Z
11
+ date: 2017-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: json
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ~>
18
17
  - !ruby/object:Gem::Version
19
18
  version: 1.8.3
20
- type: :runtime
19
+ name: json
21
20
  prerelease: false
21
+ type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.8.3
27
27
  - !ruby/object:Gem::Dependency
28
- name: rainbow
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - "~>"
30
+ - - ~>
32
31
  - !ruby/object:Gem::Version
33
32
  version: 2.1.0
34
- type: :runtime
33
+ name: rainbow
35
34
  prerelease: false
35
+ type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.1.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: uu_os
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
- - - "~>"
44
+ - - ~>
46
45
  - !ruby/object:Gem::Version
47
46
  version: '0.19'
48
- type: :runtime
47
+ name: uu_os
49
48
  prerelease: false
49
+ type: :runtime
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.19'
55
55
  - !ruby/object:Gem::Dependency
56
- name: uu_os_commons
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
- - - "~>"
58
+ - - ~>
60
59
  - !ruby/object:Gem::Version
61
60
  version: '1.5'
62
- type: :runtime
61
+ name: uu_os_commons
63
62
  prerelease: false
63
+ type: :runtime
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.5'
69
69
  - !ruby/object:Gem::Dependency
70
- name: bundler
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
- - - "~>"
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ version: '1.0'
75
+ name: rake-version
76
+ prerelease: false
77
+ type: :runtime
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ~>
74
87
  - !ruby/object:Gem::Version
75
88
  version: '1.13'
76
- - - ">="
89
+ - - '>='
77
90
  - !ruby/object:Gem::Version
78
91
  version: 1.13.3
79
- type: :development
92
+ name: bundler
80
93
  prerelease: false
94
+ type: :development
81
95
  version_requirements: !ruby/object:Gem::Requirement
82
96
  requirements:
83
- - - "~>"
97
+ - - ~>
84
98
  - !ruby/object:Gem::Version
85
99
  version: '1.13'
86
- - - ">="
100
+ - - '>='
87
101
  - !ruby/object:Gem::Version
88
102
  version: 1.13.3
89
103
  - !ruby/object:Gem::Dependency
90
- name: rake
91
104
  requirement: !ruby/object:Gem::Requirement
92
105
  requirements:
93
- - - "~>"
106
+ - - ~>
94
107
  - !ruby/object:Gem::Version
95
- version: '10.0'
96
- type: :development
108
+ version: '11.0'
109
+ name: rake
97
110
  prerelease: false
111
+ type: :development
98
112
  version_requirements: !ruby/object:Gem::Requirement
99
113
  requirements:
100
- - - "~>"
114
+ - - ~>
101
115
  - !ruby/object:Gem::Version
102
- version: '10.0'
103
- description:
116
+ version: '11.0'
117
+ description:
104
118
  email:
105
119
  - 21-1@plus4u.net
106
120
  executables: []
107
121
  extensions: []
108
122
  extra_rdoc_files: []
109
123
  files:
110
- - ".gitignore"
124
+ - .gitignore
111
125
  - Gemfile
112
126
  - README.md
113
127
  - Rakefile
128
+ - VERSION
114
129
  - bin/console
115
130
  - bin/setup
116
131
  - dtc_rake.gemspec
@@ -133,29 +148,31 @@ files:
133
148
  - lib/tasks/upload_descriptor.rake
134
149
  - lib/tasks/upload_dockerfiles.rake
135
150
  - lib/tasks/upload_gem.rake
151
+ - lib/tasks/upload_readme.rake
136
152
  - lib/tasks/upload_vuc.rake
137
153
  - lib/tasks/upload_yardoc.rake
138
- homepage:
154
+ - lib/tasks/version.rake
155
+ homepage:
139
156
  licenses: []
140
157
  metadata: {}
141
- post_install_message:
158
+ post_install_message:
142
159
  rdoc_options: []
143
160
  require_paths:
144
161
  - lib
145
162
  required_ruby_version: !ruby/object:Gem::Requirement
146
163
  requirements:
147
- - - ">="
164
+ - - '>='
148
165
  - !ruby/object:Gem::Version
149
166
  version: '0'
150
167
  required_rubygems_version: !ruby/object:Gem::Requirement
151
168
  requirements:
152
- - - ">="
169
+ - - '>'
153
170
  - !ruby/object:Gem::Version
154
- version: '0'
171
+ version: 1.3.1
155
172
  requirements: []
156
- rubyforge_project:
157
- rubygems_version: 2.4.5.2
158
- signing_key:
173
+ rubyforge_project:
174
+ rubygems_version: 2.4.8
175
+ signing_key:
159
176
  specification_version: 4
160
177
  summary: Rake tasks for building apps produced by DTC.DEV team.
161
178
  test_files: []