cxxproject 0.6.6 → 0.6.9

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.
@@ -229,7 +229,8 @@ module Cxxproject
229
229
  namespace 'run' do
230
230
  desc "run executable #{executable}"
231
231
  res = task name => executable do |t|
232
- sh "\"#{executable}\""
232
+ args = ENV['args'] ? ' ' + ENV['args'] : ''
233
+ sh "\"#{executable}\"#{args}"
233
234
  end
234
235
  res.type = Rake::Task::RUN
235
236
  res
@@ -211,8 +211,14 @@ module Rake
211
211
  end
212
212
 
213
213
  class Task
214
+ @@bail_on_first_error = true
215
+ def self.bail_on_first_error
216
+ return @@bail_on_first_error
217
+ end
218
+ def self.bail_on_first_error=(v)
219
+ @@bail_on_first_error = v
220
+ end
214
221
  class << self
215
- attr_accessor :bail_on_first_error
216
222
  attr_accessor :output_disabled
217
223
  end
218
224
 
@@ -22,7 +22,7 @@ module Cxxproject
22
22
  attr_accessor :base_dir, :all_tasks
23
23
 
24
24
  def initialize(projects, build_dir, toolchain_name, base_dir='.', &option_block)
25
- load_cxx_plugins
25
+ load_toolchain_plugins
26
26
  option_block.call if option_block
27
27
  toolchain = Provider[toolchain_name]
28
28
  raise "no provider with name \"#{toolchain_name}\" found" unless toolchain
@@ -45,18 +45,39 @@ module Cxxproject
45
45
  create_generic_tasks
46
46
  create_console_colorization
47
47
  create_multitask
48
- create_bail_on_first_task
48
+ create_dont_bail_on_first_task
49
49
  describe_clean_task
50
50
  create_console_task
51
+
52
+ load_nontoolchain_plugins
51
53
  end
52
54
 
53
- def load_cxx_plugins
54
- prefix = 'cxxproject_'
55
- gems_to_load = Gem::Specification.find_all do |gem|
56
- gem.name.index(prefix)
55
+ def find_gems
56
+ latest = Gem::Specification.latest_specs
57
+ latest.select do |gem|
58
+ yield(gem)
57
59
  end
60
+ end
61
+
62
+ def load_toolchain_plugins
63
+ toolchains = find_gems do |gem|
64
+ Regexp.new('cxxproject_(.+)toolchain').match(gem.name)
65
+ end
66
+ load_gems(toolchains)
67
+ end
68
+
69
+ def load_nontoolchain_plugins
70
+ cxx = Regexp.new('cxxproject_(.+)')
71
+ no_toolchain = Regexp.new('.*toolchain.*')
72
+ gems_to_load = find_gems do |gem|
73
+ cxx.match(gem.name) && !(no_toolchain.match(gem.name))
74
+ end
75
+ load_gems(gems_to_load)
76
+ end
77
+
78
+ def load_gems(gems)
58
79
  context = PluginContext.new(self, ALL_BUILDING_BLOCKS, @log)
59
- gems_to_load.each do |gem|
80
+ gems.each do |gem|
60
81
  load_plugin(gem, context)
61
82
  end
62
83
  end
@@ -94,10 +115,10 @@ module Cxxproject
94
115
  Rake::Task[:clean].add_description('clean')
95
116
  end
96
117
 
97
- def create_bail_on_first_task
98
- desc 'set bail on first error'
99
- task :bail_on_first_error do
100
- Rake::Task.bail_on_first_error = true
118
+ def create_dont_bail_on_first_task
119
+ desc 'dont bail on first error'
120
+ task :dont_bail_on_first_error do
121
+ Rake::Task.bail_on_first_error = false
101
122
  end
102
123
  end
103
124
 
@@ -1,7 +1,7 @@
1
1
  module Cxxproject
2
2
  class Version
3
3
  def self.cxxproject
4
- "0.6.6"
4
+ '0.6.9'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: cxxproject
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.6.6
5
+ version: 0.6.9
6
6
  platform: ruby
7
7
  authors:
8
8
  - oliver mueller
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-07-10 00:00:00 Z
13
+ date: 2012-07-11 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: highline
@@ -54,78 +54,78 @@ extensions: []
54
54
  extra_rdoc_files: []
55
55
 
56
56
  files:
57
- - lib/cxxproject.rb
58
- - lib/tools/project_wizard.rb
59
- - lib/cxxproject/context.rb
60
57
  - lib/cxxproject/errorparser/error_parser.rb
58
+ - lib/cxxproject/utils/optional.rb
59
+ - lib/cxxproject/utils/cleanup.rb
60
+ - lib/cxxproject/utils/exit_helper.rb
61
+ - lib/cxxproject/utils/rbcurse_progress.rb
62
+ - lib/cxxproject/utils/process.rb
63
+ - lib/cxxproject/utils/ubigraph.rb
64
+ - lib/cxxproject/utils/printer.rb
65
+ - lib/cxxproject/utils/stats.rb
66
+ - lib/cxxproject/utils/rbcurse.rb
67
+ - lib/cxxproject/utils/progress_helper.rb
68
+ - lib/cxxproject/utils/rbcurse_executable_ext.rb
69
+ - lib/cxxproject/utils/utils.rb
70
+ - lib/cxxproject/utils/rbcurse_tasktable.rb
71
+ - lib/cxxproject/utils/console.rb
72
+ - lib/cxxproject/utils/progress.rb
73
+ - lib/cxxproject/utils/graphstream.rb
74
+ - lib/cxxproject/toolchain/provider.rb
75
+ - lib/cxxproject/toolchain/colorizing_formatter.rb
76
+ - lib/cxxproject/toolchain/toolchain.rb
61
77
  - lib/cxxproject/version.rb
62
- - lib/cxxproject/torake.rb
63
- - lib/cxxproject/plugin_context.rb
64
78
  - lib/cxxproject/ide_interface.rb
65
- - lib/cxxproject/ext/file.rb
66
- - lib/cxxproject/ext/rake_dirty.rb
79
+ - lib/cxxproject/ext/rake_listener.rb
67
80
  - lib/cxxproject/ext/filelist.rb
68
81
  - lib/cxxproject/ext/string.rb
69
- - lib/cxxproject/ext/rake_listener.rb
70
- - lib/cxxproject/ext/stdout.rb
71
82
  - lib/cxxproject/ext/rake.rb
72
83
  - lib/cxxproject/ext/progressbar.rb
84
+ - lib/cxxproject/ext/stdout.rb
85
+ - lib/cxxproject/ext/rake_dirty.rb
86
+ - lib/cxxproject/ext/file.rb
87
+ - lib/cxxproject/context.rb
88
+ - lib/cxxproject/plugin_context.rb
89
+ - lib/cxxproject/torake.rb
90
+ - lib/cxxproject/buildingblocks/building_block.rb
73
91
  - lib/cxxproject/buildingblocks/has_libraries_mixin.rb
74
- - lib/cxxproject/buildingblocks/executable.rb
75
- - lib/cxxproject/buildingblocks/has_includes_mixin.rb
76
- - lib/cxxproject/buildingblocks/has_dependencies_mixin.rb
77
92
  - lib/cxxproject/buildingblocks/custom_building_block.rb
93
+ - lib/cxxproject/buildingblocks/makefile.rb
94
+ - lib/cxxproject/buildingblocks/has_includes_mixin.rb
95
+ - lib/cxxproject/buildingblocks/has_sources_mixin.rb
78
96
  - lib/cxxproject/buildingblocks/binary_library.rb
97
+ - lib/cxxproject/buildingblocks/executable.rb
79
98
  - lib/cxxproject/buildingblocks/module.rb
80
- - lib/cxxproject/buildingblocks/building_block.rb
81
- - lib/cxxproject/buildingblocks/source_library.rb
82
99
  - lib/cxxproject/buildingblocks/single_source.rb
83
- - lib/cxxproject/buildingblocks/makefile.rb
100
+ - lib/cxxproject/buildingblocks/has_dependencies_mixin.rb
101
+ - lib/cxxproject/buildingblocks/source_library.rb
84
102
  - lib/cxxproject/buildingblocks/command_line.rb
85
- - lib/cxxproject/buildingblocks/has_sources_mixin.rb
86
- - lib/cxxproject/utils/rbcurse_progress.rb
87
- - lib/cxxproject/utils/ubigraph.rb
88
- - lib/cxxproject/utils/graphstream.rb
89
- - lib/cxxproject/utils/progress.rb
90
- - lib/cxxproject/utils/stats.rb
91
- - lib/cxxproject/utils/utils.rb
92
- - lib/cxxproject/utils/optional.rb
93
- - lib/cxxproject/utils/console.rb
94
- - lib/cxxproject/utils/progress_helper.rb
95
- - lib/cxxproject/utils/exit_helper.rb
96
- - lib/cxxproject/utils/cleanup.rb
97
- - lib/cxxproject/utils/rbcurse_tasktable.rb
98
- - lib/cxxproject/utils/rbcurse_executable_ext.rb
99
- - lib/cxxproject/utils/rbcurse.rb
100
- - lib/cxxproject/utils/printer.rb
101
- - lib/cxxproject/utils/process.rb
102
- - lib/cxxproject/toolchain/provider.rb
103
- - lib/cxxproject/toolchain/toolchain.rb
104
- - lib/cxxproject/toolchain/colorizing_formatter.rb
105
103
  - lib/cxxproject/eval_context.rb
104
+ - lib/tools/project_wizard.rb
105
+ - lib/cxxproject.rb
106
106
  - Rakefile.rb
107
- - spec/testdata/onlyOneHeader/Rakefile.rb
108
- - spec/testdata/onlyOneHeader/project.rb
109
- - spec/testdata/basic/lib1/project.rb
110
- - spec/testdata/basic/lib2/project.rb
111
- - spec/testdata/basic/exe12/project.rb
112
- - spec/testdata/multiple_levels/mainproject/basic/project.rb
113
- - spec/testdata/multiple_levels/libs/lib1/project.rb
114
- - spec/testdata/multiple_levels/libs/lib2/project.rb
115
107
  - spec/string_spec.rb
116
- - spec/cxxproject_2_rake_spec.rb
117
- - spec/provider_spec.rb
118
108
  - spec/project_path_spec.rb
109
+ - spec/ide_interface_spec.rb
110
+ - spec/spec_helper.rb
111
+ - spec/object_dependency_spec.rb
119
112
  - spec/building_block_spec.rb
113
+ - spec/provider_spec.rb
120
114
  - spec/plugin_context_spec.rb
121
115
  - spec/file_ext_spec.rb
122
- - spec/spec_helper.rb
123
- - spec/ide_interface_spec.rb
124
- - spec/object_dependency_spec.rb
125
- - spec/rake_listener_ext_spec.rb
116
+ - spec/testdata/basic/exe12/project.rb
117
+ - spec/testdata/basic/lib1/project.rb
118
+ - spec/testdata/basic/lib2/project.rb
119
+ - spec/testdata/onlyOneHeader/Rakefile.rb
120
+ - spec/testdata/onlyOneHeader/project.rb
121
+ - spec/testdata/multiple_levels/libs/lib1/project.rb
122
+ - spec/testdata/multiple_levels/libs/lib2/project.rb
123
+ - spec/testdata/multiple_levels/mainproject/basic/project.rb
124
+ - spec/cxxproject_2_rake_spec.rb
126
125
  - spec/toolchain_spec.rb
127
- - lib/tools/project.rb.template
126
+ - spec/rake_listener_ext_spec.rb
128
127
  - lib/tools/Rakefile.rb.template
128
+ - lib/tools/project.rb.template
129
129
  - bin/cxx
130
130
  homepage: https://github.com/marcmo/cxxproject
131
131
  licenses: []
@@ -140,7 +140,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - ">="
142
142
  - !ruby/object:Gem::Version
143
- hash: -4017156678674831276
143
+ hash: -1123746913238393195
144
144
  segments:
145
145
  - 0
146
146
  version: "0"