Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: bras-2.1 Rule Base Command Execution

2 views
Skip to first unread message

Harald Kirsch

unread,
Jan 6, 2002, 10:42:50 AM1/6/02
to
ANNOUNCING
--- bras ---
Rule Based Command Execution

I am pleased to announce version 2.1.

WHAT'S NEW?

A new predicate md5older was introduced. It checks if a target is out
of by considering only the md5sums of the dependencies.

Recently (2.0) individiual namespaces for every directory where
introduced. The implementation of the mechanism was buggy and had
to be rewritten.

STABILITY:

The new namespace encapsulation is still not fully tested. I am not
yet sure if it really helps on multi-directory projects or if it
rather is in the way. Let me know.

WHERE CAN I GET IT?

The distribution can be found at
http://bras.berlios.de/

WHAT IS IT ANYWAY?

Out of frustration caused by several (mis)features of make I decided
the other day that I would like to have a tool which combines
rule-based and script-like command execution. The result is bras. It
is written in Tcl and the rule-files it uses are also pretty much
Tcl. However, bras defines a set of new Tcl-commands which implement
rule-based command execution.

Main features are:
o rule-controlled command execution, similar to make;
o written in Tcl, no compilation required;
o Tcl-syntax so that commands associated with rules may contain
control structures;
o dependencies in foreign directories can trigger sourcing rule files
in that directory, recursive bras-execution is not necessary;
o just any boolean expression can be used to define when a target is
out-of-date.
o pattern rules which deserve the name;
o explicit invocation of the reasoning process possible;

Send comments and requests for enhancements to
pifp...@gmx.de .

Andreas Otto

unread,
Jan 8, 2002, 5:04:24 AM1/8/02
to

Hi,

I used the bras-1.3.0 release in "Compiler".

The new release bras-2.1 has significant changed.
Special the "package require bras" technology.
This failed with

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><
can't read
"::bras::Namespace(/Path/To/The/Current/Dir)": no such variable
while executing
"set dirns $::bras::Namespace($currentDir)"
(procedure "::bras::checkMake" line 3)
invoked from within
"::bras::checkMake 142 c.is"
invoked from within
"catch [list ::bras::checkMake $rid $target] res"
invoked from within
"returnFromConsider $target $keepPWD $errorInfo error"
(procedure "::bras::considerOne" line 108)
invoked from within
"::bras::considerOne $t"
(procedure "::bras::consider" line 30)
invoked from within
"::bras::consider $targets"
invoked from within
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

the reason for this behavior is that the
variable "::bras::Namespace" will be only set by the
"::bras::include" command.

I use a Tcl-Scriptfile which has bras commands and
use "package require bras" to get the bras package.
I never call the "include" command


mfg

aotto :)

--
================================================================
(C) Compiler-Factory Phone: ++49-(0)8152-399540
Dipl.-Ing Andreas Otto mailto:in...@compiler-factory.com
Business Solutions http://www.compiler-factory.com
Ulmenstrasse 3 => "Compiler", FastWeb, OpMenu
D-34289 Zierenberg => C, C++, Tcl, HTML, database,
=================================================================

Harald Kirsch

unread,
Jan 9, 2002, 5:24:11 PM1/9/02
to
Andreas Otto <ao...@t-online.de> wrote in message news:<97ge1a...@linux02.otto-net>...

> Hi,
>
> I used the bras-1.3.0 release in "Compiler".
>
> The new release bras-2.1 has significant changed.
> Special the "package require bras" technology.
> This failed with

Thanks for the report. I hope to have that fixed by now. Please fetch 2.1.1 from
bras.berlios.de and let me know if it works.

By the way: does the Compiler compile bras and/or brasfiles? Is the
result much faster?

Harald Kirsch

0 new messages