pkgforge 0.6.10 → 0.8.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: 5c1829683ca2a057c1fdd45002f7d49b55fe9d39
4
- data.tar.gz: d13c26d90f5f89ca5302dd20fbbe07e70ab24c66
3
+ metadata.gz: f32952353111209493b746f90c6c69dce861e07f
4
+ data.tar.gz: 9fe19fe8872c2182227125e96fc0200d9e8f43e3
5
5
  SHA512:
6
- metadata.gz: 847d7fe5db0f9ec4bc6e519fad777324b7763b2c0d189158e3cba596beeed2cf9920a9b68a747d9b2d0305cdc1df8ddd099fb73c640e3d39f9cbb5500ee16a21
7
- data.tar.gz: 319f474200e7190e43949249b800e8f14f45f5904888f8d74468bd7b45f6592546b896aa5e1267f6b68597b70d6e0743946a26b61a3794d1e4e2c4f5b6c3ad68
6
+ metadata.gz: 02301c9c25723c44f689885bdda19429a98ac909f23496728d966ed69ecc9b6ad83b931f9084050b16c730e8ead9cbe724d4469ff1d73531ddbeeb6bfaee814b
7
+ data.tar.gz: 4d27434c950e746a1e45259d2928b8b22825a21b90e7950ec799b4fa4479368d53efe230322813df8caf3a9b8700d7334100b3d0514c86b857c86d6ee9971514
data/bin/pkgforge CHANGED
@@ -35,6 +35,7 @@ Mercenary.program(:pkgforge) do |p|
35
35
  forge.build!
36
36
  forge.test!
37
37
  forge.package!
38
+ forge.cleanup!
38
39
  end
39
40
  end
40
41
  end
@@ -49,6 +50,7 @@ Mercenary.program(:pkgforge) do |p|
49
50
  forge.build!
50
51
  forge.test!
51
52
  forge.package!
53
+ forge.cleanup!
52
54
  forge.push!
53
55
  end
54
56
  end
@@ -0,0 +1,16 @@
1
+ require 'fileutils'
2
+
3
+ module PkgForge
4
+ ##
5
+ # Add cleanup methods to Forge
6
+ class Forge
7
+ Contract None => nil
8
+ def cleanup!
9
+ @tmpdirs ||= {}
10
+ @tmpfiles ||= {}
11
+ paths = [@tmpfiles.values, @tmpdirs.values].flatten
12
+ puts "Cleaning up tmp paths: #{paths}"
13
+ FileUtils.rm_r paths
14
+ end
15
+ end
16
+ end
@@ -9,7 +9,7 @@ module PkgForge
9
9
 
10
10
  Contract None => HashOf[Symbol => Any]
11
11
  def source
12
- @source ||= { type: 'git' }
12
+ @source ||= { type: 'git', path: 'upstream' }
13
13
  end
14
14
 
15
15
  private
@@ -23,13 +23,16 @@ module PkgForge
23
23
 
24
24
  Contract None => nil
25
25
  def git_prepare_source
26
- dest = tmpdir(:build)
27
- dest_git = File.join(dest, '.git')
26
+ run_local 'git submodule update --init --recursive'
27
+ FileUtils.cp_r "#{source[:path]}/.", tmpdir(:build)
28
+ git_fix_submodule unless source[:path] == '.'
29
+ end
30
+
31
+ Contract None => nil
32
+ def git_fix_submodule
33
+ dest_git = File.join(tmpdir(:build), '.git')
28
34
  dest_git_config = File.join(dest_git, 'config')
29
- run_local 'git submodule update --init'
30
- FileUtils.cp_r 'upstream/.', dest
31
- FileUtils.rm_r dest_git
32
- FileUtils.cp_r '.git/modules/upstream', dest_git
35
+ FileUtils.cp_r ".git/modules/#{source[:path]}", dest_git
33
36
  new_config = File.readlines(dest_git_config).grep_v(/worktree =/).join
34
37
  File.open(dest_git_config, 'w') { |fh| fh << new_config }
35
38
  nil
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Declare version number
3
3
  module PkgForge
4
- VERSION = '0.6.10'.freeze
4
+ VERSION = '0.8.0'.freeze
5
5
  end
data/pkgforge.gemspec CHANGED
@@ -20,8 +20,8 @@ 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.42.0'
24
- s.add_development_dependency 'rake', '~> 11.2.0'
23
+ s.add_development_dependency 'rubocop', '~> 0.43.0'
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'
27
27
  s.add_development_dependency 'fuubar', '~> 2.2.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.6.10
4
+ version: 0.8.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-09-13 00:00:00.000000000 Z
11
+ date: 2016-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mercenary
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.42.0
47
+ version: 0.43.0
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.42.0
54
+ version: 0.43.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 11.2.0
61
+ version: 11.3.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 11.2.0
68
+ version: 11.3.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: codecov
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -130,6 +130,7 @@ files:
130
130
  - lib/pkgforge/base.rb
131
131
  - lib/pkgforge/components/build.rb
132
132
  - lib/pkgforge/components/cflags.rb
133
+ - lib/pkgforge/components/cleanup.rb
133
134
  - lib/pkgforge/components/configure.rb
134
135
  - lib/pkgforge/components/deps.rb
135
136
  - lib/pkgforge/components/dirs.rb