kstephens / cabar

Cabar - an extensible software component backplane.

This URL has Read+Write access

kstephens (author)
Mon Sep 21 18:11:43 -0700 2009
commit  c9946cdf80d2ed79dfdb902dac085cc83c6dbb45
tree    1502bfdd6d954a5fa09c4ae6675884214ddcccfc
parent  9e60e5f1e5550156f01c8834fc823bbb1c3295be
cabar / TODO.txt
100644 83 lines (46 sloc) 2.273 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
= Known Issues:
 
* Component cannot define conflicting facets, commands or plugins, none of these are versionable.
 
* A faulty component's plugin may prevent entire system from working.
 
= FINISHED:
 
* Use -C=configuration.path.element=value,... option to override
  configuration settings:
 
   bin/cbr_env cbr config list -C=component:require:boc=false
 
= TO DO:
 
* Solidify semantics of Component#status: status = unimplemented => disable Facet contributions
 
* Add basic run-time support for component introspection; see cabar/runtime.rb.
 
* Add support for -S= (select ) option. This should override
  and component selections in configuration files for a given component name.
 
* Add support for CABAR_SELECT environment variable.
 
* Make Cabar::Base a mixin instead of an abstract base class.
 
* Change Resolver#required_components to an unordered Version::Set.
 
* Allow simple facet prototypes to be defined in cabar.yml.
 
* Allow documentation strings to Facet prototypes.
 
* Change Facet.key to Facet._proto_name to avoid collision with future use.
 
* Change Facet.owner to Facet._owner.
 
* Change Facet.component to Facet._component.
 
* Change Facet.resolver to Facet._resolver.
 
* Add support to automatically require top_level components, via an attribute on a component in its cabar.yml file.
 
= From discussion with Jeremy 2008/03/10
 
* Unit test against example directory.
 
== 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
 
== Configuration
 
* Modify cabar config from command line.
 
    cbr config
    cbr config set select <component> 1.2
 
== Web Service Facet
 
* Need web_service facet
 
    cbr bin lshttpd start
    cbr bin apache start
    cbr action run httpd/start (???)
 
* Facets realizations are not scoped. Provide a mechanism to select particular component facets rather than entire components.
 
* action run should be only on top-level components by default.
 
    cbr action -T run test
    cbr action run test
 
* runsv facet
 
    cbr runsv install <component> ...