build-makefile 0.1.0 → 0.2.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 +4 -4
- data/Rakefile +3 -6
- data/build-makefile.gemspec +2 -2
- data/lib/build/makefile.rb +12 -6
- data/lib/build/makefile/version.rb +1 -1
- data/{test/test_depfile.rb → spec/build/depfile_spec.rb} +14 -14
- metadata +23 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19a2bc4270626fba7f02e936f01a659b5a860e90
|
4
|
+
data.tar.gz: be3d600846009e7baa728bc26a6c9a05043f0e74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0808ec5f4a9f04d7b33cc6127625424278c3acea95fd97360b411bde8194bb3fb48bee0cecf49f5c60ecb19e616169f217408bb44d8f05c0e4727de07b285f4
|
7
|
+
data.tar.gz: e15c87420338fefd6c7ddcd0e5a5c332b385345149630cdcecd49209c68ebf26a6472b7d7a79bc079ee80d038b3cac98c9344159208d2583e14f6b17d90ba1f6
|
data/Rakefile
CHANGED
data/build-makefile.gemspec
CHANGED
@@ -17,9 +17,9 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_dependency "build-files", "~> 0.
|
20
|
+
spec.add_dependency "build-files", "~> 0.2.0"
|
21
21
|
|
22
22
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
|
-
spec.add_development_dependency "
|
23
|
+
spec.add_development_dependency "rspec", "~> 3.0.0.rc1"
|
24
24
|
spec.add_development_dependency "rake"
|
25
25
|
end
|
data/lib/build/makefile.rb
CHANGED
@@ -34,15 +34,19 @@ module Build
|
|
34
34
|
attr :rules
|
35
35
|
|
36
36
|
def [] target
|
37
|
-
|
37
|
+
dependencies = @rules[target.relative_path]
|
38
38
|
|
39
|
-
|
39
|
+
if dependencies
|
40
|
+
Files::Paths.new(
|
41
|
+
dependencies.collect{|dep| Files::Path.new(dep).to_absolute(target.root)}
|
42
|
+
)
|
43
|
+
end
|
40
44
|
end
|
41
45
|
|
42
46
|
def include? target
|
43
|
-
target = Files::Path(target)
|
47
|
+
target = Files::Path.new(target)
|
44
48
|
|
45
|
-
|
49
|
+
@rules.include? target
|
46
50
|
end
|
47
51
|
|
48
52
|
def self.load_file(path)
|
@@ -60,7 +64,7 @@ module Build
|
|
60
64
|
rule = [:rule]
|
61
65
|
|
62
66
|
target = scanner[1].strip
|
63
|
-
rule <<
|
67
|
+
rule << target
|
64
68
|
|
65
69
|
# Parse dependencies:
|
66
70
|
dependencies = []
|
@@ -68,7 +72,9 @@ module Build
|
|
68
72
|
scanner.scan(/(\s|\\\n)*/)
|
69
73
|
|
70
74
|
scanner.scan(SOURCE_PATH)
|
71
|
-
|
75
|
+
|
76
|
+
# Need to remove escaped whitespace from path:
|
77
|
+
dependencies << scanner[0].gsub(/\\ /, ' ')
|
72
78
|
end
|
73
79
|
rule << dependencies
|
74
80
|
|
@@ -18,11 +18,9 @@
|
|
18
18
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
19
|
# THE SOFTWARE.
|
20
20
|
|
21
|
-
require 'minitest/autorun'
|
22
|
-
|
23
21
|
require 'build/makefile'
|
24
22
|
|
25
|
-
|
23
|
+
module Build::Makefile::DepfileSpec
|
26
24
|
DEPFILE_TEXT = <<-EOF
|
27
25
|
target1: source1 source2 \
|
28
26
|
source3
|
@@ -33,16 +31,18 @@ class TestDepfile < MiniTest::Test
|
|
33
31
|
source4
|
34
32
|
EOF
|
35
33
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
34
|
+
describe Build::Makefile do
|
35
|
+
it "should parse sample depfile" do
|
36
|
+
depfile = Build::Makefile.parse(DEPFILE_TEXT)
|
37
|
+
|
38
|
+
expect(depfile.rules.count).to be 3
|
39
|
+
expect(depfile).to include "target1"
|
40
|
+
expect(depfile).to include "target2"
|
41
|
+
expect(depfile).to include "target3"
|
42
|
+
|
43
|
+
expect(depfile.rules["target1"]).to be == %w{source1 source2 source3}
|
44
|
+
expect(depfile.rules["target2"]).to be == %w{}
|
45
|
+
expect(depfile.rules["target3"]).to be == %w{source4}
|
46
|
+
end
|
47
47
|
end
|
48
48
|
end
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: build-makefile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: build-files
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.2.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: 0.
|
26
|
+
version: 0.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 3.0.0.rc1
|
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:
|
54
|
+
version: 3.0.0.rc1
|
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
61
|
version: '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
68
|
version: '0'
|
69
69
|
description:
|
@@ -73,15 +73,15 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
-
|
77
|
-
-
|
76
|
+
- .gitignore
|
77
|
+
- .travis.yml
|
78
78
|
- Gemfile
|
79
79
|
- README.md
|
80
80
|
- Rakefile
|
81
81
|
- build-makefile.gemspec
|
82
82
|
- lib/build/makefile.rb
|
83
83
|
- lib/build/makefile/version.rb
|
84
|
-
-
|
84
|
+
- spec/build/depfile_spec.rb
|
85
85
|
homepage: ''
|
86
86
|
licenses:
|
87
87
|
- MIT
|
@@ -92,20 +92,21 @@ require_paths:
|
|
92
92
|
- lib
|
93
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- -
|
95
|
+
- - '>='
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - '>='
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
104
|
rubyforge_project:
|
105
|
-
rubygems_version: 2.
|
105
|
+
rubygems_version: 2.0.3
|
106
106
|
signing_key:
|
107
107
|
specification_version: 4
|
108
108
|
summary: Build::Makefile is a simple Makefile parser and can be used to extract dependencies
|
109
109
|
from compiler generated depfiles.
|
110
110
|
test_files:
|
111
|
-
-
|
111
|
+
- spec/build/depfile_spec.rb
|
112
|
+
has_rdoc:
|