Sha256: 070e2b8f341f11ca33e59fb806b684dc2a5916654509b716ea91b27b3b383e16

Contents?: true

Size: 951 Bytes

Versions: 8

Compression:

Stored size: 951 Bytes

Contents

require "rscons/builder"
require "rscons/cache"
require "rscons/environment"
require "rscons/varset"
require "rscons/version"

require "rscons/monkey/module"
require "rscons/monkey/string"

# default builders
require "rscons/builders/library"
require "rscons/builders/object"
require "rscons/builders/program"

# Namespace module for rscons classes
module Rscons
  DEFAULT_BUILDERS = [
    Library,
    Object,
    Program,
  ]

  class BuildError < Exception
  end

  # Remove all generated files
  def self.clean
    cache = Cache.new
    # remove all built files
    cache.targets.each do |target|
      FileUtils.rm_f(target)
    end
    # remove all created directories if they are empty
    cache.directories.sort {|a, b| b.size <=> a.size}.each do |directory|
      next unless File.directory?(directory)
      if (Dir.entries(directory) - ['.', '..']).empty?
        Dir.rmdir(directory) rescue nil
      end
    end
    Cache.clear
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rscons-0.2.2 lib/rscons.rb
rscons-0.2.1 lib/rscons.rb
rscons-0.2.0 lib/rscons.rb
rscons-0.1.0 lib/rscons.rb
rscons-0.0.14 lib/rscons.rb
rscons-0.0.13 lib/rscons.rb
rscons-0.0.12 lib/rscons.rb
rscons-0.0.11 lib/rscons.rb