<commit_before>INTRODUCTION:

See lib/ruby/cabar.rb for more info.

TO DO:

* Change Facet.key to Facet._key to avoid collision with future use.

* Change Facet.owner to Facet._owner

* Change Facet.context to Facet._context

* Add support to automatically require top_level components.

Cabar Demo

* Show bin/env.

* List available components.

bin/env cbr list

bin/env cbr list - c2

* Show directory structure.

* Cabar cabar.yml specification.

* Show components and facets:

bin/env cbr show - c1

* Show component version selection:

bin/env cbr run - c2 c2_prog foo bar

bin/env cbr run - c2/1.1 c2_prog foo bar

* Cabar configuration cabar_conf.yml.

Show how component version selection can be done outside
of component requirements.

1. Version Selection
2. Dependencies
3. Version Defaults

* Show environment:

bin/env cbr env c1

* Show plugins:

prod/cnu_config/1.0/cabar.rb

prod/cnu_locale/1.1/cabar.yml : provides.cnu_config_path

* Show graph:

bin/env cbr dot | dot -Tsvg:cairo -o graph.svg

bin/env cbr dot --show-dependencies - c1 | dot -Tsvg:cairo -o graph.svg

bin/env cbr dot --show-facets - c1 | dot -Tsvg:cairo -o graph.svg

bin/env cbr dot --show-dependencies --show-facets - c1 | dot -Tsvg:cairo -o graph.svg

* Show in-place run scripts for ruby.

bin/env cbr run - c1 c2_prog

* Show cabar as component

CABAR_PATH=.. bin/cbr run - cabar cbr list 

* Show cbr-run on a #! line.

bin/env cbr-run-test
<commit_msg>Action items from meeting with Jeremy.<commit_after>INTRODUCTION:

See lib/ruby/cabar.rb for more info.

TO DO:

* Change Facet.key to Facet._key to avoid collision with future use.

* Change Facet.owner to Facet._owner

* Change Facet.context to Facet._context

* Add support to automatically require top_level components.

* From discussion with Jeremy 2008/03/10
** cbr <nothing> crashes.
** example directory needs README/docs.
** Unit test against example directory.

** Implement Cabar::Command
*** command name and aliases
*** subcommands 
*** Cabar::Command::Runner

** Create Cabar::Plugin::Builder DSL
*** Create facets
*** Create commands for facets

** Version control plugins
*** CABAR_REMOTE_PATH specifies a remote list of repositories:
**** CABAR_REMOTE_PATH="svn://rubyforge.org/package ; http://foobar.com/cabar ; p4://"
*** CABAR_REMOTE_DEST specifies where "cabar remote get" will put components.
cbr remote get -R cnuapp/1.1
cbr remote list
cbr remote update 

* Modify cabar config
** cbr config
** cbr config set select <component> 1.2

* Need web_service facet
** cbr bin lsws start
** cbr bin apache start

* Facets realizations are not scoped.
** Provide a mechanism to select particular component facets rather than
entire components

* Gem plugin

** Install gems into a gem platform.

*** cbr gem install rails - cnu_gems/1.1

* All facets have top-level commands
** cbr action list
** cbr action run <action>
** cbr bin list
** cbr bin run <cmd> <args> ...
** cbr lib/ruby doc

* actions should be only on top-level components by default.
** cbr action run test
** cbr action -R run test

* runsv facet


** cbr runsv install <component> ...

Cabar Demo

* Show bin/env.

* List available components.

bin/env cbr list

bin/env cbr list - c2

* Show directory structure.

* Cabar cabar.yml specification.

* Show components and facets:

bin/env cbr show - c1

* Show component version selection:

bin/env cbr run - c2 c2_prog foo bar

bin/env cbr run - c2/1.1 c2_prog foo bar

* Cabar configuration cabar_conf.yml.

Show how component version selection can be done outside
of component requirements.

1. Version Selection
2. Dependencies
3. Version Defaults

* Show environment:

bin/env cbr env c1

* Show plugins:

prod/cnu_config/1.0/cabar.rb

prod/cnu_locale/1.1/cabar.yml : provides.cnu_config_path

* Show graph:

bin/env cbr dot | dot -Tsvg:cairo -o graph.svg

bin/env cbr dot --show-dependencies - c1 | dot -Tsvg:cairo -o graph.svg

bin/env cbr dot --show-facets - c1 | dot -Tsvg:cairo -o graph.svg

bin/env cbr dot --show-dependencies --show-facets - c1 | dot -Tsvg:cairo -o graph.svg

* Show in-place run scripts for ruby.

bin/env cbr run - c1 c2_prog

* Show cabar as component

CABAR_PATH=.. bin/cbr run - cabar cbr list 

* Show cbr-run on a #! line.

bin/env cbr-run-test

{'fraction_non_alphanumeric': 0.0955174841586482, 'fraction_numerical': 0.013377141516076038, 'mean_word_length': 3.500527983104541, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5031824', 'n_tokens_mistral': 1531, 'n_tokens_neox': 1452, 'n_words': 527}