70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|  | # frozen_string_literal: true | ||
|  | 
 | ||
|  | lib = File.expand_path("../lib", __FILE__) | ||
|  | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | ||
|  | require "sassc/version" | ||
|  | 
 | ||
|  | Gem::Specification.new do |spec| | ||
|  | 
 | ||
|  |   spec.name          = "sassc" | ||
|  |   spec.version       = SassC::VERSION | ||
|  |   spec.authors       = ["Ryan Boland"] | ||
|  |   spec.email         = ["ryan@tanookilabs.com"] | ||
|  |   spec.summary       = "Use libsass with Ruby!" | ||
|  |   spec.description   = "Use libsass with Ruby!" | ||
|  |   spec.homepage      = "https://github.com/sass/sassc-ruby" | ||
|  |   spec.license       = "MIT" | ||
|  | 
 | ||
|  |   spec.files         = `git ls-files -z`.split("\x0") | ||
|  |   spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } | ||
|  |   spec.test_files    = spec.files.grep(%r{^(test|spec|features)/}) | ||
|  | 
 | ||
|  |   spec.required_ruby_version = ">= 2.0.0" | ||
|  | 
 | ||
|  |   spec.require_paths = ["lib"] | ||
|  | 
 | ||
|  |   spec.platform      = Gem::Platform::RUBY | ||
|  |   spec.extensions    = ["ext/extconf.rb"] | ||
|  | 
 | ||
|  |   spec.add_development_dependency "minitest", "~> 5.5.1" | ||
|  |   spec.add_development_dependency "minitest-around" | ||
|  |   spec.add_development_dependency "test_construct" | ||
|  |   spec.add_development_dependency "pry" | ||
|  |   spec.add_development_dependency "bundler" | ||
|  |   spec.add_development_dependency "rake" | ||
|  |   spec.add_development_dependency "rake-compiler" | ||
|  |   spec.add_development_dependency "rake-compiler-dock" | ||
|  | 
 | ||
|  |   spec.add_dependency "ffi", "~> 1.9" | ||
|  | 
 | ||
|  |   gem_dir = File.expand_path(File.dirname(__FILE__)) + "/" | ||
|  | 
 | ||
|  |   libsass_dir = File.join(gem_dir, 'ext', 'libsass') | ||
|  |   if !File.directory?(libsass_dir) || | ||
|  |       # '.', '..', and possibly '.git' from a failed checkout: | ||
|  |       Dir.entries(libsass_dir).size <= 3
 | ||
|  |     Dir.chdir(__dir__) { system('git submodule update --init') } or | ||
|  |         fail 'Could not fetch libsass' | ||
|  |   end | ||
|  | 
 | ||
|  |   # Write a VERSION file for non-binary gems (for `SassC::Native.version`). | ||
|  |   if File.exist?(File.join(libsass_dir, '.git')) | ||
|  |     libsass_version = Dir.chdir(libsass_dir) do | ||
|  |       %x[git describe --abbrev=4 --dirty --always --tags].chomp | ||
|  |     end | ||
|  |     File.write(File.join(libsass_dir, 'VERSION'), libsass_version) | ||
|  |   end | ||
|  | 
 | ||
|  |   Dir.chdir(libsass_dir) do | ||
|  |     submodule_relative_path = File.join('ext', 'libsass') | ||
|  |     skip_re = %r{(^("?test|docs|script)/)|\.md$|\.yml$} | ||
|  |     only_re = %r{\.[ch](pp)?$} | ||
|  |     `git ls-files`.split($\).each do |filename| | ||
|  |       next if filename =~ skip_re || filename !~ only_re | ||
|  |       spec.files << File.join(submodule_relative_path, filename) | ||
|  |     end | ||
|  |     spec.files << File.join(submodule_relative_path, 'VERSION') | ||
|  |   end | ||
|  | 
 | ||
|  | end |