ChangelogΒΆ

October 2, 2015 - bake-toolkit 2.11.4
  • Bugfix: bake aborted in larger workspaces with 2.11.3 right before linking
September 8, 2015 - bake-toolkit 2.11.3
  • Bugfix: linker executed even if a dependency has an error
  • Bugfix: now the new docu is really added to the gem
September 3, 2015 - bake-toolkit 2.11.2
  • Bugfix: all files were always be recompiled with ruby < 1.9.3
  • Changed: switched to new docu style, thanks Nico!
August 4, 2015 - bake-toolkit 2.11.1
  • Added: project dir output for conversion tool
  • Moved: wishlist to github
July 31, 2015 - bake-toolkit 2.11.0
  • Added: new parameters for includeDir: inherit and infix
  • Added: dependency output for conversion tool
  • Bugfix: makefile flags where not used when cleaning the workspace
July 6, 2015 - bake-toolkit 2.10.3
  • Bugfix: Build stopped unintentionally when using -r
July 3, 2015 - bake-toolkit 2.10.2
  • Bugfix: PostSteps were unintentionally executed if a dependent step (e.g. linking) was not executed due to an error in another project (e.g. compiler error)
July 1, 2015 - bake-toolkit 2.10.1
  • Added: Possibility to add descriptions for configs which will be printed when using –show_configs
  • Bugfix: link_only did not link only if not all sources of the main project were not built before
  • Bugfix: Ctrl-C on command line did not work properly under Linux
July 1, 2015 - Eclipse plugin 1.5.1
  • Bugfix: AdjustIncludes broken for subfolder projects (with a “^” in the name)
  • Bugfix: Error parser broken for subfolder projects (with a “^” in the name)
  • Bugfix: Configs with inherited DefaultToolchain were not selectable to build
June 10, 2015 - bake-toolkit 2.9.2
  • Cosmetic: Redundant include directories are now removed before calling the compiler
  • Bugfix: Moving cached meta files was not recognized correctly, wrong path references may have been used
June 8, 2015 - bake-toolkit 2.9.1
  • Changed: “–doc” replaced by “–show_doc” to avoid confusion
June 5, 2015 - bake-toolkit 2.9.0
  • Added: “–create” command line option to create project templates
  • Added: “–conversion_info” command line option for bake conversion tool
  • Cosmetic: made output clearer if “–link_only” is used for non ExecutableConfigs
June 5, 2015 - Eclipse plugin 1.4.5
  • Bugfix: input streams from bake were closed too early under Linux - console window output and AdjustCDT feature should work correctly now
  • Added: “Link This Project Only” shortcut added
  • Added: Files under “build_*” and ”.bake” are now automatically marked as derived (not shown in “Open Resource” dialog)
  • Changed: error message dialog of AdjustCDT now displays the end instead of the beginning of very long error messages
May 19, 2015 - bake-toolkit 2.8.0
  • Bugfix: when building a project with -p name, not only name was built, but all projects which start with the string name
  • Added: more info why Project.meta files are reloaded
  • Added: createVSProjects can create VS2013 projects
April 22, 2015 - bake-toolkit 2.7.0
  • Added: possibility to use Eclipse file ordering for compilation (eclipseOrder attribute for DefaultToolchain)
  • Changed: $(:) and $(/) are now mapped to Ruby internal variables File::PATH_SEPARATOR and File::SEPARATOR.
  • This fixes the result in Cygwin/MinGW environments
  • Bugfix: cmdline files are now written even if the build step fails
April 14, 2015 - bake-toolkit 2.6.0
  • Added: validExitCodes attribute to steps (if a step has valid exit codes != 0)
  • Added: StartupSteps and ExitSteps (always executed before and after a build)
April 8, 2015 - bake-toolkit 2.5.0
  • Added: OS dependent variable $(:), which is used for setting the PATH variable
March 30, 2015 - bake-toolkit 2.4.3
  • Added: If Project.meta files are updated, sources will only be recompiled if necessary
  • Added: Set command in Project.meta has now an env attribute to store variables also in system environment which makes them accessible from user scripts
  • Added: GCC_ENV toolchain (uses environment variables)
  • Added: Improved MSVC support
March 16, 2015 - VS plugin 1.0.1
  • Added: Support for VS2013
March 12, 2015 - bake-toolkit 2.3.4
  • Changed: Clang command is now “clang” per default instead of llvm-gcc
  • Added: CLANG_ANALYZE toolchain
  • Added: MSVC toolchain
  • Bugfix: some minor fixes
February 27, 2015 - Eclipse plugin 1.3.0
  • Added: bake projects with equal names can be imported now
February 19, 2015 - bake-toolkit 2.2.2
  • Changed: output dirs are now prefixed with “build_” per default
  • Changed: introduced complex variable $(OutputDir,projectName,configName)
  • Changed: reworked merge strategy of two configs, especially toolchain options
  • Added: variables can be nested now
  • Bugfix: fixed dependency header check for Unix when running Windows on a virtual machine
  • Bugfix: variable OutputDir did not take overwritten output directory from toolchain into account
  • Cosmetic: do not show internal pipes anymore when printing command lines
January 26, 2015 - bake-toolkit 2.1.1
  • Bugfix: dependent header file check in 2.1.0 was broken
  • Changed: files defined via glob pattern are sorted alphabetically now
January 23, 2015 - bake-toolkit 2.1.0
  • Bugfix: fixed crash in warning output if setting variable via cmd did not work
  • Workaround: dependent header files are now ignored on Windows if path starts with “/” and file cannot be found
  • Changed: output of lint is now ignored, linting will only fails if it cannot be executed
  • Changed: introduced new verbose mode -v3, shifted some output to this level
  • Added: a dependency project can be specified with parent folders if it is ambiguous, e.g. Dependency “my/folder/proj”, config: lib
  • Added: experimental CC2J output
January 23, 2015 - Eclipse plugin 1.2.1
  • Bugfix: importing projects with existing .(c)project files may be placed in wrong folder
January 15, 2015 - bake-toolkit 2.0.10
  • Bugfix: spaces in paths were not handled correctly in all cases
  • Bugfix: dependency files of Keil compiler not treated correctly
  • Added: showing why files are built in verbose mode -v2
  • Added: whole workspace can be linted now (projects will be linted separately)
  • Changed: removed bake-doc command, use bake –doc instead
  • Changed: if no default project is specified, possible build configs are shown on command line again like in bake 1.x
January 7, 2015 - bake-toolkit 2.0.3
  • Changed: default configuration is chosen if configuration name is omitted. This applies to command line as well as to Dependency definitions, e.g.:
    • Project.meta

      Dependency canDriver        # no config attribute
      
    • Command line

      User@Host:~$ bake -m bla/myProj
      

    Note

    To show the possible configs of a project, use the –show_configs command line option.

  • Changed: more than one config of a project can be used in one build.

    Example:

    Dependency canDriver, config: C1
    Dependency canDriver, config: C2
    

    To reference a config of the current project, omit the project name, e.g.:

    Dependency config: C3
    

    To build a single project, you can still use -p command line argument:

    User@Host:~$ bake Debug -p canDriver
    

    However, if canDriver has more than one config in the workspace, all configs will be built. To build only a single config, use a comma separator like this:

    User@Host:~$ bake Debug -p canDriver,C1
    
  • Changed: the default output folder has been changed due to the new feature of having several configs of a project in one workspace.
    Old New
    Main project $(MainConfigName) $(MainConfigName)
    Sub Project $(MainConfigName)_$(MainProjectName) $(SubConfigName)_$(MainProjectName)_$(MainConfigName)

    Warning

    Be careful if you have something like this in Project.meta:

    ExternalLibrary "bspCoreZ6/$(MainConfigName)_$(MainProjectName)/src/coreZ6/startup/startupCode.o", search:false
    

    This refers to the old output directory. Change it or if you want to support old and new bake versions, write a PreStep which copies the file from the new location to the old one.

  • Changed: with -f a pattern can be specified, not only a single file. All files matching this string will be compiled.

  • Changed: variables in Dependency definitions are not allowed anymore to avoid inconsistencies.

  • Changed: no error will be reported anymore if makefile has no clean target.

  • Changed: source files will now be compiled and archived ordered by the Files definition in Project.meta, not by a Eclipse-backward-compatibility-ordering.

  • Changed: reworked some error messages, more error annotations are shown in IDEs

  • Added: “–include_filter” and “–exclude_filter” also work for main step of CustomConfig

  • Added: possibility to add comments in roots.bake

  • Added: new variables CPPPath, CPath, ASMPath, ArchiverPath and LinkerPath. These variables can also be used in InternalDefines and InternalInclude files.

  • Added: lint is not restricted to GCC toolchain anymore.

  • Added: –docu option. Specify the docu command line in Docu tag of the (Default)Toolchain.

  • Removed: support for Ruby 1.8. Use Ruby 1.9 or higher.

  • Removed: dependencies to cxxproject and rake gems

  • Removed: “-j” as default flag when calling makefiles. This must be explicitly specified.

  • Removed: option to check for unnecessary includes

  • Removed: hardcoded TI compiler commands and flags
    Old New
    Compiler command $(ti_home)/ccsv5/tools/compiler/tms470/bin/cl470 ti_cl
    Compiler flags -mv7A8 -g –include_path=”#{ti_home}/ccsv5/tools/compiler/tms470/include” –diag_warning=225 -me –abi=eabi –code_state=32 –preproc_with_compile  
    Archiver command $(ti_home)/ccsv5/tools/compiler/tms470/bin/ar470 ti_ar
    Linker command $(ti_home)/ccsv5/tools/compiler/tms470/bin/cl470 ti_cl
    Linker flags -mv7A8 -g –diag_warning=225 -me –abi=eabi –code_state=32 -z –warn_sections -i”$(ti_home)/ccsv5/tools/compiler/tms470/lib” -i”$(ti_home)/ccsv5/tools/compiler/tms470/include”  
    Linker lib prefix flags -lDebug/configPkg/linker.cmd  
  • Bugfix: variables in add and remove attributes of Flags now work as intended

  • Bugfix: output folder was not created if no sources are specified for LibraryConfig and ExecutableConfig.

  • Bugfix: “-p” was not forwarded in bakery.

  • Cosmetic: bakery now calls bake with relative pathnames, which results in nicer outputs.

December 19, 2014 - Eclipse plugin 1.2.0
  • Bugfix: it is now ensured, that bake will be started from Eclipse working directory
  • Bugfix: projects created with the “new bake project wizard” are now placed in the correct folder.
  • Added: Eclipse working directory shown in bake preference dialog (important if -w option is used with relative paths)
  • Added: Options to recreate .(c)project files when importing bake projects
  • Changed: Eclipse configurations will be named “bake” and not “Do not use this config, use bake instead”
December 16, 2014 - Eclipse plugin 1.1.1
  • Bugfix: Adjust include and defines broken feature used wrong command line option.
November 7, 2014 - bake-toolkit 1.8.0, Eclipse plugin 1.1.0
  • Added: InternalIncludes and InternalDefines in DefaultToolchain, which are forwarded to the IDE.
  • Changed: No default options for PC-lint in combination with GCC will be provided anymore. Use the official way, see co-gcc.lnt in PC-lint installation.
  • Bugfix: verbose output for replacing non-existing environment variables broken.
November 4, 2014 - bake-toolkit 1.7.0
  • Added: Option to define output directory relative/absolute for each project or for all projects.
  • Added: –set command line option to set variables
  • Added: Optional “Description” tag for projects in Project.meta
  • Changed: Variables in DefaultToolchain will be substituted separately for each project.
August 8, 2014 - bake-toolkit 1.6.3
  • Fixed: possible uninitialized variable could lead to crash bake
August 6, 2014 - bake-toolkit 1.6.2
  • Fixed: clear clearn- and clobber-lists at startup
  • Fixed: Variables not substituted in ArtifactName and ArtifactNameBase
  • Added: Cyclic variable substitution
August 5, 2014 - bake-toolkit 1.6.1
  • Added: Fixed variable substitution
August 1, 2014 - bake-toolkit 1.6.0
  • Added: The value of a variable can be the result of a command line
July 18, 2014 - bake-toolkit 1.5.0
  • Added: Dependencies can be overwritten in inherited projects
  • Removed: defines cannot be filtered anymore via command line
June 6, 2014 - bake-toolkit 1.4.0
  • Bugfix: variables can be used in “Set” now
  • Added: variable “MainProjectDir”
May 23, 2014 - bake-toolkit 1.3.0
  • Added: defines can be filtered now via command line
May 2, 2014 - bake-toolkit 1.2.1
  • Added: Set keyword for defining variables
  • Changed: “executed in”-output now in separate line
March 14, 2014 - bake-toolkit 1.1.0
  • Added: Lint support
  • Added: $(ProjectDir) variable
March 7, 2014 - bake-toolkit 1.0.27
  • Cosmetic: some pictures in documentation were missing
March 5, 2014 - bake-toolkit 1.0.26
  • Bugfix: in rare cases invalid characters from compiler output were not handled correctly
  • Bugfix: changing workspace roots on command line now always regenerates build tree
  • Added: Variable $(Roots) for IncludeDir directives
  • Changed: dependency files for all compilers will be generated inclusive system headers
  • Changed: abort earlier if main directory has no Project.meta
  • Changed: every environment variable is expanded to an empty string if not defined
January 21, 2014 - bake-toolkit 1.0.25
  • Added: configs can now be inherited
  • Added: command bake-doc opens bake doc
  • Changed: dependency files for Greenhills compiler will be generated with -MD instead of -MMD
September 10, 2013 - bake-toolkit 1.0.24
  • Changed: Improved Keil linker error parser.
September 9, 2013 - bake-toolkit 1.0.23
  • Added: Keil support.
  • Bugfix: minor fixes.
August 21, 2013 - bake-toolkit 1.0.22
  • Bugfix: Searching for project folders did not work correctly.
August 20, 2013 - Eclipse plugin 1.0.5.0
  • Bugfix: Adjust includes in CDT is working again after Java Update.
August 1, 2013 - bake-toolkit 1.0.21
  • Bugfix: projects folders which are junctions were not found anymore after the last update.
July 25, 2013 - bake-toolkit 1.0.20, Eclipse plugin 1.0.4.0
  • Added: projects can be placed more than one level below workspaces roots
June 21, 2013 - bake-toolkit 1.0.19
  • Added: support for GreenHills compiler.
May 29, 2013 - bake-toolkit 1.0.18
  • Bugfix: typo in require, which has broken bake in case sensitive file systems.
May 28, 2013 - bake-toolkit 1.0.17
  • Bugfix: error levels greater than 255 of external processes were not be recognized correctly in some cases.
May 16, 2013 - Eclipse plugin 1.0.2.0
  • Bugfix: bake did not start correctly with latest Java version installed.
April 22, 2013 - bake-toolkit 1.0.16
  • Changed: default roots of bakery are now directory of Collection.meta and it’s parent directory.
April 19, 2013 - bake-toolkit 1.0.15
  • Bugfix: bakery could not build projects with spaces in oathname.
April 19, 2013 - bake-toolkit 1.0.13
  • Bugfix: some bake options specified on bakery command line were not accepted.
April 17, 2013 - bake-toolkit 1.0.12
  • Changed: Output folders are not deleted and rebuilt if no source files are available but the archive file.
  • Added: Option –clobber deletes .bake cache file.
  • Added: Collections can reference collections.
  • Added: collection names can be specified without typing “-b”
April 4, 2013 - bake-toolkit 1.0.11
  • Bugfix: Executing batch files in CommandLine on Windows were broken.
  • April 2, 2013 - bake-toolkit 1.0.10
  • Bugfix: options “–toolchain_names” now working as intended
  • Bugfix: default flags for makefiles (-j) no longer ignored
  • Changed: flags for makefiles are now defined in subtags instead in attributes to be consistent with other flag definitions
  • Added: ”..” in Files and ExcludeFiles now allowed
  • Added: command line switch to turn off “directory magic”
  • Added: build config can be specified without typing “-b”
  • Cosmetic: better error output if compiler not found
March 22, 2013 - bake-toolkit 1.0.9
  • Cosmetic: Changed option –print_less to -v0 and -v to -v2. Default is -v1.
March 7, 2013 - bake-toolkit 1.0.8
  • Added: Linkerscript can be referenced from other projects
February 13, 2013 - bake-toolkit 1.0.7
  • Added: OS dependent variable $(/)
January 21, 2013 - bake-toolkit 1.0.6
  • Added: support for Visual Studio
January 15, 2013 - bake-toolkit 1.0.5
  • Changed: no indirect dependency to progressbar gem anymore
January 14, 2013 - bake-toolkit 1.0.4
  • Added: a new cache validation check.
January 2, 2013 - bake-toolkit 1.0.3
  • Bugfix: option to build a single file did not accept a filename with absolute path.
October 7, 2012 - bake-toolkit 1.0.2
  • Changed: Renamed gem from “bake” to “bake-toolkit”.
September 18, 2012 - bake 1.0.1
  • Changed: bake now based on rgen 0.6.0 and rtext 0.2.0, which are available on rubygems.
August 31, 2012 - bake 1.0.0
  • First official release