cxxproject 0.4.6 → 0.5.47
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile.rb +101 -54
- data/bin/cxx +4 -4
- data/lib/cxxproject/buildingblocks/binary_library.rb +32 -9
- data/lib/cxxproject/buildingblocks/building_block.rb +220 -74
- data/lib/cxxproject/buildingblocks/command_line.rb +70 -21
- data/lib/cxxproject/buildingblocks/custom_building_block.rb +33 -9
- data/lib/cxxproject/buildingblocks/executable.rb +228 -33
- data/lib/cxxproject/buildingblocks/has_dependencies_mixin.rb +69 -43
- data/lib/cxxproject/buildingblocks/has_includes_mixin.rb +20 -0
- data/lib/cxxproject/buildingblocks/has_libraries_mixin.rb +29 -30
- data/lib/cxxproject/buildingblocks/has_sources_mixin.rb +343 -64
- data/lib/cxxproject/buildingblocks/makefile.rb +142 -24
- data/lib/cxxproject/buildingblocks/module.rb +27 -6
- data/lib/cxxproject/buildingblocks/single_source.rb +26 -4
- data/lib/cxxproject/buildingblocks/source_library.rb +113 -20
- data/lib/cxxproject/errorparser/diab_compiler_error_parser.rb +40 -0
- data/lib/cxxproject/errorparser/diab_linker_error_parser.rb +33 -0
- data/lib/cxxproject/errorparser/error_parser.rb +50 -0
- data/lib/cxxproject/errorparser/gcc_compiler_error_parser.rb +30 -0
- data/lib/cxxproject/errorparser/gcc_linker_error_parser.rb +29 -0
- data/lib/cxxproject/errorparser/ti_compiler_error_parser.rb +30 -0
- data/lib/cxxproject/errorparser/ti_linker_error_parser.rb +29 -0
- data/lib/cxxproject/eval_context.rb +136 -0
- data/lib/cxxproject/ext/file.rb +71 -0
- data/lib/cxxproject/ext/filelist.rb +6 -0
- data/lib/cxxproject/ext/progressbar.rb +20 -0
- data/lib/cxxproject/ext/rake.rb +397 -0
- data/lib/cxxproject/{extensions/rake_listener_ext.rb → ext/rake_listener.rb} +18 -12
- data/lib/cxxproject/ext/stdout.rb +44 -0
- data/lib/cxxproject/ide_interface.rb +181 -0
- data/lib/cxxproject/toolchain/clang.rb +39 -0
- data/lib/cxxproject/toolchain/colorizing_formatter.rb +99 -0
- data/lib/cxxproject/toolchain/diab.rb +36 -33
- data/lib/cxxproject/toolchain/gcc.rb +16 -8
- data/lib/cxxproject/toolchain/provider.rb +112 -2
- data/lib/cxxproject/toolchain/ti.rb +50 -0
- data/lib/cxxproject/toolchain/toolchain.rb +38 -0
- data/lib/cxxproject/toolchain/toolchain_benchmark.rb +23 -0
- data/lib/cxxproject/torake.rb +181 -123
- data/lib/cxxproject/utils/cleanup.rb +20 -0
- data/lib/cxxproject/utils/console.rb +6 -0
- data/lib/cxxproject/utils/exit_helper.rb +40 -0
- data/lib/cxxproject/utils/graphstream.rb +154 -0
- data/lib/cxxproject/utils/optional.rb +16 -0
- data/lib/cxxproject/utils/printer.rb +50 -0
- data/lib/cxxproject/utils/process.rb +53 -0
- data/lib/cxxproject/utils/progress.rb +66 -0
- data/lib/cxxproject/utils/progress_helper.rb +77 -0
- data/lib/cxxproject/utils/rbcurse.rb +284 -0
- data/lib/cxxproject/utils/rbcurse_executable_ext.rb +14 -0
- data/lib/cxxproject/utils/rbcurse_progress.rb +71 -0
- data/lib/cxxproject/utils/rbcurse_tasktable.rb +51 -0
- data/lib/cxxproject/utils/stats.rb +60 -0
- data/lib/cxxproject/utils/ubigraph.rb +179 -188
- data/lib/cxxproject/utils/utils.rb +29 -25
- data/lib/cxxproject/version.rb +7 -0
- data/lib/cxxproject.rb +13 -7
- data/lib/tools/project_wizard.rb +66 -0
- data/spec/building_block_spec.rb +50 -6
- data/spec/{build_dependencies_spec.rb → cxxproject_2_rake_spec.rb} +82 -65
- data/spec/file_ext_spec.rb +30 -0
- data/spec/ide_interface_spec.rb +41 -0
- data/spec/object_dependency_spec.rb +83 -0
- data/spec/project_path_spec.rb +14 -16
- data/spec/rake_listener_ext_spec.rb +38 -5
- data/spec/spec_helper.rb +18 -0
- data/spec/testdata/basic/lib2/project.rb +1 -1
- data/spec/testdata/multiple_levels/libs/lib2/project.rb +1 -1
- data/spec/toolchain_spec.rb +29 -0
- metadata +91 -58
- data/lib/cxxproject/extensions/file_ext.rb +0 -47
- data/lib/cxxproject/extensions/rake_ext.rb +0 -158
- data/lib/cxxproject/extensions/stdout_ext.rb +0 -35
- data/lib/cxxproject/task_maker.rb +0 -418
- data/lib/cxxproject/testinstanceeval.rb +0 -65
- data/lib/cxxproject/toolchain/base.rb +0 -98
- data/lib/cxxproject/torake/compiler.rb +0 -10
- data/lib/cxxproject/torake/gcccompiler.rb +0 -7
- data/lib/cxxproject/torake/osxcompiler.rb +0 -7
- data/lib/cxxproject/utils/dot/building_block_graph_writer.rb +0 -19
- data/lib/cxxproject/utils/dot/graph_writer.rb +0 -53
- data/lib/cxxproject/utils/dot/task_graph_writer.rb +0 -34
- data/lib/tools/projectWizard.rb +0 -44
- data/spec/dir_spec.rb +0 -13
- /data/lib/cxxproject/{extensions/rake_dirty_ext.rb → ext/rake_dirty.rb} +0 -0
- /data/lib/cxxproject/{extensions/string_ext.rb → ext/string.rb} +0 -0
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'cxxproject/utils/dot/graph_writer'
|
2
|
-
|
3
|
-
class TaskGraphWriter < GraphWriter
|
4
|
-
|
5
|
-
def write_graph(filename,startNodes,detailTasks = false)
|
6
|
-
@detailTasks = detailTasks ? GraphWriter::DETAIL : GraphWriter::YES
|
7
|
-
super(filename,startNodes)
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
def get_deps(node)
|
13
|
-
deps = []
|
14
|
-
if node.showInGraph == GraphWriter::YES
|
15
|
-
node.prerequisites.each do |p|
|
16
|
-
task = Rake.application.lookup(p)
|
17
|
-
if (task)
|
18
|
-
next if task.showInGraph < @detailTasks
|
19
|
-
deps << task
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
deps
|
24
|
-
end
|
25
|
-
|
26
|
-
def write_node(node)
|
27
|
-
@dotFile.write(" \"#{node.name}\"\n")
|
28
|
-
end
|
29
|
-
|
30
|
-
def write_transition(node, dep)
|
31
|
-
@dotFile.write(" \"#{node.name}\" -> \"#{dep.name}\"\n")
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
data/lib/tools/projectWizard.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'rake'
|
2
|
-
require 'erb'
|
3
|
-
|
4
|
-
def prepare_project(d)
|
5
|
-
require 'highline/import'
|
6
|
-
if agree("This will create a new cxx-project config in dir \"#{d}\" \nAre you sure you want to continue? [yn] ")
|
7
|
-
bb = nil
|
8
|
-
choose do |menu|
|
9
|
-
menu.prompt = "what building block do you want to start with?"
|
10
|
-
|
11
|
-
menu.choice(:exe) { bb = "exe" }
|
12
|
-
menu.choices(:lib) { bb = "source_lib" }
|
13
|
-
end
|
14
|
-
|
15
|
-
create_project(d, bb)
|
16
|
-
else
|
17
|
-
say "stopped project creation"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def create_project(d, bb)
|
22
|
-
rakefile_template = File.join(File.dirname(__FILE__),"..","tools","Rakefile.rb.template")
|
23
|
-
projectrb_template = File.join(File.dirname(__FILE__),"..","tools","project.rb.template")
|
24
|
-
s1 = IO.read(rakefile_template)
|
25
|
-
s2 = IO.read(projectrb_template)
|
26
|
-
name = "testme"
|
27
|
-
building_block = bb
|
28
|
-
template1 = ERB.new s1
|
29
|
-
template2 = ERB.new s2
|
30
|
-
mkdir_p(d, :verbose => false)
|
31
|
-
cd(d,:verbose => false) do
|
32
|
-
if ((File.exists? "Rakefile.rb") || (File.exists? "project.rb"))
|
33
|
-
abort "cannot create project in this directory, existing files would be overwritten!"
|
34
|
-
end
|
35
|
-
File.open("Rakefile.rb", 'w') do |f|
|
36
|
-
f.write template1.result(binding)
|
37
|
-
end
|
38
|
-
File.open("project.rb", 'w') do |f|
|
39
|
-
f.write template2.result(binding)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
|
data/spec/dir_spec.rb
DELETED
File without changes
|
File without changes
|