canoe 0.3.3.5 → 0.3.3.6
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/lib/workspace/make.rb +1 -1
- data/lib/workspace/test.rb +37 -16
- data/lib/workspace/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e50f9ba8d96948ef0cf070c3cf105641b3abc7e6c6b83823b989fb5b83f51cc5
|
|
4
|
+
data.tar.gz: '02916721983f2bd1fc18837f7db4a73dd77c42bebbe4c36d498e0a8e4b73fe2f'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ad38fa76f5190af9de7579ee5f8e11da9f42b35ec57b833f19e63a01ded4255f9dca913959c6fa5306b2a136b45228b0f8c5e3522bae64b7fcb99c9df29168f1
|
|
7
|
+
data.tar.gz: 5877024cb80c0bd1bd767982c28ea3ceea82aa883f5ae27d0c45d28f2b73339df917dbc50cfecf5fd5c09bbc7f8cfb538ef963e9c6b0b865c5c41dd4bb1f33a1
|
data/lib/workspace/make.rb
CHANGED
|
@@ -242,7 +242,6 @@ module Canoe
|
|
|
242
242
|
objs = ["$(OBJ_#{n})"] + extract_one_file_obj(filename, deps).map do |o|
|
|
243
243
|
"$(OBJ_#{File.basename(o, '.*').upcase})"
|
|
244
244
|
end
|
|
245
|
-
|
|
246
245
|
makefile.puts("$(#{n}): #{objs.join ' '}\n\t$(#{cmplr}) $(#{cmplr}FLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)")
|
|
247
246
|
makefile.puts ''
|
|
248
247
|
end
|
|
@@ -264,6 +263,7 @@ module Canoe
|
|
|
264
263
|
make_out_rules makefile, deps
|
|
265
264
|
makefile.puts ''
|
|
266
265
|
make_obj_rules makefile, deps
|
|
266
|
+
makefile.puts ''
|
|
267
267
|
make_tests_rules makefile, deps
|
|
268
268
|
makefile.puts ''
|
|
269
269
|
make_clean makefile
|
data/lib/workspace/test.rb
CHANGED
|
@@ -9,12 +9,43 @@ module Canoe
|
|
|
9
9
|
test_single(args[0], args[1..].join(" "))
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
# extract
|
|
12
|
+
# extract all files the file depends on, including headers
|
|
13
13
|
def extract_one_file(file, deps)
|
|
14
|
-
ret =
|
|
14
|
+
ret = []
|
|
15
|
+
holder = deps[file] + deps[file].map { |f| f.gsub(".#{@header_suffix}", ".#{@source_suffix}") }
|
|
16
|
+
extract_one_file_helper(file, deps, holder, ret)
|
|
17
|
+
ret.uniq
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def extract_one_file_obj(file, deps)
|
|
21
|
+
ret = extract_one_file(file, deps).map do |f|
|
|
22
|
+
file_to_obj(f)
|
|
23
|
+
end
|
|
24
|
+
ret.uniq
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def extract_one_file_header(file, deps)
|
|
28
|
+
ret = extract_one_file(file, deps).map do |f|
|
|
29
|
+
f.gsub(".#{@source_suffix}", ".#{@header_suffix}")
|
|
30
|
+
end
|
|
31
|
+
ret.uniq
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def extract_one_file_source(file, deps)
|
|
35
|
+
ret = extract_one_file(file, deps).map do |f|
|
|
36
|
+
f.gsub(".#{@header_suffix}", ".#{@source_suffix}")
|
|
37
|
+
end
|
|
38
|
+
ret.uniq
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
# extract one test file's dependency
|
|
44
|
+
def extract_one_file_helper(file, deps, ref, ret)
|
|
15
45
|
begin
|
|
16
|
-
|
|
17
|
-
|
|
46
|
+
ref.each do |f|
|
|
47
|
+
ret << f unless ret.include?(f)
|
|
48
|
+
dep = extract_one_file_helper(f, deps, deps[f], ret)
|
|
18
49
|
dep.each do |d|
|
|
19
50
|
ret << d unless ret.include?(d)
|
|
20
51
|
end
|
|
@@ -23,17 +54,8 @@ module Canoe
|
|
|
23
54
|
puts "#{"Fatal: ".red}file #{file} is circularly included"
|
|
24
55
|
exit false
|
|
25
56
|
end
|
|
26
|
-
ret.map { |f| f.gsub(".#{@header_suffix}", ".#{@source_suffix}") }
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def extract_one_file_obj(file, deps)
|
|
30
|
-
extract_one_file(file, deps).map do |f|
|
|
31
|
-
file_to_obj(f)
|
|
32
|
-
end
|
|
33
57
|
end
|
|
34
58
|
|
|
35
|
-
private
|
|
36
|
-
|
|
37
59
|
def test_all
|
|
38
60
|
build_test
|
|
39
61
|
fetch_all_test_files.each do |f|
|
|
@@ -84,14 +106,13 @@ module Canoe
|
|
|
84
106
|
|
|
85
107
|
def link_one_test(test_file, deps)
|
|
86
108
|
target = "#{@target_short}/#{File.basename(test_file, '.*')}"
|
|
87
|
-
|
|
88
|
-
@compiler.link_executable target, all_objs + [file_to_obj(test_file)]
|
|
109
|
+
@compiler.link_executable target, [file_to_obj(test_file)] + extract_one_file_obj(test_file, deps)
|
|
89
110
|
end
|
|
90
111
|
|
|
91
112
|
def build_one_test(test_file, deps, indent = "")
|
|
92
113
|
files = DepAnalyzer.compiling_filter(target_deps, Time.new(0), @source_suffix, @header_suffix)
|
|
114
|
+
.intersection(extract_one_file_source(test_file, deps)) << test_file
|
|
93
115
|
flag = true
|
|
94
|
-
files << test_file
|
|
95
116
|
|
|
96
117
|
stepper = Stepper.new(files.size, files.size)
|
|
97
118
|
|
data/lib/workspace/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: canoe
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.3.
|
|
4
|
+
version: 0.3.3.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- XIONG Ziwei
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-02-
|
|
11
|
+
date: 2022-02-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: |+
|
|
14
14
|
Canoe offers project management and building facilities to C/C++ projects.
|