Copyright (C) 2003, 2004 Joerg Kunze
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.
This file records noteworthy changes.
0.0.1 0.2.3 (14 December 2004)
------------------------------
Main features are the development towards file handling commands, where
we have stringSearch as an example. And into the direction to write
everything in C. Here testMakeClean is the example. Many things from
here will move to siliconBrainLib.
* fileReader:
- `<file>' in command specification generates a
file handling command.
* test:
- simple ed (editor) wrapper in SiliconBrain.pm
allows testing and simulation of manual changes.
- test "make clean", "make all", "make all"
sequence once a day for all siliconBrain packages.
* publish/webify:
- fasten emacs, by surpressing init files.
* makefile:
- wrapping of compile and link into perl scripts.
- creation of binary depends on object dependency
files during link.
- better sequence, of what is made when.
- things created by a generator, now depends on it.
* command:
- file reading and handling command support.
- Boyer-Moore-Horspool implementation for a string
search command.
* language:
- do more and more in pure c (no perl, bash, emacs
and friends (just a start)).
0.0.2 0.2.1 (14 August 2004)
----------------------------
The middle release number is increased to 2 due to the now completely
implemented configuration support. Packages now can have a
configuration specification, which are automatically handled as options
of all commands of that package. Options are read from command line,
environment variables and executable XML creating configurations.
* libraries:
- `makefile' now supports using glib-2.0.
- `makefile' now supports using siliconBrainLib.
* generator:
- The command generator is now a `main' program,
no longer linked to the specification.
- The generator is fed by XML specifications.
- Command and record generator are now one program.
- The standard record option specifications are no
longer injected into the project.
- The command specifications now pipe there
XML output to the generate main.
* configuration:
- A packageName.specification adds package standard
options to all commands.
- A generated `configurationReader' reads
command line options, environment and configurations and
outputs everything in perl, bash or XML syntax.
- A `--complete' option stops further reading of
configurations and options.
- Flag options can be set to false.
- Evaluate environment variable `$siliconBrainConfigurationPath'.
* XML output:
- using `siliconBrainLib' xml printer
to output pretty printed and colorized xml `perl' or
`bash' syntax.
* publish:
- target host and directory is configurable.
* test:
- publish, download and install are no tested.
0.0.3 0.1.3 (21 October 2003)
-----------------------------
The main change is: the sample projects `siliconBrainMember' and
`siliconBrainEmpty' are complete htmlilized and linked into the manual.
So in the documentation this project, we can see a complete "normal"
project including its temporary files.
* webify:
- Include package specific extensions.
- Enable the htmlilization from other dirs into
target dirs.
- optional complete htmlilize (including temp files).
* cvs:
- a `.cvsignore' template is copied into new project.
* documentation:
- Some more comments in the Texinfo snippet templates.
0.0.4 0.1.2 (30 September 2003)
-------------------------------
The big step of this version is the usage of command and record
specifications and the generation of corresponding include file, main()
function, man and info page, texinfo doc and option handling code.
* environment:
- Starting with using perl.
- Handling of perl and h files.
- Use GNU extension of C and its lib.
- Drop support of m4 files.
* specification:
- Added handling of specification files in C.
- Support command specifications.
- Support record specifications.
* generator:
- Generate the main() for a command.
- Generate short and long command line options for a command.
- Generate info `dir' file.
- Generate texinfo file out of the command specification.
- Generate info file out of the command texinfo.
- Generate man page out of texinfo (texi2man).
- Generate handling of standard options like -version.
- Generate a "copying generated files" notice and
version information in all generated files.
* test:
- auto test the usage of a created package/project.
- in `SiliconBrain.pm' provide a collection of
test utilities.
0.0.5 0.1.1 (13 May 2003)
-------------------------
This is the first time siliconBrain is somehow usable for projects. A
lot of things are not implemented yet. But to write simple C-programs
and to create their documentation is already working.
* make:
- Package specific extensions to the `makefile'
are possible.
- Real test: create a package and try to make it.
- Create packageName.info when calling `make'
the first time.
* documents:
- `createReleaseInformation' generates output
for bash _and_ Texinfo.
- Many doc's include and use the generated releaseInformation.
- Use `-e' for `texi2dvi' so that we
can use include files.
- Create `*.dvi' independent of `*.info'.
- Stop `make', if `texi2dvi' issues messages.
* directory tree:
- distinguish between `temporary' and `distribution' subdir.
0.0.6 0.0.97 (6 May 2003)
-------------------------
* install:
- `install.snippet.texinfo' is written.
- there is a `./siliconBrainInstall' script generated.
- Package can be run without installation.
* directory tree:
- templates placed in `templates' subdir.
- documents reside in `documentation' subdir.
* m4:
- handling of m4 files is added.
- setEnviroment is created.
0.0.7 0.0.86 (21 April 2003)
----------------------------
* make info:
- The `makeDependencies.awk' detects automatically dependencies of texinfo files. These are included in the `makefile'.
* snippets:
- Building blocks of docs are hold in texinfo snippets.
- Snippets are transformed into html and text.
- Snippets are reusable document parts.
0.0.8 0.0.85 (20 April 2003)
----------------------------
* make public:
- first time a full automatic publishing on a web-host.
- HTML documentation and ftp of tar.gz is generated.
- For each publish a new release name is generated.
- automatic tagging of CVS with that name.