omnibus 4.0.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -0
  3. data/.travis.yml +3 -11
  4. data/CHANGELOG.md +50 -0
  5. data/MAINTAINERS.md +26 -0
  6. data/README.md +61 -4
  7. data/appveyor.yml +35 -0
  8. data/docs/Build Cache.md +28 -3
  9. data/docs/Building on RHEL.md +1 -1
  10. data/features/commands/publish.feature +4 -9
  11. data/features/step_definitions/generator_steps.rb +14 -1
  12. data/features/support/env.rb +5 -3
  13. data/lib/omnibus.rb +10 -0
  14. data/lib/omnibus/build_version.rb +34 -25
  15. data/lib/omnibus/build_version_dsl.rb +43 -4
  16. data/lib/omnibus/builder.rb +30 -11
  17. data/lib/omnibus/changelog.rb +52 -0
  18. data/lib/omnibus/changelog_printer.rb +77 -0
  19. data/lib/omnibus/cli.rb +37 -2
  20. data/lib/omnibus/cli/changelog.rb +149 -0
  21. data/lib/omnibus/cli/publish.rb +30 -10
  22. data/lib/omnibus/config.rb +41 -2
  23. data/lib/omnibus/digestable.rb +6 -1
  24. data/lib/omnibus/exceptions.rb +15 -1
  25. data/lib/omnibus/fetcher.rb +78 -34
  26. data/lib/omnibus/fetchers/git_fetcher.rb +84 -42
  27. data/lib/omnibus/fetchers/net_fetcher.rb +64 -13
  28. data/lib/omnibus/fetchers/null_fetcher.rb +8 -1
  29. data/lib/omnibus/fetchers/path_fetcher.rb +24 -1
  30. data/lib/omnibus/file_syncer.rb +52 -1
  31. data/lib/omnibus/generator.rb +22 -21
  32. data/lib/omnibus/generator_files/.kitchen.yml.erb +8 -12
  33. data/lib/omnibus/generator_files/Berksfile.erb +4 -4
  34. data/lib/omnibus/generator_files/Gemfile.erb +3 -3
  35. data/lib/omnibus/generator_files/README.md.erb +17 -0
  36. data/lib/omnibus/generator_files/omnibus.rb.erb +6 -0
  37. data/lib/omnibus/git_repository.rb +43 -0
  38. data/lib/omnibus/health_check.rb +5 -1
  39. data/lib/omnibus/manifest.rb +134 -0
  40. data/lib/omnibus/manifest_diff.rb +88 -0
  41. data/lib/omnibus/manifest_entry.rb +43 -0
  42. data/lib/omnibus/metadata.rb +19 -1
  43. data/lib/omnibus/package.rb +9 -0
  44. data/lib/omnibus/packagers/base.rb +1 -1
  45. data/lib/omnibus/packagers/bff.rb +5 -5
  46. data/lib/omnibus/packagers/deb.rb +11 -4
  47. data/lib/omnibus/packagers/msi.rb +243 -2
  48. data/lib/omnibus/packagers/rpm.rb +68 -14
  49. data/lib/omnibus/packagers/solaris.rb +17 -23
  50. data/lib/omnibus/project.rb +129 -16
  51. data/lib/omnibus/publisher.rb +62 -49
  52. data/lib/omnibus/publishers/artifactory_publisher.rb +96 -5
  53. data/lib/omnibus/publishers/s3_publisher.rb +20 -25
  54. data/lib/omnibus/s3_cache.rb +13 -34
  55. data/lib/omnibus/s3_helpers.rb +119 -0
  56. data/lib/omnibus/semantic_version.rb +57 -0
  57. data/lib/omnibus/software.rb +87 -28
  58. data/lib/omnibus/sugarable.rb +18 -0
  59. data/lib/omnibus/templating.rb +8 -1
  60. data/lib/omnibus/version.rb +1 -1
  61. data/omnibus.gemspec +10 -7
  62. data/resources/bff/gen.template.erb +1 -1
  63. data/resources/msi/bundle.wxs.erb +17 -0
  64. data/resources/msi/localization-en-us.wxl.erb +1 -1
  65. data/resources/rpm/spec.erb +1 -1
  66. data/spec/functional/builder_spec.rb +15 -7
  67. data/spec/functional/fetchers/git_fetcher_spec.rb +44 -12
  68. data/spec/functional/fetchers/net_fetcher_spec.rb +171 -20
  69. data/spec/functional/fetchers/path_fetcher_spec.rb +16 -1
  70. data/spec/functional/file_syncer_spec.rb +58 -5
  71. data/spec/functional/templating_spec.rb +17 -6
  72. data/spec/spec_helper.rb +17 -0
  73. data/spec/support/file_helpers.rb +12 -2
  74. data/spec/support/git_helpers.rb +23 -18
  75. data/spec/support/matchers.rb +22 -0
  76. data/spec/support/output_helpers.rb +29 -0
  77. data/spec/unit/build_version_dsl_spec.rb +31 -4
  78. data/spec/unit/build_version_spec.rb +11 -4
  79. data/spec/unit/builder_spec.rb +33 -0
  80. data/spec/unit/changelog_spec.rb +55 -0
  81. data/spec/unit/cleanroom_spec.rb +1 -1
  82. data/spec/unit/compressors/dmg_spec.rb +3 -3
  83. data/spec/unit/compressors/tgz_spec.rb +3 -3
  84. data/spec/unit/config_spec.rb +3 -1
  85. data/spec/unit/fetcher_spec.rb +35 -0
  86. data/spec/unit/fetchers/git_fetcher_spec.rb +28 -14
  87. data/spec/unit/fetchers/net_fetcher_spec.rb +178 -24
  88. data/spec/unit/fetchers/path_fetcher_spec.rb +8 -7
  89. data/spec/unit/generator_spec.rb +22 -21
  90. data/spec/unit/git_repository_spec.rb +60 -0
  91. data/spec/unit/manifest_diff_spec.rb +75 -0
  92. data/spec/unit/manifest_spec.rb +116 -0
  93. data/spec/unit/metadata_spec.rb +11 -0
  94. data/spec/unit/omnibus_spec.rb +9 -6
  95. data/spec/unit/package_spec.rb +1 -1
  96. data/spec/unit/packagers/base_spec.rb +8 -18
  97. data/spec/unit/packagers/bff_spec.rb +9 -5
  98. data/spec/unit/packagers/deb_spec.rb +44 -12
  99. data/spec/unit/packagers/makeself_spec.rb +4 -4
  100. data/spec/unit/packagers/msi_spec.rb +122 -6
  101. data/spec/unit/packagers/pkg_spec.rb +3 -3
  102. data/spec/unit/packagers/rpm_spec.rb +37 -12
  103. data/spec/unit/project_spec.rb +18 -1
  104. data/spec/unit/publisher_spec.rb +65 -0
  105. data/spec/unit/publishers/artifactory_publisher_spec.rb +26 -20
  106. data/spec/unit/publishers/s3_publisher_spec.rb +14 -30
  107. data/spec/unit/s3_cacher_spec.rb +1 -1
  108. data/spec/unit/s3_helpers_spec.rb +32 -0
  109. data/spec/unit/semantic_version_spec.rb +55 -0
  110. data/spec/unit/software_spec.rb +112 -4
  111. metadata +86 -16
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnibus
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-16 00:00:00.000000000 Z
11
+ date: 2015-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-sugar
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.2'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cleanroom
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,42 +44,70 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.4'
47
+ version: '2.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.4'
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mixlib-versioning
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: ohai
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '7.2'
75
+ version: '8.0'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '7.2'
82
+ version: '8.0'
69
83
  - !ruby/object:Gem::Dependency
70
- name: uber-s3
84
+ name: ruby-progressbar
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ">="
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0'
89
+ version: '1.7'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ">="
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0'
96
+ version: '1.7'
97
+ - !ruby/object:Gem::Dependency
98
+ name: aws-sdk
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: thor
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +170,14 @@ dependencies:
142
170
  requirements:
143
171
  - - "~>"
144
172
  - !ruby/object:Gem::Version
145
- version: '2.1'
173
+ version: '2.3'
146
174
  type: :development
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
178
  - - "~>"
151
179
  - !ruby/object:Gem::Version
152
- version: '2.1'
180
+ version: '2.3'
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: rspec
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +206,20 @@ dependencies:
178
206
  - - ">="
179
207
  - !ruby/object:Gem::Version
180
208
  version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: webmock
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
181
223
  - !ruby/object:Gem::Dependency
182
224
  name: rake
183
225
  requirement: !ruby/object:Gem::Requirement
@@ -220,8 +262,10 @@ files:
220
262
  - CHANGELOG.md
221
263
  - Gemfile
222
264
  - LICENSE
265
+ - MAINTAINERS.md
223
266
  - README.md
224
267
  - Rakefile
268
+ - appveyor.yml
225
269
  - bin/omnibus
226
270
  - docs/Build Cache.md
227
271
  - docs/Building on Debian.md
@@ -242,10 +286,13 @@ files:
242
286
  - lib/omnibus/build_version.rb
243
287
  - lib/omnibus/build_version_dsl.rb
244
288
  - lib/omnibus/builder.rb
289
+ - lib/omnibus/changelog.rb
290
+ - lib/omnibus/changelog_printer.rb
245
291
  - lib/omnibus/cleaner.rb
246
292
  - lib/omnibus/cli.rb
247
293
  - lib/omnibus/cli/base.rb
248
294
  - lib/omnibus/cli/cache.rb
295
+ - lib/omnibus/cli/changelog.rb
249
296
  - lib/omnibus/cli/publish.rb
250
297
  - lib/omnibus/compressor.rb
251
298
  - lib/omnibus/compressors/base.rb
@@ -279,11 +326,15 @@ files:
279
326
  - lib/omnibus/generator_files/package_scripts/preinst.erb
280
327
  - lib/omnibus/generator_files/package_scripts/prerm.erb
281
328
  - lib/omnibus/git_cache.rb
329
+ - lib/omnibus/git_repository.rb
282
330
  - lib/omnibus/health_check.rb
283
331
  - lib/omnibus/instrumentation.rb
284
332
  - lib/omnibus/library.rb
285
333
  - lib/omnibus/logger.rb
286
334
  - lib/omnibus/logging.rb
335
+ - lib/omnibus/manifest.rb
336
+ - lib/omnibus/manifest_diff.rb
337
+ - lib/omnibus/manifest_entry.rb
287
338
  - lib/omnibus/metadata.rb
288
339
  - lib/omnibus/null_argumentable.rb
289
340
  - lib/omnibus/ohai.rb
@@ -304,6 +355,8 @@ files:
304
355
  - lib/omnibus/publishers/s3_publisher.rb
305
356
  - lib/omnibus/reports.rb
306
357
  - lib/omnibus/s3_cache.rb
358
+ - lib/omnibus/s3_helpers.rb
359
+ - lib/omnibus/semantic_version.rb
307
360
  - lib/omnibus/software.rb
308
361
  - lib/omnibus/sugarable.rb
309
362
  - lib/omnibus/templating.rb
@@ -327,6 +380,7 @@ files:
327
380
  - resources/msi/assets/project.ico
328
381
  - resources/msi/assets/project_16x16.ico
329
382
  - resources/msi/assets/project_32x32.ico
383
+ - resources/msi/bundle.wxs.erb
330
384
  - resources/msi/localization-en-us.wxl.erb
331
385
  - resources/msi/parameters.wxi.erb
332
386
  - resources/msi/source.wxs.erb
@@ -353,11 +407,13 @@ files:
353
407
  - spec/support/logging_helpers.rb
354
408
  - spec/support/matchers.rb
355
409
  - spec/support/ohai_helpers.rb
410
+ - spec/support/output_helpers.rb
356
411
  - spec/support/path_helpers.rb
357
412
  - spec/support/shell_helpers.rb
358
413
  - spec/unit/build_version_dsl_spec.rb
359
414
  - spec/unit/build_version_spec.rb
360
415
  - spec/unit/builder_spec.rb
416
+ - spec/unit/changelog_spec.rb
361
417
  - spec/unit/cleanroom_spec.rb
362
418
  - spec/unit/compressor_spec.rb
363
419
  - spec/unit/compressors/base_spec.rb
@@ -366,13 +422,17 @@ files:
366
422
  - spec/unit/compressors/tgz_spec.rb
367
423
  - spec/unit/config_spec.rb
368
424
  - spec/unit/digestable_spec.rb
425
+ - spec/unit/fetcher_spec.rb
369
426
  - spec/unit/fetchers/git_fetcher_spec.rb
370
427
  - spec/unit/fetchers/net_fetcher_spec.rb
371
428
  - spec/unit/fetchers/path_fetcher_spec.rb
372
429
  - spec/unit/generator_spec.rb
373
430
  - spec/unit/git_cache_spec.rb
431
+ - spec/unit/git_repository_spec.rb
374
432
  - spec/unit/health_check_spec.rb
375
433
  - spec/unit/library_spec.rb
434
+ - spec/unit/manifest_diff_spec.rb
435
+ - spec/unit/manifest_spec.rb
376
436
  - spec/unit/metadata_spec.rb
377
437
  - spec/unit/ohai_spec.rb
378
438
  - spec/unit/omnibus_spec.rb
@@ -389,6 +449,8 @@ files:
389
449
  - spec/unit/publishers/artifactory_publisher_spec.rb
390
450
  - spec/unit/publishers/s3_publisher_spec.rb
391
451
  - spec/unit/s3_cacher_spec.rb
452
+ - spec/unit/s3_helpers_spec.rb
453
+ - spec/unit/semantic_version_spec.rb
392
454
  - spec/unit/software_spec.rb
393
455
  - spec/unit/sugarable_spec.rb
394
456
  - spec/unit/util_spec.rb
@@ -412,7 +474,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
412
474
  version: '0'
413
475
  requirements: []
414
476
  rubyforge_project:
415
- rubygems_version: 2.4.5
477
+ rubygems_version: 2.4.4
416
478
  signing_key:
417
479
  specification_version: 4
418
480
  summary: Omnibus is a framework for building self-installing, full-stack software
@@ -441,11 +503,13 @@ test_files:
441
503
  - spec/support/logging_helpers.rb
442
504
  - spec/support/matchers.rb
443
505
  - spec/support/ohai_helpers.rb
506
+ - spec/support/output_helpers.rb
444
507
  - spec/support/path_helpers.rb
445
508
  - spec/support/shell_helpers.rb
446
509
  - spec/unit/build_version_dsl_spec.rb
447
510
  - spec/unit/build_version_spec.rb
448
511
  - spec/unit/builder_spec.rb
512
+ - spec/unit/changelog_spec.rb
449
513
  - spec/unit/cleanroom_spec.rb
450
514
  - spec/unit/compressor_spec.rb
451
515
  - spec/unit/compressors/base_spec.rb
@@ -454,13 +518,17 @@ test_files:
454
518
  - spec/unit/compressors/tgz_spec.rb
455
519
  - spec/unit/config_spec.rb
456
520
  - spec/unit/digestable_spec.rb
521
+ - spec/unit/fetcher_spec.rb
457
522
  - spec/unit/fetchers/git_fetcher_spec.rb
458
523
  - spec/unit/fetchers/net_fetcher_spec.rb
459
524
  - spec/unit/fetchers/path_fetcher_spec.rb
460
525
  - spec/unit/generator_spec.rb
461
526
  - spec/unit/git_cache_spec.rb
527
+ - spec/unit/git_repository_spec.rb
462
528
  - spec/unit/health_check_spec.rb
463
529
  - spec/unit/library_spec.rb
530
+ - spec/unit/manifest_diff_spec.rb
531
+ - spec/unit/manifest_spec.rb
464
532
  - spec/unit/metadata_spec.rb
465
533
  - spec/unit/ohai_spec.rb
466
534
  - spec/unit/omnibus_spec.rb
@@ -477,6 +545,8 @@ test_files:
477
545
  - spec/unit/publishers/artifactory_publisher_spec.rb
478
546
  - spec/unit/publishers/s3_publisher_spec.rb
479
547
  - spec/unit/s3_cacher_spec.rb
548
+ - spec/unit/s3_helpers_spec.rb
549
+ - spec/unit/semantic_version_spec.rb
480
550
  - spec/unit/software_spec.rb
481
551
  - spec/unit/sugarable_spec.rb
482
552
  - spec/unit/util_spec.rb