pkgforge 0.11.0 → 0.12.0

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: 680cf8233d0ccef1d6a2d0f79bf148c75f4ff25a
4
- data.tar.gz: 88eff8a04038bb9f077e2694e548871b338f6802
3
+ metadata.gz: b21c69d4ef88eef662adcf73fe465abcb5375fb1
4
+ data.tar.gz: f137c4f34eac57d1ba3cd7fdf78aa5569b7e82ff
5
5
  SHA512:
6
- metadata.gz: 020b66ea47869edfc7e651cad2f953d1a829f75cc0ade111402c8a0ea23dcef64d977f6673bf67b4f04a15e5b7465ee6795515f3f05574fe4d9285dccde32267
7
- data.tar.gz: 42d5a7bf1794d4527e53298bf4e92429bbc9c7e78198561f9c84fcabbd3fbc9114b5b4af7866a10b3c54fc135d8eb4ab0eeab67591cf1e1e92060be7ab329d36
6
+ metadata.gz: ce7c74a38ff9737cb630d931767efb406eeddb23f5f30ed453b7b9ba9178249836eb805c7d012433151b4d9bcb92ec3730f7da87b0e3671937e02198961bace8
7
+ data.tar.gz: 7ed8a2132ace89ab3f416bca7a4f2211a5a117de63cb2423ecd153d3a50aaf90cfb4811d8ccb8eede719795031402b86ec3b494ad4391f80381d3c6264110725
data/bin/pkgforge CHANGED
@@ -21,6 +21,7 @@ def run_on_file(options)
21
21
  end
22
22
  end
23
23
 
24
+ # rubocop:disable Metrics/BlockLength
24
25
  Mercenary.program(:pkgforge) do |p|
25
26
  p.version PkgForge::VERSION
26
27
  p.description 'DSL engine for building Arch packages'
@@ -4,15 +4,39 @@ module PkgForge
4
4
  ##
5
5
  # Add upload methods to Forge
6
6
  class Forge
7
+ attr_writer :package
8
+
9
+ Contract None => HashOf[Symbol => Any]
10
+ def package
11
+ @package ||= { type: 'tarball' }
12
+ end
13
+
7
14
  Contract None => nil
8
15
  def package!
9
16
  add_license!
10
- make_tarball!
11
- copy_tarball!
17
+ type_method = "#{package[:type]}_prepare_package"
18
+ return send(type_method) if respond_to?(type_method, true)
19
+ raise("Unknown package type: #{package[:type]}")
12
20
  end
13
21
 
14
22
  private
15
23
 
24
+ Contract None => nil
25
+ def file_prepare_package
26
+ raise('File package type requires "path" setting') unless package[:path]
27
+ @upload_path = File.join(tmpdir(:release), package[:path])
28
+ @upload_name = package[:name] || name
29
+ nil
30
+ end
31
+
32
+ Contract None => nil
33
+ def tarball_prepare_package
34
+ @upload_path = tmpfile(:tarball)
35
+ @upload_name = "#{name}.tar.gz"
36
+ make_tarball!
37
+ copy_tarball!
38
+ end
39
+
16
40
  Contract None => nil
17
41
  def make_tarball!
18
42
  Dir.chdir(tmpdir(:release)) do
@@ -35,4 +59,16 @@ module PkgForge
35
59
  nil
36
60
  end
37
61
  end
62
+
63
+ module DSL
64
+ ##
65
+ # Add package methods to Forge DSL
66
+ class Forge
67
+ Contract HashOf[Symbol => Any] => nil
68
+ def package(params)
69
+ @forge.package = params
70
+ nil
71
+ end
72
+ end
73
+ end
38
74
  end
@@ -20,8 +20,8 @@ module PkgForge
20
20
  'targit',
21
21
  '--authfile', '.github',
22
22
  '--create',
23
- '--name', "#{name}.tar.gz",
24
- "#{org}/#{name}", version, tmpfile(:tarball)
23
+ '--name', @upload_name,
24
+ "#{org}/#{name}", version, @upload_path
25
25
  ]
26
26
  nil
27
27
  end
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Declare version number
3
3
  module PkgForge
4
- VERSION = '0.11.0'.freeze
4
+ VERSION = '0.12.0'.freeze
5
5
  end
data/pkgforge.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.add_dependency 'mercenary', '~> 0.3.4'
21
21
  s.add_dependency 'contracts', '~> 0.14.0'
22
22
 
23
- s.add_development_dependency 'rubocop', '~> 0.43.0'
23
+ s.add_development_dependency 'rubocop', '~> 0.44.1'
24
24
  s.add_development_dependency 'rake', '~> 11.3.0'
25
25
  s.add_development_dependency 'codecov', '~> 0.1.1'
26
26
  s.add_development_dependency 'rspec', '~> 3.5.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkgforge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Aker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-18 00:00:00.000000000 Z
11
+ date: 2016-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mercenary
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.43.0
47
+ version: 0.44.1
48
48
  type: :development
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: 0.43.0
54
+ version: 0.44.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement