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 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
- # search for '$BLA..' identifier
34
- pattern = /\$[[:alnum:]]+/
35
- match = var[1].match(pattern)
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)
@@ -1,3 +1,3 @@
1
1
  module RakeOE
2
- VERSION = '0.0.11'
2
+ VERSION = '0.0.12'
3
3
  end
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
- RakeOE::PrjFileCache.sweep_recursive(config.directories[:apps] + config.directories[:libs])
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
@@ -25,7 +25,6 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.add_development_dependency 'bundler', '~> 1.3'
27
27
  spec.add_development_dependency 'rspec', '~> 3'
28
- spec.add_development_dependency 'factory_girl', '~> 4.0'
29
28
 
30
29
  spec.required_ruby_version = '>= 1.9.2'
31
30
 
data/spec/rakoe_spec.rb CHANGED
@@ -1,19 +1,5 @@
1
- require 'spec_helper'
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
@@ -2,7 +2,4 @@ require 'bundler/setup'
2
2
  Bundler.setup
3
3
 
4
4
  require 'rakeoe'
5
- require 'factory_girl'
6
-
7
- FactoryGirl.find_definitions
8
5
 
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.11
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-02-02 00:00:00.000000000 Z
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: ! "Rake Optimized for Embedded: RakeOE is a build system for application/library
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: 1.8.23.2
116
+ rubygems_version: 2.4.5
144
117
  signing_key:
145
- specification_version: 3
146
- summary: ! 'Rake Optimized for Embedded: build system for test driven Embedded C/C++
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,5 +0,0 @@
1
- FactoryGirl.define do
2
- factory :prj_file_cache, class: PrjFileCache do
3
- prj_list { { 'APP' => { 'hello' => {'PRJ_HOME' => '.', 'PRJ_FILE' => './prj.rake'}}} }
4
- end
5
- end
@@ -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
@@ -1,5 +0,0 @@
1
- # RSpec
2
- # spec/support/factory_girl.rb
3
- RSpec.configure do |config|
4
- config.include FactoryGirl::Syntax::Methods
5
- end