Class Index [+]

Quicksearch

RAKE_ROOT = File.expand_path(File.dirname(FILE))

# Allow override of RELEASE using BUILD_NUMBER ENV[“RELEASE”] = ENV[“BUILD_NUMBER“] if ENV[“BUILD_NUMBER“]

begin

  load File.join(RAKE_ROOT, 'ext', 'packaging.rake')

rescue LoadError end

def announce(msg=’’)

  STDERR.puts "================"
  STDERR.puts msg
  STDERR.puts "================"

end

def safe_system *args

  raise RuntimeError, "Failed: #{args.join(' ')}" unless system(*args)

end

def load_tools

  unless File.directory?(File.join(RAKE_ROOT, 'ext', 'packaging'))
    Rake::Task["package:bootstrap"].invoke
    begin
      load File.join(RAKE_ROOT, 'ext', 'packaging.rake')
    rescue LoadError
      STDERR.puts "Could not load packaging tools. exiting"
      exit 1
    end
  end

end

def move_artifacts

  mv("pkg", "build")

end

desc “Cleanup” task :clean do

  rm_rf "build"
  rm_rf "doc"

end

desc “Create the .debs” task :deb => :clean do

  load_tools
  announce("Building debian packages for #{@build.project}-#{@build.version}-#{@build.release}")
  Rake::Task["package:deb"].invoke

  if ENV['SIGNED'] == '1'
    deb_flag = "-k#{ENV['SIGNWITH']}" if ENV['SIGNWITH']
    safe_system %{/usr/bin/debsign #{deb_flag} pkg/deb/*.changes}
  end
  move_artifacts

end

desc “Build documentation” task :doc => :clean do

  load_tools
  Rake::Task["package:doc"].invoke

end

desc “Build a gem” task :gem => :clean do

  load_tools
  Rake::Task["gem"].reenable
  Rake::Task["package:gem"].invoke

end

desc “Create a tarball for this release” task :package => :clean do

  load_tools
  announce "Creating #{@build.project}-#{@build.version}.tar.gz"
  Rake::Task["package:tar"].invoke
  move_artifacts

end

desc “Creates a RPM” task :rpm => :clean do

  load_tools
  announce("Building RPM for #{@build.project}-#{@build.version}-#{@build.release}")
  Rake::Task["package:rpm"].invoke
  Rake::Task["package:srpm"].invoke
  if ENV['SIGNED'] == '1'
    safe_system %{/usr/bin/rpm --sign pkg/**/*.rpm}
  end
  move_artifacts

end

desc “Run spec tests” task :test do

  sh "cd spec && rake"

end

desc “Creates the website as a tarball” task :website => :clean do

  FileUtils.mkdir_p("build/marionette-collective.org/html")

  Dir.chdir("website") do
    safe_system("jekyll ../build/marionette-collective.org/html")
  end

  unless File.exist?("build/marionette-collective.org/html/index.html")
    raise "Failed to build website"
  end

  Dir.chdir("build") do
    safe_system("tar -cvzf marionette-collective-org-#{Time.now.to_i}.tgz marionette-collective.org")
  end

end

desc “Update the website error code reference based on current local” task :update_msgweb do

  mcollective_dir = File.join(File.dirname(__FILE__))

  $:.insert(0, File.join(mcollective_dir, "lib"))

  require 'mcollective'

  messages = YAML.load_file(File.join(mcollective_dir, "lib", "mcollective", "locales", "en.yml"))

  webdir = File.join(mcollective_dir, "website", "messages")

  I18n.load_path = Dir[File.join(mcollective_dir, "lib", "mcollective", "locales", "*.yml")]
  I18n.locale = :en

  messages["en"].keys.each do |msg_code|
    md_file = File.join(webdir, "#{msg_code}.md")

    puts "....writing %s" % md_file

    File.open(md_file, "w") do |md|
      md.puts "---"
      md.puts "layout: default"
      md.puts "title: Message detail for %s" % msg_code
      md.puts "toc: false"
      md.puts "---"
      md.puts
      md.puts "Example Message"
      md.puts "---------------"
      md.puts
      md.puts "    %s" % (MCollective::Util.t("%s.example" % msg_code, :raise => true) rescue MCollective::Util.t("%s.pattern" % msg_code))
      md.puts
      md.puts "Additional Information"
      md.puts "----------------------"
      md.puts
      md.puts MCollective::Util.t("%s.expanded" % msg_code, :raise => true)
    end
  end

end

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.