Changes to Ceedling - no more rake

Have you tried to use Ceedling recently, but got this error when you tried to run rake?

> rake test:all
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)

On June 25, 2017, version 0.28.1 of Ceedling was released which changed it's behavior a little bit. From now on you can't run Ceedling with rake anymore... you need to use ceedling as the command:

> ceedling test:all


No tests executed.

That's mostly all there is to it... but here are few more details of the changes:

  • Use ceedling wherever you used rake before. This goes for things like ceedling test:all and ceedling module:create[a_module].
  • The only exception to the first item is that if you want to see all of Ceedling's options, you can't use ceedling -T. Instead use ceedling help.
  • When a new project is created with ceedling new, no rakefile.rb file is created in your project.
  • While you used to be able to run rake from anywhere in your project tree, you can only run ceedling from the top level project folder -- i.e. the folder where project.yml is.
  • All of this only applies to projects that were created with 0.28.1 and above. If you have an older project that was created with a previous version, you can still use rake.

Here are all of the current Ceedling commands:

> ceedling help
ceedling clean                        # Delete all build artifacts and temp...
ceedling clobber                      # Delete all generated files (and bui...
ceedling environment                  # List all configured environment var...
ceedling files:header                 # List all collected header files
ceedling files:source                 # List all collected source files
ceedling files:test                   # List all collected test files 
ceedling module:create[module_path]   # Generate module (source, header and...
ceedling module:destroy[module_path]  # Destroy module (source, header and ...
ceedling paths:source                 # List all collected source paths
ceedling paths:support                # List all collected support paths
ceedling paths:test                   # List all collected test paths
ceedling summary                      # Execute plugin result summaries (no...
ceedling test:*                       # Run single test ([*] real test or s...
ceedling test:all                     # Run all unit tests (also just 'test...
ceedling test:delta                   # Run tests for changed files
ceedling test:path[dir]               # Run tests whose test path contains ...
ceedling test:pattern[regex]          # Run tests by matching regular expre...
ceedling verbosity[level]             # Set verbose output (silent:[0] - ob...
ceedling version                      # Display build environment version info