rakeoe 0.0.11 → 0.0.12
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 +7 -0
- data/lib/rakeoe/key_value_reader.rb +4 -11
- data/lib/rakeoe/prj_file_cache.rb +1 -1
- data/lib/rakeoe/version.rb +1 -1
- data/lib/rakeoe.rb +8 -2
- data/rakeoe.gemspec +0 -1
- data/spec/rakoe_spec.rb +7 -15
- data/spec/spec_helper.rb +0 -3
- metadata +16 -46
- data/spec/factories.rb +0 -5
- data/spec/support/factories_spec.rb +0 -34
- data/spec/support/factory_girl.rb +0 -5
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: bde033f380668404227a6a3456689d7f1ad286b7
|
4
|
+
data.tar.gz: a4d146592a4efb66346ec1caaa30962356046b7d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0e4bdf9aab180aac347e05c74398cb2f10f0f6d358f6b5721fe9ce79c8565a2bf71bada7cd49392a148db2c1e6d7d8a813d82d755963eafaa9932c2073c2fb64
|
7
|
+
data.tar.gz: be85b351a5533e9d9edbd08169726cb755bc5ee500e610b11d90aec7221ccb74501589849033ae3ebeb1a80a1328a713799950c2620cfa15b45d7198a5bb45ac
|
@@ -29,18 +29,11 @@ class KeyValueReader
|
|
29
29
|
# Substitute all dollar values with either already parsed
|
30
30
|
# values or with system environment variables
|
31
31
|
def self.substitute_dollar_symbols!(env)
|
32
|
+
env.merge!(ENV)
|
32
33
|
resolved_dollar_vars = env.each_with_object(Hash.new) do |var, obj|
|
33
|
-
#
|
34
|
-
pattern = /\$[[
|
35
|
-
|
36
|
-
if match
|
37
|
-
# remove '$' from match, we don't need it as key
|
38
|
-
key = match[0].gsub('$', '')
|
39
|
-
value = env[key] ? env[key] : ENV[key]
|
40
|
-
raise "No $#{key} found in environment" if value.nil?
|
41
|
-
|
42
|
-
obj[var[0]] = var[1].gsub(pattern, value)
|
43
|
-
end
|
34
|
+
# expand all variables
|
35
|
+
pattern = /\$([a-zA-Z_]+[a-zA-Z0-9_]*)|\$\{(.+)\}/
|
36
|
+
obj[var[0]] = var[1].gsub(pattern) { env[$1||$2] }
|
44
37
|
end
|
45
38
|
# overwrite old values with resolved values
|
46
39
|
env.merge!(resolved_dollar_vars)
|
@@ -45,7 +45,7 @@ module RakeOE
|
|
45
45
|
all_prj_files = FileList[globs]
|
46
46
|
raise "No projects inside #{dirs}?!" if all_prj_files.empty?
|
47
47
|
|
48
|
-
all_prj_files.each do |file|
|
48
|
+
all_prj_files.uniq.each do |file|
|
49
49
|
# extract last path from prj.rake as project name
|
50
50
|
dir = File.dirname(file)
|
51
51
|
name = File.basename(dir)
|
data/lib/rakeoe/version.rb
CHANGED
data/lib/rakeoe.rb
CHANGED
@@ -18,7 +18,7 @@ module RakeOE
|
|
18
18
|
include Rake::DSL # for #task, #desc, #namespace
|
19
19
|
|
20
20
|
# Initialize RakeOE project. Reads & parses all prj.rake files
|
21
|
-
# of given config.
|
21
|
+
# of given config. Provides all rake tasks.
|
22
22
|
#
|
23
23
|
# @param config [RakeOE::Config] Configuration as provided by project Rakefile
|
24
24
|
#
|
@@ -26,7 +26,13 @@ module RakeOE
|
|
26
26
|
def init(config)
|
27
27
|
|
28
28
|
RakeOE::PrjFileCache.set_defaults(RakeOE::Default.prj_settings)
|
29
|
-
|
29
|
+
|
30
|
+
src_dirs = []
|
31
|
+
src_dirs += config.directories[:src] if config.directories[:src]
|
32
|
+
src_dirs += config.directories[:apps] if config.directories[:apps]
|
33
|
+
src_dirs += config.directories[:libs] if config.directories[:libs]
|
34
|
+
|
35
|
+
RakeOE::PrjFileCache.sweep_recursive(src_dirs.uniq)
|
30
36
|
|
31
37
|
toolchain = RakeOE::Toolchain.new(config)
|
32
38
|
RakeOE::PrjFileCache.join_regex_keys_for!(toolchain.target)
|
data/rakeoe.gemspec
CHANGED
data/spec/rakoe_spec.rb
CHANGED
@@ -1,19 +1,5 @@
|
|
1
|
-
|
1
|
+
require_relative 'spec_helper'
|
2
2
|
|
3
|
-
describe RakeOE do
|
4
|
-
it 'does stuff' do
|
5
|
-
#
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
describe PrjFileCache do
|
10
|
-
it 'does read prj.rake files' do
|
11
|
-
prj_cache = FactoryGirl.build(:prj_file_cache)
|
12
|
-
# factory girl does not provide any class variable support => bummer!
|
13
|
-
#expect(prj_cache.class.get('APP', 'hello', 'PRJ_HOME')).to equal('.')
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
3
|
|
18
4
|
describe RakeOE::Config do
|
19
5
|
before(:all) do
|
@@ -25,4 +11,10 @@ describe RakeOE::Config do
|
|
25
11
|
end
|
26
12
|
|
27
13
|
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'Projects' do
|
17
|
+
it 'should build a minimal project' do
|
18
|
+
sh 'cd projects/minimal_prj && TOOLCHAIN_ENV=platform/platform_osx rake -T'
|
19
|
+
end
|
28
20
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,81 +1,58 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rakeoe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.12
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Daniel Schnell
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2015-
|
11
|
+
date: 2015-12-18 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1.3'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1.3'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '3'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '3'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: factory_girl
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '4.0'
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '4.0'
|
62
41
|
- !ruby/object:Gem::Dependency
|
63
42
|
name: rake
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
44
|
requirements:
|
67
|
-
- - ~>
|
45
|
+
- - "~>"
|
68
46
|
- !ruby/object:Gem::Version
|
69
47
|
version: '10'
|
70
48
|
type: :runtime
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
51
|
requirements:
|
75
|
-
- - ~>
|
52
|
+
- - "~>"
|
76
53
|
- !ruby/object:Gem::Version
|
77
54
|
version: '10'
|
78
|
-
description:
|
55
|
+
description: "Rake Optimized for Embedded: RakeOE is a build system for application/library
|
79
56
|
development.\n RakeOE utilizes the power of Rake and the
|
80
57
|
easyness of Ruby to make build management for\n embedded
|
81
58
|
C/C++ development as easy and straight-forward as possible.\n It's
|
@@ -87,7 +64,7 @@ executables: []
|
|
87
64
|
extensions: []
|
88
65
|
extra_rdoc_files: []
|
89
66
|
files:
|
90
|
-
- .gitignore
|
67
|
+
- ".gitignore"
|
91
68
|
- Gemfile
|
92
69
|
- LICENSE
|
93
70
|
- README.md
|
@@ -110,11 +87,8 @@ files:
|
|
110
87
|
- lib/rakeoe/toolchain/environment-arm-stm32f072-eabi.osx
|
111
88
|
- lib/rakeoe/version.rb
|
112
89
|
- rakeoe.gemspec
|
113
|
-
- spec/factories.rb
|
114
90
|
- spec/rakoe_spec.rb
|
115
91
|
- spec/spec_helper.rb
|
116
|
-
- spec/support/factories_spec.rb
|
117
|
-
- spec/support/factory_girl.rb
|
118
92
|
- templates/platform/environment-arm-stm32f0-eabi
|
119
93
|
- templates/platform/environment-setup-armv7a-vfp-neon-linux-gnueabi
|
120
94
|
- templates/platform/environment-x86-linux-gnu.suse.11
|
@@ -122,32 +96,28 @@ files:
|
|
122
96
|
homepage: http://rakeoe.github.io/rakeoe/
|
123
97
|
licenses:
|
124
98
|
- GPLv3
|
99
|
+
metadata: {}
|
125
100
|
post_install_message:
|
126
101
|
rdoc_options: []
|
127
102
|
require_paths:
|
128
103
|
- lib
|
129
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
105
|
requirements:
|
132
|
-
- -
|
106
|
+
- - ">="
|
133
107
|
- !ruby/object:Gem::Version
|
134
108
|
version: 1.9.2
|
135
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
110
|
requirements:
|
138
|
-
- -
|
111
|
+
- - ">="
|
139
112
|
- !ruby/object:Gem::Version
|
140
113
|
version: '0'
|
141
114
|
requirements: []
|
142
115
|
rubyforge_project:
|
143
|
-
rubygems_version:
|
116
|
+
rubygems_version: 2.4.5
|
144
117
|
signing_key:
|
145
|
-
specification_version:
|
146
|
-
summary:
|
118
|
+
specification_version: 4
|
119
|
+
summary: 'Rake Optimized for Embedded: build system for test driven Embedded C/C++
|
147
120
|
Development based on Ruby Rake.'
|
148
121
|
test_files:
|
149
|
-
- spec/factories.rb
|
150
122
|
- spec/rakoe_spec.rb
|
151
123
|
- spec/spec_helper.rb
|
152
|
-
- spec/support/factories_spec.rb
|
153
|
-
- spec/support/factory_girl.rb
|
data/spec/factories.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
# /spec/support/factories_spec.rb
|
2
|
-
|
3
|
-
# If using RSpec 2.x (or if not using Rails), require `spec_helper` instead
|
4
|
-
require 'spec_helper'
|
5
|
-
|
6
|
-
# If using RSpec 2.x, remove `RSpec.`
|
7
|
-
RSpec.describe "Factory Girl" do
|
8
|
-
FactoryGirl.factories.map(&:name).each do |factory_name|
|
9
|
-
describe "#{factory_name} factory" do
|
10
|
-
|
11
|
-
# Test each factory
|
12
|
-
it "is valid" do
|
13
|
-
factory = FactoryGirl.build(factory_name)
|
14
|
-
if factory.respond_to?(:valid?)
|
15
|
-
# the lamba syntax only works with rspec 2.14 or newer; for earlier versions, you have to call #valid? before calling the matcher, otherwise the errors will be empty
|
16
|
-
expect(factory).to be_valid, lambda { factory.errors.full_messages.join("\n") }
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
# Test each trait
|
21
|
-
FactoryGirl.factories[factory_name].definition.defined_traits.map(&:name).each do |trait_name|
|
22
|
-
context "with trait #{trait_name}" do
|
23
|
-
it "is valid" do
|
24
|
-
factory = FactoryGirl.build(factory_name, trait_name)
|
25
|
-
if factory.respond_to?(:valid?)
|
26
|
-
expect(factory).to be_valid, lambda { factory.errors.full_messages.join("\n") }
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|