Mxx_ru 1.6.8 → 1.6.9

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: 73efa525294417a45416e080580599b7ddc46c74
4
- data.tar.gz: e76fb9f6de5eeff271e0a6596fa8059cfcf45ac0
3
+ metadata.gz: 900a8a18e1efa1c39330786397ab24d107af3421
4
+ data.tar.gz: e48a95783c74c51fca524464a001476373fbd1d9
5
5
  SHA512:
6
- metadata.gz: fd8d76c2e95b1feabb5905c9fea9b022c0260426d01c603a98bedd662831dbbc91ad64930361196378b63729e8d754f55b638ae098afd108a094bf3e96248a44
7
- data.tar.gz: 443864dbe6a9927c2fda510dcd5aac15e67354f226ad1add2cf42cf290a02ac1739aebd8ef7c4f7a8dc52b24d289c6bab269d279acfecfba62f9b241b8901b55
6
+ metadata.gz: 0163b66595b96b7859c21b3e7f9d399cd173e014aaa3c43dadfa22986e631ad6495089d602a6b9380db66876fffa64c95669c7823b55cd8e0157be8106086ab2
7
+ data.tar.gz: c33dab51ff1cc665842b15e2abd95011a3dfc9b774a71459b3aa88560a6805bc799ceb915e11a103eca56da0f4524d166f8a37f1588bd410d4fb71ec3e990a12
data/NEWS CHANGED
@@ -1,5 +1,13 @@
1
1
  Changes in Mxx_ru
2
2
 
3
+ 1.6.9 version (2016.03.31)
4
+
5
+ Support of stars in src- and dst-names in map_dir/map_file (MxxRu::externals).
6
+
7
+ 1.6.8 version (2016.03.09)
8
+
9
+ Extended version of MxxRu::externals with arch_externals.
10
+
3
11
  1.6.7 version (2016.03.04)
4
12
 
5
13
  mxx_ru/externals.rb added (with git_externals, svn_externals and hg_externals).
@@ -255,12 +255,11 @@ private
255
255
 
256
256
  dir_subtargets = []
257
257
  @paths.each do |src, dst|
258
- last_item = File.split(src).last
259
- actual_dst = File.join(dst, last_item)
258
+ src, actual_dst, dir_dep = handle_dir_map_pair(src, dst)
260
259
 
261
- directory dst
260
+ directory dir_dep
262
261
 
263
- directory actual_dst => [ext_prj_sources_dir, dst] do
262
+ directory actual_dst => [ext_prj_sources_dir, dir_dep] do
264
263
  cp_r(File.join(ext_prj_sources_dir, src), actual_dst, fileop_options)
265
264
  end
266
265
  dir_subtargets << actual_dst
@@ -268,7 +267,8 @@ private
268
267
 
269
268
  file_subtargets = []
270
269
  @files.each do |src, dst|
271
- dir_dep = File.split(dst).first
270
+ dst, dir_dep = handle_file_map_pair(src, dst)
271
+
272
272
  directory dir_dep
273
273
 
274
274
  file dst => [ext_prj_sources_dir, dir_dep] do
@@ -313,6 +313,40 @@ private
313
313
 
314
314
  task :reget => @reget_task_name
315
315
  end
316
+
317
+ # Check the presence of start in src and make actual_dst and dir_dep
318
+ # in dependence of the result. If start is present then it is removed
319
+ # from actual_src.
320
+ #
321
+ # Returns triplet: [actual_src, actual_dst, dir_dep]
322
+ #
323
+ def handle_dir_map_pair(src, dst)
324
+ src_parts = File.split(src)
325
+ if '*' == src_parts.last
326
+ # Since v.1.6.9: source path must be copied with different name.
327
+ # Source name must not contain '*' at the end.
328
+ src = src_parts.first
329
+ # The first part original dst must be used as destination.
330
+ [src, dst, File.split(dst).first]
331
+ else
332
+ # Last name of src must be added to dst to create actual destination.
333
+ [src, File.join(dst, src_parts.last), dst]
334
+ end
335
+ end
336
+
337
+ # Check the presence of start in dst and make actual_dst and dir_dep
338
+ # in dependence of the result.
339
+ #
340
+ # Returns pair: [actual_dst, dir_dep]
341
+ #
342
+ def handle_file_map_pair(src, dst)
343
+ dst_parts = File.split(dst)
344
+ if '*' == dst_parts.last
345
+ # Since v.1.6.9: original name of file must be preserved.
346
+ dst = File.join(dst_parts.first, File.split(src).last)
347
+ end
348
+ [dst, dst_parts.first]
349
+ end
316
350
  end
317
351
 
318
352
  end # module Impl
@@ -34,4 +34,4 @@
34
34
  #
35
35
  # puts 'Mxx_ru version is: ' + MXX_RU_VERSION
36
36
  #
37
- MXX_RU_VERSION = '1.6.8'
37
+ MXX_RU_VERSION = '1.6.9'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Mxx_ru
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.8
4
+ version: 1.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Mxx_ru Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-09 00:00:00.000000000 Z
11
+ date: 2016-03-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Mxx_ru is a cross-platform build tool primarily focused to C/C++ projects
14
14
  email: eao197@yahoo.com