Sha256: 4fcacb441cf5053a511b34f257394303b4de699639836359f52f12a7f65b0d64

Contents?: true

Size: 1.89 KB

Versions: 4

Compression:

Stored size: 1.89 KB

Contents

#!/usr/bin/env ruby
require "rubygems"
require "thor"
require "ceedling"
require "fileutils"

class CeedlingTasks < Thor
  include Thor::Actions

  def self.source_root
    File.dirname(__FILE__) + "/.."
  end

  desc "new PROJECT_NAME", "create a new ceedling project"
  def new(name)
    directory Ceedling::NEW_PROJECT_DIR, name
    puts "Execute 'rake test:delta' to run your tests"
  end

  desc "update DIRECTORY", "update the vendor/ceedling directory under the given project root"
  long_desc <<-d
  copies the newest ceedling code into the vendor/ceedling directory under the given project root.

  NOTE: this task assumes the vendor/ceedling directory has already been deleted

  Example: [ceedling update .] will deposit the latest ceedling files to ./vendor/ceedling 
  d
  def update(project_dir)
    directory "new_project_template/vendor", "#{project_dir}/vendor"
  end

  desc "examples", "list available example projects"
  def examples()
    puts "Available sample projects:"
    FileUtils.cd(File.dirname(__FILE__) + "/../examples") do
      Dir["*"].each {|proj| puts "  #{proj}"}
    end
  end

  desc "example PROJ_NAME [DEST]", "create specified example project (in DEST, if specified)"
  def example(proj_name, dest=".")
    dest = "." if dest.nil?
    directory Ceedling::NEW_PROJECT_DIR, dest
    remove_file "#{dest}/project.yml"
    remove_file "#{dest}/rakefile.rb"
    directory "examples/#{proj_name}", dest
    puts "\n"
    puts "Example project creation successful"
    puts "Execute 'rake test:delta' to run your tests"
  end

  desc "version", "print all ceedling gem and library versions"
  def version
    puts "       Gem:: #{Ceedling::Version::GEM}"
    puts "  Ceedling:: #{Ceedling::Version::CEEDLING}"
    puts "CException:: #{Ceedling::Version::CEXCEPTION}"
    puts "     CMock:: #{Ceedling::Version::CMOCK}"
    puts "     Unity:: #{Ceedling::Version::UNITY}"
  end
end
CeedlingTasks.start

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ceedling-0.0.13 bin/ceedling
ceedling-0.0.12 bin/ceedling
ceedling-0.0.8 bin/ceedling
ceedling-0.0.7 bin/ceedling