summaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-04-01 11:43:57 +0100
committerJon Leighton <j@jonathanleighton.com>2011-04-01 11:43:57 +0100
commitdbd6343217ab77c37948d1202541ae33076155ab (patch)
tree62d7ddcfa9380f527c212ab61599558d4a81fdce /Rakefile
parentf067f0c9b8b69b80b9e4e035d2130f8fca58370c (diff)
downloadjson-dbd6343217ab77c37948d1202541ae33076155ab.tar.gz
Put the json and json_pure gemspecs in standalone .gemspec files so that they can be used by Bundler
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile84
1 files changed, 4 insertions, 80 deletions
diff --git a/Rakefile b/Rakefile
index 8bbd7d9..d759e3b 100644
--- a/Rakefile
+++ b/Rakefile
@@ -20,31 +20,7 @@ CLEAN.include FileList['diagrams/*.*'], 'doc', 'coverage', 'tmp',
FileList['java/src/**/*.class']
MAKE = ENV['MAKE'] || %w[gmake make].find { |c| system(c, '-v') }
-PKG_NAME = 'json'
-PKG_TITLE = 'JSON Implementation for Ruby'
-PKG_VERSION = File.read('VERSION').chomp
-PKG_FILES = FileList["**/*"].exclude(/CVS|pkg|tmp|coverage|Makefile|\.nfs\.|\.iml\Z/).exclude(/\.(so|bundle|o|class|#{CONFIG['DLEXT']})$/)
-
-EXT_ROOT_DIR = 'ext/json/ext'
-EXT_PARSER_DIR = "#{EXT_ROOT_DIR}/parser"
-EXT_PARSER_DL = "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}"
-RAGEL_PATH = "#{EXT_PARSER_DIR}/parser.rl"
-EXT_PARSER_SRC = "#{EXT_PARSER_DIR}/parser.c"
-PKG_FILES << EXT_PARSER_SRC
-EXT_GENERATOR_DIR = "#{EXT_ROOT_DIR}/generator"
-EXT_GENERATOR_DL = "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}"
-EXT_GENERATOR_SRC = "#{EXT_GENERATOR_DIR}/generator.c"
-
-JAVA_DIR = "java/src/json/ext"
-JAVA_RAGEL_PATH = "#{JAVA_DIR}/Parser.rl"
-JAVA_PARSER_SRC = "#{JAVA_DIR}/Parser.java"
-JAVA_SOURCES = FileList["#{JAVA_DIR}/*.java"]
-JAVA_CLASSES = []
-JRUBY_PARSER_JAR = File.expand_path("lib/json/ext/parser.jar")
-JRUBY_GENERATOR_JAR = File.expand_path("lib/json/ext/generator.jar")
-
-RAGEL_CODEGEN = %w[rlcodegen rlgen-cd ragel].find { |c| system(c, '-v') }
-RAGEL_DOTGEN = %w[rlgen-dot rlgen-cd ragel].find { |c| system(c, '-v') }
+require File.dirname(__FILE__) + '/constants'
def myruby(*args, &block)
@myruby ||= File.join(CONFIG['bindir'], CONFIG['ruby_install_name'])
@@ -83,32 +59,8 @@ else
end
if defined?(Gem) and defined?(Rake::GemPackageTask)
- spec_pure = Gem::Specification.new do |s|
- s.name = 'json_pure'
- s.version = PKG_VERSION
- s.summary = PKG_TITLE
- s.description = "This is a JSON implementation in pure Ruby."
-
- s.files = PKG_FILES
-
- s.require_path = 'lib'
-
- s.bindir = "bin"
- s.executables = [ "edit_json.rb", "prettify_json.rb" ]
- s.default_executable = "edit_json.rb"
-
- s.has_rdoc = true
- s.extra_rdoc_files << 'README'
- s.rdoc_options <<
- '--title' << 'JSON implemention for ruby' << '--main' << 'README'
- s.test_files.concat Dir['./tests/test_*.rb']
-
- s.author = "Florian Frank"
- s.email = "flori@ping.de"
- s.homepage = "http://flori.github.com/#{PKG_NAME}"
- s.rubyforge_project = "json"
- end
-
+ spec_pure = Gem::Specification.load(File.dirname(__FILE__) + '/json_pure.gemspec')
+
Rake::GemPackageTask.new(spec_pure) do |pkg|
pkg.need_tar = true
pkg.package_files = PKG_FILES
@@ -116,35 +68,7 @@ if defined?(Gem) and defined?(Rake::GemPackageTask)
end
if defined?(Gem) and defined?(Rake::GemPackageTask) and defined?(Rake::ExtensionTask)
- spec_ext = Gem::Specification.new do |s|
- s.name = 'json'
- s.version = PKG_VERSION
- s.summary = PKG_TITLE
- s.description = "This is a JSON implementation as a Ruby extension in C."
-
- s.files = PKG_FILES
-
- s.extensions = FileList['ext/**/extconf.rb']
-
- s.require_path = EXT_ROOT_DIR
- s.require_paths << 'ext'
- s.require_paths << 'lib'
-
- s.bindir = "bin"
- s.executables = [ "edit_json.rb", "prettify_json.rb" ]
- s.default_executable = "edit_json.rb"
-
- s.has_rdoc = true
- s.extra_rdoc_files << 'README'
- s.rdoc_options <<
- '--title' << 'JSON implemention for Ruby' << '--main' << 'README'
- s.test_files.concat Dir['./tests/test_*.rb']
-
- s.author = "Florian Frank"
- s.email = "flori@ping.de"
- s.homepage = "http://flori.github.com/#{PKG_NAME}"
- s.rubyforge_project = "json"
- end
+ spec_ext = Gem::Specification.load(File.dirname(__FILE__) + '/json.gemspec')
Rake::GemPackageTask.new(spec_ext) do |pkg|
pkg.need_tar = true