pkgforge 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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