Sha256: bc5f0f15c15aa66d1ccf8dcf850dcaad62cda6b4b7a20a4fee1f170baa6c0eab

Contents?: true

Size: 1.7 KB

Versions: 2

Compression:

Stored size: 1.7 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
  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 "example [PROJ_NAME] [DEST]", "create specified example project (in DEST, if specified)"
  def example(proj_name=nil, dest=".")
    if proj_name.nil?
      puts "Available sample projects:"
      FileUtils.cd(File.dirname(__FILE__) + "/../examples") do
        Dir["*"].each {|proj| puts "  #{proj}"}
      end
      return
    end
    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
  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

2 entries across 2 versions & 1 rubygems

Version Path
ceedling-0.0.4 bin/ceedling
ceedling-0.0.3 bin/ceedling