pkgforge 0.6.10 → 0.8.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: 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