README.rdoc in rubu-0.0.6 vs README.rdoc in rubu-0.0.7

- old
+ new

@@ -97,11 +97,11 @@ process convenient. *Step* is build action that transforms source file(s) to target file(s). For example, a C source file compilation is a *Step* where one source file is converted to a corresponding object file. *Step* is -given source *Mark* and target *Mark* as arguments. Hence this type of +given *Source-Mark* and *Target-Mark* as arguments. Hence this type of *Step* a is one-to-one mapping. Linking multiple objects to an executable is a many-to-one mapping. This is performed by a *Step* where there are multiple sources and one target, i.e. objects and the executable respectively. @@ -139,11 +139,11 @@ *Var* space, for example. To summarize and highlight the relationships between concepts, see the diagram below: - RBP => Trail+ => Step+ [s/p] => Move+ [s/p] => SourceMark*, TargetMark* + RBP => Trail+ => Step+ [s/p] => Move+ [s/p] => Source-Mark*, Target-Mark* => Order+ => Var* => Info* * = Zero or more @@ -154,23 +154,23 @@ RBP includes *Trails*, *Orders*, and possibly *Vars* and *Infos*. *Trail* includes one or more *Steps*, which can be executed in sequence or in parallel. *Step* includes one or more *Moves*, and they can also be sequential -or parallel. *Move* has typically at least one *SourceMark* and at -least one *TargetMark*. However, there are exceptions as well. +or parallel. *Move* has typically at least one *Source-Mark* and at +least one *Target-Mark*. However, there are exceptions as well. The suggested ordering within {Rubu} Build Program is: [configuration] Process command line arguments and assign options that are used to control the build process. [file collection] Collect source and target files either using Ruby with glob pattern, direct references, or through - manifest files. Convert file names to *Mark* - objects. + manifest files. Convert file names to *Mark* objects + (*Source-Mark*, *Target-Mark*). [step definition] Define *Steps*. Inherit one of the *Step* types (classes) and define at least the "step" method. [trail definition] Define *Trails*. Create all possible flows that @@ -200,12 +200,13 @@ is typically easiest to collect files programmatically. For example, to get all C source files: cee_files = Mark.glob( "#{Var[:source_dir]}/*.c" ) -This creates a list of *Mark* objects which are source files. The -corresponding object files can be created with "peer" method: +This creates a list of *Mark* objects which are source files, +i.e. *Source-Marks*. The corresponding object (target) files can be +created with "peer" method: obj_files = cee_files.peer( Var[ :build_dir ], '.o' ) This method invocation takes an Array of *Mark* objects and calls "peer" method for them. "peer" method changes the directory and @@ -228,11 +229,11 @@ "setup" method is typically used to change the command according to user configuration. "step" method is the action for *Step*. {Rubu} executes it, if necessary. For example, if *Step* is a *StepAged* -class, then the "step" method is only called if the source *Mark* is -newer than the target *Mark*. +class, then the "step" method is only called if the *Source-Mark* is +newer than the *Target-Mark*. "step" method may include only one command or a set of commands. If one command is needed, it can be simply executed: def step