build-tool 0.0.3 → 0.1.0
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.
- data.tar.gz.sig +0 -0
 - data/History.txt +28 -1
 - data/Manifest.txt +91 -52
 - data/README.txt +63 -0
 - data/Rakefile +20 -23
 - data/bin/build-tool +53 -0
 - data/lib/build-tool.rb +7 -0
 - data/lib/build-tool/GUI.rb +360 -0
 - data/lib/build-tool/application.rb +84 -0
 - data/lib/build-tool/build-system/autoconf.rb +60 -0
 - data/lib/build-tool/build-system/base.rb +142 -0
 - data/lib/build-tool/build-system/cmake.rb +119 -0
 - data/lib/build-tool/build-system/custom.rb +115 -0
 - data/lib/build-tool/build-system/qt.rb +113 -0
 - data/lib/build-tool/cfg/lexer.rb +558 -0
 - data/lib/build-tool/cfg/lexer.rex +248 -0
 - data/lib/build-tool/cfg/lexer_base.rb +82 -0
 - data/lib/build-tool/cfg/node.rb +94 -0
 - data/lib/build-tool/cfg/parser.rb +871 -0
 - data/lib/build-tool/cfg/parser.y +279 -0
 - data/lib/build-tool/cfg/visitor.rb +471 -0
 - data/lib/build-tool/commands.rb +639 -0
 - data/lib/build-tool/commands/build.rb +120 -0
 - data/lib/build-tool/commands/configure.rb +73 -0
 - data/lib/build-tool/commands/ctags.rb +46 -0
 - data/lib/build-tool/commands/environments.rb +29 -0
 - data/lib/build-tool/commands/environments/list.rb +37 -0
 - data/lib/build-tool/commands/environments/set.rb +33 -0
 - data/lib/build-tool/commands/fetch.rb +50 -0
 - data/lib/build-tool/commands/files.rb +73 -0
 - data/lib/build-tool/commands/help.rb +22 -0
 - data/lib/build-tool/commands/info.rb +48 -0
 - data/lib/build-tool/commands/install.rb +56 -0
 - data/lib/build-tool/commands/modules.rb +29 -0
 - data/lib/build-tool/commands/modules/info.rb +75 -0
 - data/lib/build-tool/commands/modules/list.rb +49 -0
 - data/lib/build-tool/commands/modules/shell.rb +40 -0
 - data/lib/build-tool/commands/rebase.rb +46 -0
 - data/lib/build-tool/commands/recipes.rb +32 -0
 - data/lib/build-tool/commands/recipes/info.rb +46 -0
 - data/lib/build-tool/commands/recipes/install.rb +184 -0
 - data/lib/build-tool/commands/recipes/list.rb +33 -0
 - data/lib/build-tool/configuration.rb +115 -0
 - data/lib/build-tool/environment.rb +119 -0
 - data/lib/build-tool/errors.rb +9 -0
 - data/lib/build-tool/module.rb +366 -0
 - data/lib/build-tool/pluginbase.rb +43 -0
 - data/lib/build-tool/recipe.rb +180 -0
 - data/lib/build-tool/repository.rb +59 -0
 - data/lib/build-tool/server.rb +43 -0
 - data/lib/build-tool/singleton.rb +50 -0
 - data/lib/build-tool/sshkey.rb +22 -0
 - data/lib/build-tool/vcs/base.rb +105 -0
 - data/lib/build-tool/vcs/git-svn.rb +154 -0
 - data/lib/build-tool/vcs/git.rb +187 -0
 - data/lib/build-tool/vcs/svn.rb +136 -0
 - data/lib/mj/logging.rb +31 -0
 - data/lib/mj/tools/ssh.rb +64 -0
 - data/lib/{kde-build → mj/tools}/subprocess.rb +21 -16
 - data/lib/mj/visitor.rb +21 -0
 - data/recipes/kde/files/finish_installation.sh +16 -0
 - data/recipes/kde/files/kde4.desktop +22 -0
 - data/recipes/kde/files/xsession +89 -0
 - data/recipes/kde/info.yaml +10 -0
 - data/recipes/kde/recipe +585 -0
 - data/recipes/kde/recipe-local +90 -0
 - data/recipes/kde/settings.yaml +52 -0
 - data/recipes/kde43/info.yaml +10 -0
 - data/recipes/kde43/recipe +256 -0
 - data/recipes/kde43/recipe-local +90 -0
 - data/recipes/kde43/settings.yaml +32 -0
 - data/recipes/kdeqt4.6/custom/qt/qtscriptgenerator/compile.sh +77 -0
 - data/recipes/kdeqt4.6/custom/qt/qtscriptgenerator/configure.sh +70 -0
 - data/recipes/kdeqt4.6/custom/qt/qtscriptgenerator/install.sh +39 -0
 - data/recipes/kdeqt4.6/info.yaml +7 -0
 - data/recipes/kdeqt4.6/recipe +155 -0
 - data/recipes/kdeqt4.6/recipe-local +30 -0
 - data/recipes/kdeqt4.6/settings.yaml +27 -0
 - data/tags +745 -0
 - data/tasks/genfiles.rake +28 -0
 - data/tasks/rdoc.rake +34 -0
 - data/tasks/rspec.rake +21 -0
 - data/test.rb +28 -0
 - data/test/commands/test_build.rb +29 -0
 - data/test/test_build_system.rb +98 -0
 - data/test/test_cli.rb +61 -0
 - data/test/test_command.rb +175 -0
 - data/test/test_configuration_parser.rb +542 -0
 - data/test/test_environment.rb +82 -0
 - data/test/test_helper.rb +39 -7
 - data/test/test_module.rb +158 -0
 - data/test/test_repository.rb +75 -0
 - data/test/test_singleton.rb +51 -0
 - data/test/test_ssh_key.rb +14 -0
 - data/test/test_svn_parser.rb +28 -0
 - data/test/test_vcs.rb +33 -0
 - metadata +139 -90
 - metadata.gz.sig +0 -0
 - data/PostInstall.txt +0 -3
 - data/TODO +0 -2
 - data/bin/kde-build.rb +0 -21
 - data/config/website.yml +0 -2
 - data/config/website.yml.sample +0 -2
 - data/lib/kde-build.rb +0 -18
 - data/lib/kde-build/application.rb +0 -270
 - data/lib/kde-build/build_system.rb +0 -28
 - data/lib/kde-build/build_system/autoconf.rb +0 -108
 - data/lib/kde-build/build_system/base.rb +0 -139
 - data/lib/kde-build/build_system/cmake.rb +0 -94
 - data/lib/kde-build/build_system/qtcopy.rb +0 -127
 - data/lib/kde-build/command.rb +0 -42
 - data/lib/kde-build/command/build.rb +0 -106
 - data/lib/kde-build/command/compile.rb +0 -39
 - data/lib/kde-build/command/configure.rb +0 -48
 - data/lib/kde-build/command/ctags.rb +0 -41
 - data/lib/kde-build/command/fetch.rb +0 -33
 - data/lib/kde-build/command/help.rb +0 -71
 - data/lib/kde-build/command/info.rb +0 -45
 - data/lib/kde-build/command/install.rb +0 -39
 - data/lib/kde-build/command/module_based.rb +0 -44
 - data/lib/kde-build/command/rebase.rb +0 -50
 - data/lib/kde-build/command/version.rb +0 -43
 - data/lib/kde-build/configuration.rb +0 -209
 - data/lib/kde-build/exception.rb +0 -6
 - data/lib/kde-build/metaaid.rb +0 -18
 - data/lib/kde-build/module.rb +0 -227
 - data/lib/kde-build/module_configuration.rb +0 -107
 - data/lib/kde-build/moduleregistry.rb +0 -85
 - data/lib/kde-build/tools/ctags.rb +0 -59
 - data/lib/kde-build/tools/logging.rb +0 -49
 - data/lib/kde-build/tools/make.rb +0 -58
 - data/lib/kde-build/tools/ssh.rb +0 -47
 - data/lib/kde-build/vcs.rb +0 -28
 - data/lib/kde-build/vcs/base.rb +0 -85
 - data/lib/kde-build/vcs/git-svn.rb +0 -139
 - data/lib/kde-build/vcs/git.rb +0 -121
 - data/lib/kde-build/vcs/svn.rb +0 -102
 - data/script/console +0 -10
 - data/script/destroy +0 -14
 - data/script/generate +0 -14
 - data/script/txt2html +0 -71
 - data/test.yaml.tmpl +0 -632
 - data/test/test_kde-build.rb +0 -11
 - data/test/test_vcs_svn.rb +0 -44
 - data/website/index.html +0 -84
 - data/website/index.txt +0 -59
 - data/website/javascripts/rounded_corners_lite.inc.js +0 -285
 - data/website/stylesheets/screen.css +0 -159
 - data/website/template.html.erb +0 -50
 
| 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/application'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module BuildTool; module Commands;
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                #
         
     | 
| 
      
 7 
     | 
    
         
            +
                # Help command
         
     | 
| 
      
 8 
     | 
    
         
            +
                #
         
     | 
| 
      
 9 
     | 
    
         
            +
                class Help < Standard
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    name        "help"
         
     | 
| 
      
 12 
     | 
    
         
            +
                    description "print this help text"
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    def do_execute( args )
         
     | 
| 
      
 15 
     | 
    
         
            +
                        return Application::instance.cli.show_help( args )
         
     | 
| 
      
 16 
     | 
    
         
            +
                    end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                end # class Help
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            end; # module Help
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            end; # module BuildTool
         
     | 
| 
         @@ -0,0 +1,48 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BuildTool; module Commands;
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                #
         
     | 
| 
      
 6 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                class Info < Standard
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    name        "info"
         
     | 
| 
      
 11 
     | 
    
         
            +
                    description "show info"
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                    def initialize_options
         
     | 
| 
      
 14 
     | 
    
         
            +
                        super
         
     | 
| 
      
 15 
     | 
    
         
            +
                    end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    def applicable?
         
     | 
| 
      
 18 
     | 
    
         
            +
                        BuildTool::Application.instance.name != "build-tool"
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                    def do_execute( args )
         
     | 
| 
      
 22 
     | 
    
         
            +
                        if args.length != 0
         
     | 
| 
      
 23 
     | 
    
         
            +
                            # *TODO* print better message
         
     | 
| 
      
 24 
     | 
    
         
            +
                            logger.warn "Arguments ignored."
         
     | 
| 
      
 25 
     | 
    
         
            +
                        end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                        recipe = configuration.recipe
         
     | 
| 
      
 28 
     | 
    
         
            +
                        say "Recipe"
         
     | 
| 
      
 29 
     | 
    
         
            +
                        say "------"
         
     | 
| 
      
 30 
     | 
    
         
            +
                        say "Name:      #{recipe.name}"
         
     | 
| 
      
 31 
     | 
    
         
            +
                        say "Short:     #{recipe.short_description}"
         
     | 
| 
      
 32 
     | 
    
         
            +
                        say "Long:      #{recipe.long_description}"
         
     | 
| 
      
 33 
     | 
    
         
            +
                        say "Full Path: #{recipe.global_config_file_path('recipe')}"
         
     | 
| 
      
 34 
     | 
    
         
            +
                        say ""
         
     | 
| 
      
 35 
     | 
    
         
            +
                        say "Configuration"
         
     | 
| 
      
 36 
     | 
    
         
            +
                        say "-------------"
         
     | 
| 
      
 37 
     | 
    
         
            +
                        say "Settings:  #{ Application::instance.local_settings_file_path }"
         
     | 
| 
      
 38 
     | 
    
         
            +
                        say "Overrides: #{ recipe.local_config_file_path( 'recipe' ) }"
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                        return 0
         
     | 
| 
      
 41 
     | 
    
         
            +
                    end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                end # class Info
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            end; end # module BuildTool::Commands
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,56 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/application'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module BuildTool; module Commands;
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                class CtagsError < BuildTool::Error; end
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 9 
     | 
    
         
            +
                #
         
     | 
| 
      
 10 
     | 
    
         
            +
                class Install < ModuleBasedCommand
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                    include MJ::Tools::SubProcess
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    name        "install"
         
     | 
| 
      
 15 
     | 
    
         
            +
                    description "install the module"
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    def initialize_options
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                        @fast        = false
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                        options.on( "--fast", "Fast install. No compile (if supported)" ) { |t|
         
     | 
| 
      
 22 
     | 
    
         
            +
                            @fast = t
         
     | 
| 
      
 23 
     | 
    
         
            +
                            }
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                        super
         
     | 
| 
      
 26 
     | 
    
         
            +
                    end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                    def applicable?
         
     | 
| 
      
 29 
     | 
    
         
            +
                        BuildTool::Application.instance.name != "build-tool"
         
     | 
| 
      
 30 
     | 
    
         
            +
                    end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                    def is_module_ready?( mod )
         
     | 
| 
      
 33 
     | 
    
         
            +
                        isready = true
         
     | 
| 
      
 34 
     | 
    
         
            +
                        if !mod.checkedout?
         
     | 
| 
      
 35 
     | 
    
         
            +
                            logger.warn "#{mod.name}: module not checked out -> skipping."
         
     | 
| 
      
 36 
     | 
    
         
            +
                        end
         
     | 
| 
      
 37 
     | 
    
         
            +
                        return isready
         
     | 
| 
      
 38 
     | 
    
         
            +
                    end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                    def do_execute_module( mod )
         
     | 
| 
      
 42 
     | 
    
         
            +
                        if mod.checkedout?
         
     | 
| 
      
 43 
     | 
    
         
            +
                            mod.install( @log_directory, @fast )
         
     | 
| 
      
 44 
     | 
    
         
            +
                        else
         
     | 
| 
      
 45 
     | 
    
         
            +
                            logger.info "Not checked out. Skipping"
         
     | 
| 
      
 46 
     | 
    
         
            +
                        end
         
     | 
| 
      
 47 
     | 
    
         
            +
                    end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                end # class Build
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            end; end # module BuildTool::Commands
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,29 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BuildTool; module Commands; module Modules
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                class CLI < Commands::SubCommands
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                    name        "modules"
         
     | 
| 
      
 8 
     | 
    
         
            +
                    description "Module related commands."
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    def initialize_options
         
     | 
| 
      
 11 
     | 
    
         
            +
                        super
         
     | 
| 
      
 12 
     | 
    
         
            +
                    end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    def applicable?
         
     | 
| 
      
 15 
     | 
    
         
            +
                        BuildTool::Application.instance.name != "build-tool"
         
     | 
| 
      
 16 
     | 
    
         
            +
                    end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                    def do_execute
         
     | 
| 
      
 19 
     | 
    
         
            +
                        raise NotImplementedError
         
     | 
| 
      
 20 
     | 
    
         
            +
                    end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                end # class CLI
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                def self.create( *args )
         
     | 
| 
      
 25 
     | 
    
         
            +
                    cmd = CLI.new( *args )
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            end; end; end # module BuildTool::Commands::Modules
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,75 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BuildTool; module Commands; module Modules
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                #
         
     | 
| 
      
 6 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                class Info < ModuleBasedCommand
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    name        "info"
         
     | 
| 
      
 11 
     | 
    
         
            +
                    description "show detailed information about modules."
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                    def do_execute_module( mod )
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                        if mod.repository
         
     | 
| 
      
 16 
     | 
    
         
            +
                            say "Repository:        #{mod.repository.url}/#{mod.remote_path}"
         
     | 
| 
      
 17 
     | 
    
         
            +
                            if mod.repository.sshkey
         
     | 
| 
      
 18 
     | 
    
         
            +
                                say "  SSH Key:         '#{mod.repository.sshkey.name}' (#{mod.repository.sshkey.file})"
         
     | 
| 
      
 19 
     | 
    
         
            +
                            end
         
     | 
| 
      
 20 
     | 
    
         
            +
                        else
         
     | 
| 
      
 21 
     | 
    
         
            +
                            say "Repository:        not configured"
         
     | 
| 
      
 22 
     | 
    
         
            +
                        end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                        if mod.build_prefix
         
     | 
| 
      
 25 
     | 
    
         
            +
                            say "Local Checkout:    #{mod.vcs.local_path} #{mod.checkedout? ? '(EXISTS)' : '(TODO)' }"
         
     | 
| 
      
 26 
     | 
    
         
            +
                            say "Build Directory    #{mod.build_directory} #{mod.configured? ? '(CONFIGURED)' : '(TODO)' }"
         
     | 
| 
      
 27 
     | 
    
         
            +
                        else
         
     | 
| 
      
 28 
     | 
    
         
            +
                            say "Local Checkout:    build-prefix not configured"
         
     | 
| 
      
 29 
     | 
    
         
            +
                            say "Local Checkout:    build-prefix not configured"
         
     | 
| 
      
 30 
     | 
    
         
            +
                        end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                        say "Prefix:            #{mod.install_prefix.to_s}"
         
     | 
| 
      
 33 
     | 
    
         
            +
                        if mod.environment
         
     | 
| 
      
 34 
     | 
    
         
            +
                            say "Environment:"
         
     | 
| 
      
 35 
     | 
    
         
            +
                            mod.environment.vars.sort.each do |var|
         
     | 
| 
      
 36 
     | 
    
         
            +
                                say "  %-20s %s" % [ var + ":", mod.environment[var] ]
         
     | 
| 
      
 37 
     | 
    
         
            +
                            end
         
     | 
| 
      
 38 
     | 
    
         
            +
                        else
         
     | 
| 
      
 39 
     | 
    
         
            +
                            say "Environment:       Not configured"
         
     | 
| 
      
 40 
     | 
    
         
            +
                        end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                        say "VCS: #{mod.vcs_configuration ? mod.vcs_configuration.name : 'not configured' }"
         
     | 
| 
      
 43 
     | 
    
         
            +
                        if mod.vcs_configuration
         
     | 
| 
      
 44 
     | 
    
         
            +
                            case mod.vcs_configuration.name
         
     | 
| 
      
 45 
     | 
    
         
            +
                            when 'svn'
         
     | 
| 
      
 46 
     | 
    
         
            +
                            when 'git'
         
     | 
| 
      
 47 
     | 
    
         
            +
                                say "  Remote:       %s -> %s" % [ "origin", mod.vcs_configuration.repository.url ]
         
     | 
| 
      
 48 
     | 
    
         
            +
                                mod.vcs_configuration.remote.each do |key, val|
         
     | 
| 
      
 49 
     | 
    
         
            +
                                    say "  Remote:       %s -> %s" % [ key, val.url ]
         
     | 
| 
      
 50 
     | 
    
         
            +
                                end
         
     | 
| 
      
 51 
     | 
    
         
            +
                            when 'git-svn'
         
     | 
| 
      
 52 
     | 
    
         
            +
                                mod.vcs_configuration.externals.each do |key, val|
         
     | 
| 
      
 53 
     | 
    
         
            +
                                    say "  External:            #{key} -> #{val}"
         
     | 
| 
      
 54 
     | 
    
         
            +
                                end
         
     | 
| 
      
 55 
     | 
    
         
            +
                            else
         
     | 
| 
      
 56 
     | 
    
         
            +
                                logger.warn "Unknown vcs #{mod.vcs_configuration.name}"
         
     | 
| 
      
 57 
     | 
    
         
            +
                            end
         
     | 
| 
      
 58 
     | 
    
         
            +
                            say "  Track branch: #{mod.vcs_configuration.track_remote}/#{mod.vcs_configuration.track_branch}"
         
     | 
| 
      
 59 
     | 
    
         
            +
                        end # if mod.vcs_configuration
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
                        bs = mod.build_system
         
     | 
| 
      
 62 
     | 
    
         
            +
                        say "Build System:               #{bs.name}"
         
     | 
| 
      
 63 
     | 
    
         
            +
                        say "  Out Of Source Build       #{bs.out_of_source}"
         
     | 
| 
      
 64 
     | 
    
         
            +
                        bs.options.sort.each do |var|
         
     | 
| 
      
 65 
     | 
    
         
            +
                            say "  %-25s %s" % [ var + ":", bs[var] ]
         
     | 
| 
      
 66 
     | 
    
         
            +
                        end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
                        return 0
         
     | 
| 
      
 69 
     | 
    
         
            +
                    end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                end # class Info
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
            end; end; end # module BuildTool::Commands::Modules
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,49 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BuildTool; module Commands; module Modules
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                #
         
     | 
| 
      
 6 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                class List < Standard
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    name        "list"
         
     | 
| 
      
 11 
     | 
    
         
            +
                    description "list modules"
         
     | 
| 
      
 12 
     | 
    
         
            +
                    cmdalias    "lsmods"
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    def initialize_options
         
     | 
| 
      
 15 
     | 
    
         
            +
                        @all = false
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                        options.on( "--all", "Include template modules" ) {
         
     | 
| 
      
 18 
     | 
    
         
            +
                            @all = true
         
     | 
| 
      
 19 
     | 
    
         
            +
                            }
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                        super
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                    end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                    def do_execute( args )
         
     | 
| 
      
 26 
     | 
    
         
            +
                        # *TODO* listing local and remote recipes
         
     | 
| 
      
 27 
     | 
    
         
            +
                        if args.length == 0
         
     | 
| 
      
 28 
     | 
    
         
            +
                            configuration.modules.each do |mod|
         
     | 
| 
      
 29 
     | 
    
         
            +
                                if @all or not mod.is_template?
         
     | 
| 
      
 30 
     | 
    
         
            +
                                    say "%-30s : %s" % [ mod.name, mod.description ]
         
     | 
| 
      
 31 
     | 
    
         
            +
                                end
         
     | 
| 
      
 32 
     | 
    
         
            +
                            end
         
     | 
| 
      
 33 
     | 
    
         
            +
                        else
         
     | 
| 
      
 34 
     | 
    
         
            +
                            args.each do |arg|
         
     | 
| 
      
 35 
     | 
    
         
            +
                                mods = complete_modules( arg, @all )
         
     | 
| 
      
 36 
     | 
    
         
            +
                                next if !mods
         
     | 
| 
      
 37 
     | 
    
         
            +
                                mods.each do |mod|
         
     | 
| 
      
 38 
     | 
    
         
            +
                                    say "%-30s : %s" % [ mod.name, mod.description ]
         
     | 
| 
      
 39 
     | 
    
         
            +
                                end
         
     | 
| 
      
 40 
     | 
    
         
            +
                            end
         
     | 
| 
      
 41 
     | 
    
         
            +
                        end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                        return 0
         
     | 
| 
      
 44 
     | 
    
         
            +
                    end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                end # class
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            end; end; end # module BuildTool::Commands::Modules
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,40 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BuildTool; module Commands; module Modules
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                #
         
     | 
| 
      
 6 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                class Shell < Standard
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    include MJ::Tools::SubProcess
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                    name        "shell"
         
     | 
| 
      
 13 
     | 
    
         
            +
                    description "open a shell having the modules environment."
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                    def initialize_options
         
     | 
| 
      
 16 
     | 
    
         
            +
                        super
         
     | 
| 
      
 17 
     | 
    
         
            +
                    end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                    def do_execute( args )
         
     | 
| 
      
 20 
     | 
    
         
            +
                        # Check the number of commandline args
         
     | 
| 
      
 21 
     | 
    
         
            +
                        if args.length != 1
         
     | 
| 
      
 22 
     | 
    
         
            +
                            return usage( "Wrong number of arguments" )
         
     | 
| 
      
 23 
     | 
    
         
            +
                        end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                        # Translate argument into modules
         
     | 
| 
      
 26 
     | 
    
         
            +
                        mod = complete_modules( args[0] )
         
     | 
| 
      
 27 
     | 
    
         
            +
                        if mod.length != 1
         
     | 
| 
      
 28 
     | 
    
         
            +
                            return usage( "This command only works on one module" )
         
     | 
| 
      
 29 
     | 
    
         
            +
                        end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                        # Get our one and only module
         
     | 
| 
      
 32 
     | 
    
         
            +
                        mod[0].environment.shell
         
     | 
| 
      
 33 
     | 
    
         
            +
                    end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                end # class Shell
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            end; end; end # module BuildTool::Commands::Modules
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,46 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/application'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module BuildTool; module Commands;
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                class CtagsError < BuildTool::Error; end
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 9 
     | 
    
         
            +
                #
         
     | 
| 
      
 10 
     | 
    
         
            +
                class Rebase < ModuleBasedCommand
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                    include MJ::Tools::SubProcess
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    name        "rebase"
         
     | 
| 
      
 15 
     | 
    
         
            +
                    description "rebase local checkout against previously fetched remote changes."
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    def applicable?
         
     | 
| 
      
 18 
     | 
    
         
            +
                        BuildTool::Application.instance.name != "build-tool"
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                    def is_module_ready?( mod )
         
     | 
| 
      
 22 
     | 
    
         
            +
                        isready = true
         
     | 
| 
      
 23 
     | 
    
         
            +
                        if !mod.checkedout?
         
     | 
| 
      
 24 
     | 
    
         
            +
                            logger.warn "#{mod.name}: module not checked out -> skipping."
         
     | 
| 
      
 25 
     | 
    
         
            +
                        end
         
     | 
| 
      
 26 
     | 
    
         
            +
                        if !mod.vcs.fetching_supported?
         
     | 
| 
      
 27 
     | 
    
         
            +
                            logger.warn "#{mod.name}: fetching not support by #{mod.vcs.name} -> will have no effect."
         
     | 
| 
      
 28 
     | 
    
         
            +
                        end
         
     | 
| 
      
 29 
     | 
    
         
            +
                        return isready
         
     | 
| 
      
 30 
     | 
    
         
            +
                    end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                    def do_execute_module( mod )
         
     | 
| 
      
 34 
     | 
    
         
            +
                        if mod.checkedout?
         
     | 
| 
      
 35 
     | 
    
         
            +
                            mod.rebase( @log_directory )
         
     | 
| 
      
 36 
     | 
    
         
            +
                        else
         
     | 
| 
      
 37 
     | 
    
         
            +
                            logger.info "Not checked out. Skipping"
         
     | 
| 
      
 38 
     | 
    
         
            +
                        end
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                end # class Build
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            end; end # module BuildTool::Commands
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module BuildTool; module Commands; module Recipes
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                #
         
     | 
| 
      
 6 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 7 
     | 
    
         
            +
                #
         
     | 
| 
      
 8 
     | 
    
         
            +
                class CLI < Commands::SubCommands
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    name        "recipes"
         
     | 
| 
      
 11 
     | 
    
         
            +
                    description "build recipe related commands"
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                    def initialize_options
         
     | 
| 
      
 14 
     | 
    
         
            +
                        super
         
     | 
| 
      
 15 
     | 
    
         
            +
                    end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                    def applicable?
         
     | 
| 
      
 18 
     | 
    
         
            +
                        BuildTool::Application.instance.name == "build-tool"
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                    def do_execute
         
     | 
| 
      
 22 
     | 
    
         
            +
                        raise NotImplementedError
         
     | 
| 
      
 23 
     | 
    
         
            +
                    end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                end # class CLI
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                def self.create( *args )
         
     | 
| 
      
 28 
     | 
    
         
            +
                    cmd = CLI.new( *args )
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            end; end; end # module BuildTool::Commands::Recipes
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,46 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'build-tool/commands'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'build-tool/recipe'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            module BuildTool; module Commands; module Recipes
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                #
         
     | 
| 
      
 7 
     | 
    
         
            +
                # BuildCommand
         
     | 
| 
      
 8 
     | 
    
         
            +
                #
         
     | 
| 
      
 9 
     | 
    
         
            +
                class Info < Standard
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    name        "info"
         
     | 
| 
      
 12 
     | 
    
         
            +
                    description "show information about a module."
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    def initialize_options
         
     | 
| 
      
 15 
     | 
    
         
            +
                        super
         
     | 
| 
      
 16 
     | 
    
         
            +
                    end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                    def do_execute( args )
         
     | 
| 
      
 19 
     | 
    
         
            +
                        if ( args.length != 1 )
         
     | 
| 
      
 20 
     | 
    
         
            +
                            return usage( args.length == 0 ?  "Not enough arguments" : "To many arguments" )
         
     | 
| 
      
 21 
     | 
    
         
            +
                        end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                        rec = Recipe.new( args[0] )
         
     | 
| 
      
 24 
     | 
    
         
            +
                        say "Description: #{rec.short_description}"
         
     | 
| 
      
 25 
     | 
    
         
            +
                        say "Website: #{rec.website}" if rec.website
         
     | 
| 
      
 26 
     | 
    
         
            +
                        say "Repository: #{rec.repository}" if rec.repository
         
     | 
| 
      
 27 
     | 
    
         
            +
                        say "Browse Repository: #{rec.browse_repository}" if rec.browse_repository
         
     | 
| 
      
 28 
     | 
    
         
            +
                        if rec.long_description
         
     | 
| 
      
 29 
     | 
    
         
            +
                            say "Long Description:"
         
     | 
| 
      
 30 
     | 
    
         
            +
                            for line in rec.long_description
         
     | 
| 
      
 31 
     | 
    
         
            +
                                say "  #{line.chomp}"
         
     | 
| 
      
 32 
     | 
    
         
            +
                            end
         
     | 
| 
      
 33 
     | 
    
         
            +
                            say ""
         
     | 
| 
      
 34 
     | 
    
         
            +
                        end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                        return 0
         
     | 
| 
      
 37 
     | 
    
         
            +
                    end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                end # class
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            end; end # module Commands::Recipes
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            end; # module BuildTool
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
             
     |