damphyr/gaudi

View on GitHub
CHANGELOG.md

Summary

Maintainability
Test Coverage
# gaudi Changelog

## 1.1.1

* Fixed a bug in determining the namespace when generating the graph

## 1.1.0

* Added task to create a graph of all available tasks as documentation (with colors)
* Using [ColorBrewer Set 1 of 9-class](http://colorbrewer2.org/#type=qualitative&scheme=Set1&n=9) for colours. Unfortunately no color-blind safe option for 9 classes available

## 1.0.0

* Major restructure.
* Split the C/C++ build functionality off to a separate module. Gaudi core is now just the configuration loader and the build system placement conventions
* Added task timing information to the core by monkey patching task invocation in rake.
* Dropped support for Ruby 2.0 and 2.1, add 2.4 to the CI
* Dropped automatic inclusion of custom module.
* Dropped custom module altogether, folded functionality into gaudi-c

## 0.12.1

* Build configuration keys defined as lists (e.g. deps etc.) are now appendable (thanks to [MarkusPalcer](https://github.com/MarkusPalcer))

## 0.12.0

* Auto-generated build rules per target platform (makes running off-the-shelf a little bit easier)
* Modules concept allows us to place code in directories other than custom

## 0.11.0

* Allow multiple source subdirectories per platform configuration
* Allow compiler options specific to the file extension

## 0.10.3

* Bugfix Gaudi::Component#interface now handles multiple header extensions correctly

## 0.10.2

* Actually allow a Component to instantiate with no build.cfg

## 0.10.1

* Minor fix to allow absolute paths with quotes (damn you Windows!)

## 0.10.0

* Allow for missing build.cfg files
* Returned paths are now absolute

## 0.9.2

* Log reduction

## 0.9.1

* Fixed broken Gaudi.configuration

## 0.9.0

* Allow interpolation of values in configuration files with %{value}

## 0.8.1

* Gaudi::Program now looks for sources in a like-named code component

## 0.8.0

* Breadcrumb files for compilation no longer created next to the sources (created next to the output)
* Breadcrumb extension is now .breadcrumb in the generic case (.link and .library are still used)

## 0.7.9

* Expose the name of the deployment in a Gaudi::Program instance
* Bugfix in graph:deployment

## 0.7.8

* Allow quotes in paths within configuration parameters

## 0.7.7

* Component dependencies now include all headers not just the public ones

## 0.7.6

* .s are assembly files
* fixed option setting for assembler to accomodate IAR

## 0.7.5

* Added list:deployments task

## 0.7.4

* Fixed a bug with the assembler breadcrumb extension
* Fixed a bug where source and header extensions were not recognised if there were spaces in the configuration

## 0.7.3

* Fixed a bug in naming object files using a parent component

## 0.7.2

* Removed scaffolding code (new:project task)

## 0.7.1

* Gaudi:Component now has a reference to parent Program or Library if it exists

## 0.7.0

* Platform configuration is now progressively extended by program and component configurations. Solves bugs #1 & #3

## 0.6.0

* Removed command files from the dependency chain.
  * This removes some buggy edge cases and has minimal performance impact. Also makes creating build rules simpler
* switch_configuration and switch_platform_configuration are now in Gaudi::Configuration

## 0.5.0

* Moved artifact naming methods over to custom/paths.rb
* The configuration classes now enumerate all configuration files and respond to configuration_files() returning an Array
* removed config_file from the configuration classes. Use configuration_files.first to get the main file
* Deployments don't allow programs of the same name in the same platform

## 0.4.0

* Binary extensions now part of the platform configuration
* Platform configuration now shared library aware. Archiver renamed to Librarian

## 0.3.0

* Source file extensions now part of the platform configuration
* The directory structure methods are now in custom/helpers/paths.rb

## 0.2.0

* Test coverage is satisfactory
* Path and dependency resolution work reliably
* Configuration system is stable
* Scaffolding code added

## 0.0.1

* Initial version, totally unstable