Module: Cxxproject
- Includes:
- Utils
- Defined in:
- lib/cxxproject/buildingblocks/module.rb,
lib/cxxproject/context.rb,
lib/cxxproject/version.rb,
lib/cxxproject/ext/rake.rb,
lib/cxxproject/utils/utils.rb,
lib/cxxproject/ide_interface.rb,
lib/cxxproject/utils/cleanup.rb,
lib/cxxproject/utils/printer.rb,
lib/cxxproject/plugin_context.rb,
lib/cxxproject/utils/optional.rb,
lib/cxxproject/utils/exit_helper.rb,
lib/cxxproject/utils/graphstream.rb,
lib/cxxproject/toolchain/provider.rb,
lib/cxxproject/utils/rbcurse_progress.rb,
lib/cxxproject/buildingblocks/linkable.rb,
lib/cxxproject/buildingblocks/makefile.rb,
lib/cxxproject/utils/rbcurse_tasktable.rb,
lib/cxxproject/errorparser/error_parser.rb,
lib/cxxproject/buildingblocks/command_line.rb,
lib/cxxproject/buildingblocks/single_source.rb,
lib/cxxproject/utils/rbcurse_executable_ext.rb,
lib/cxxproject/buildingblocks/binary_library.rb,
lib/cxxproject/buildingblocks/building_block.rb,
lib/cxxproject/buildingblocks/static_library.rb,
lib/cxxproject/toolchain/colorizing_formatter.rb,
lib/cxxproject/buildingblocks/has_sources_mixin.rb,
lib/cxxproject/buildingblocks/has_includes_mixin.rb,
lib/cxxproject/buildingblocks/shared_libs_helper.rb,
lib/cxxproject/buildingblocks/has_libraries_mixin.rb,
lib/cxxproject/buildingblocks/custom_building_block.rb,
lib/cxxproject/buildingblocks/has_dependencies_mixin.rb
Overview
todo...
Defined Under Namespace
Modules: Context, HasDependencies, HasIncludes, HasLibraries, HasSources, SingleSourceModule, Toolchain, Utils Classes: BinaryLibrary, BuildingBlock, ColorizingFormatter, CommandLine, CustomBuildingBlock, ErrorDesc, ErrorParser, Executable, ExitHelper, ExitHelperException, IDEInterface, Linkable, Makefile, ModuleBuildingBlock, OsxSharedLibs, PluginContext, Printer, SharedLibrary, SharedLibsHelper, SingleSource, StaticLibrary, SystemCommandFailed, UnixSharedLibs, Version
Constant Summary collapse
- VERSION =
'0.6.31'- ALL_BUILDING_BLOCKS =
stores all defined buildingblocks by name (the name should be unique)
{}
Class Method Summary collapse
- .add_unique(res, bb) ⇒ Object
- .find_by_tag(tag) ⇒ Object
- .resolve_by_name(name) ⇒ Object
- .sorted_building_blocks ⇒ Object
Methods included from Utils
cleanup_rake, deep_copy, old_ruby?, optional_package
Class Method Details
.add_unique(res, bb) ⇒ Object
33 34 35 36 |
# File 'lib/cxxproject/buildingblocks/building_block.rb', line 33 def self.add_unique(res, bb) res.delete(bb) res.push(bb) end |
.find_by_tag(tag) ⇒ Object
38 39 40 |
# File 'lib/cxxproject/buildingblocks/building_block.rb', line 38 def self.find_by_tag(tag) ALL_BUILDING_BLOCKS.values.find_all{|o|o..include?(tag)} end |
.resolve_by_name(name) ⇒ Object
27 28 29 30 31 |
# File 'lib/cxxproject/buildingblocks/building_block.rb', line 27 def self.resolve_by_name(name) res = ALL_BUILDING_BLOCKS[name] raise "BuildingBlock #{name} not defined" unless res res end |
.sorted_building_blocks ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/cxxproject/buildingblocks/building_block.rb', line 16 def self.sorted_building_blocks todo = ALL_BUILDING_BLOCKS.keys.dup res = [] while not todo.empty? bb = resolve_by_name(todo.pop) add_unique(res, bb) todo += bb.dependencies end return res.reverse end |