From d4daf6c327a78ebf533c526a81c0bd1794872b60 Mon Sep 17 00:00:00 2001 From: SHIBATA Hiroshi Date: Mon, 11 Jul 2016 18:15:39 +0900 Subject: use "bundler/gem_tasks" instead of hoe --- .gitignore | 11 ++++- Gemfile | 4 ++ Rakefile | 128 +++++----------------------------------------------------- bin/console | 14 +++++++ bin/setup | 8 ++++ psych.gemspec | 45 +++++++++++++++++++++ 6 files changed, 89 insertions(+), 121 deletions(-) create mode 100644 Gemfile create mode 100755 bin/console create mode 100755 bin/setup create mode 100644 psych.gemspec diff --git a/.gitignore b/.gitignore index 26036d4..11c9ee3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,12 @@ *.jar *.class .mvn -/pkg -/tmp +/.bundle/ +/.yardoc +/Gemfile.lock +/_yardoc/ +/coverage/ +/doc/ +/pkg/ +/spec/reports/ +/tmp/ diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..74846fa --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +# Specify your gem's dependencies in psych.gemspec +gemspec diff --git a/Rakefile b/Rakefile index 062b49a..82af4bf 100644 --- a/Rakefile +++ b/Rakefile @@ -1,123 +1,13 @@ -# -*- ruby -*- +require "bundler/gem_tasks" +require "rake/testtask" +require 'rake/extensiontask' -require 'psych' -require 'rubygems' -require 'hoe' - -def java? - RUBY_PLATFORM =~ /java/ -end - -class Hoe - remove_const :RUBY_FLAGS - flags = "-I#{%w(lib ext bin test).join(File::PATH_SEPARATOR)}" - flags = "--1.9 " + flags if java? - RUBY_FLAGS = flags -end - -gem 'rake-compiler', '>= 0.4.1' -gem 'minitest', '~> 5.0' -require "rake/extensiontask" - -Hoe.plugin :doofus, :git, :gemspec - -$hoe = Hoe.spec 'psych' do - license 'MIT' - developer 'Aaron Patterson', 'aaron@tenderlovemaking.com' - - self.extra_rdoc_files = Dir['*.rdoc'] - self.history_file = 'CHANGELOG.rdoc' - self.readme_file = 'README.rdoc' - self.testlib = :minitest - - extra_dev_deps << ['rake-compiler', '>= 0.4.1'] - extra_dev_deps << ['minitest', '~> 5.0'] - - self.spec_extras = { - :required_ruby_version => '>= 1.9.2' - } - - if java? - require './lib/psych/versions.rb' - extra_deps << ['jar-dependencies', '>= 0.1.7'] - - # the jar declaration for jar-dependencies - self.spec_extras[ 'requirements' ] = "jar org.yaml:snakeyaml, #{Psych::DEFAULT_SNAKEYAML_VERSION}" - self.spec_extras[ 'platform' ] = 'java' - # TODO: clean this section up. - require "rake/javaextensiontask" - Rake::JavaExtensionTask.new("psych", spec) do |ext| - require 'maven/ruby/maven' - # uses Mavenfile to write classpath into pkg/classpath - # and tell maven via system properties the snakeyaml version - # this is basically the same as running from the commandline: - # rmvn dependency:build-classpath -Dsnakeyaml.version='use version from Psych::DEFAULT_SNAKEYAML_VERSION here' - Maven::Ruby::Maven.new.exec( 'dependency:build-classpath', "-Dsnakeyaml.version=#{Psych::DEFAULT_SNAKEYAML_VERSION}", '-Dverbose=true')#, '--quiet' ) - ext.source_version = '1.7' - ext.target_version = '1.7' - ext.classpath = File.read('pkg/classpath') - ext.ext_dir = 'ext/java' - end - else - self.spec_extras[:extensions] = ["ext/psych/extconf.rb"] - Rake::ExtensionTask.new "psych", spec do |ext| - ext.lib_dir = File.join(*['lib', ENV['FAT_DIR']].compact) - end - end -end - -def gem_build_path - File.join 'pkg', $hoe.spec.full_name -end - -def add_file_to_gem relative_path - target_path = File.join gem_build_path, relative_path - target_dir = File.dirname(target_path) - mkdir_p target_dir unless File.directory?(target_dir) - rm_f target_path - safe_ln relative_path, target_path - $hoe.spec.files.concat [relative_path] +Rake::TestTask.new(:test) do |t| + t.libs << "test" + t.libs << "lib" + t.test_files = FileList['test/**/*_test.rb'] end -if java? - task gem_build_path => [:compile] do - add_file_to_gem 'lib/psych.jar' - end -end - -Hoe.add_include_dirs('.:lib/psych') - -task :test => :compile - -task :hack_spec do - $hoe.spec.extra_rdoc_files.clear -end -task 'core:spec' => [:hack_spec, 'gem:spec'] - -desc "merge psych in to ruby trunk" -namespace :merge do - basedir = File.expand_path File.dirname __FILE__ - rubydir = File.join ENV['HOME'], 'git', 'ruby' - mergedirs = { - # From # To - [basedir, 'ext', 'psych/'] => [rubydir, 'ext', 'psych/'], - [basedir, 'lib/'] => [rubydir, 'ext', 'psych', 'lib/'], - [basedir, 'test', 'psych/'] => [rubydir, 'test', 'psych/'], - } - - rsync = 'rsync -av --exclude lib --exclude ".*" --exclude "*.o" --exclude Makefile --exclude mkmf.log --delete' - - task :to_ruby do - mergedirs.each do |from, to| - sh "#{rsync} #{File.join(*from)} #{File.join(*to)}" - end - end - - task :from_ruby do - mergedirs.each do |from, to| - sh "#{rsync} #{File.join(*to)} #{File.join(*from)}" - end - end -end +Rake::ExtensionTask.new("psych") -# vim: syntax=ruby +task :default => :test diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..54ba4ea --- /dev/null +++ b/bin/console @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby + +require "bundler/setup" +require "psych" + +# You can add fixtures and/or initialization code here to make experimenting +# with your gem easier. You can also use a different console, if you like. + +# (If you use this, don't forget to add pry to your Gemfile!) +# require "pry" +# Pry.start + +require "irb" +IRB.start diff --git a/bin/setup b/bin/setup new file mode 100755 index 0000000..dce67d8 --- /dev/null +++ b/bin/setup @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' +set -vx + +bundle install + +# Do any other automated setup that you need to do here diff --git a/psych.gemspec b/psych.gemspec new file mode 100644 index 0000000..11e22d7 --- /dev/null +++ b/psych.gemspec @@ -0,0 +1,45 @@ +# -*- encoding: utf-8 -*- +# stub: psych 2.1.0 ruby lib +# stub: ext/psych/extconf.rb + +Gem::Specification.new do |s| + s.name = "psych" + s.version = "2.1.0" + + s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.require_paths = ["lib"] + s.authors = ["Aaron Patterson"] + s.date = "2016-06-24" + s.description = "Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML]\nfor its YAML parsing and emitting capabilities. In addition to wrapping\nlibyaml, Psych also knows how to serialize and de-serialize most Ruby objects\nto and from the YAML format." + s.email = ["aaron@tenderlovemaking.com"] + s.extensions = ["ext/psych/extconf.rb"] + s.extra_rdoc_files = ["CHANGELOG.rdoc", "Manifest.txt", "README.rdoc", "CHANGELOG.rdoc", "README.rdoc"] + s.files = [".autotest", ".travis.yml", "CHANGELOG.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h", "ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", "ext/psych/psych_parser.c", "ext/psych/psych_parser.h", "ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h", "ext/psych/yaml/LICENSE", "ext/psych/yaml/api.c", "ext/psych/yaml/config.h", "ext/psych/yaml/dumper.c", "ext/psych/yaml/emitter.c", "ext/psych/yaml/loader.c", "ext/psych/yaml/parser.c", "ext/psych/yaml/reader.c", "ext/psych/yaml/scanner.c", "ext/psych/yaml/writer.c", "ext/psych/yaml/yaml.h", "ext/psych/yaml/yaml_private.h", "lib/psych.rb", "lib/psych/class_loader.rb", "lib/psych/coder.rb", "lib/psych/core_ext.rb", "lib/psych/deprecated.rb", "lib/psych/exception.rb", "lib/psych/handler.rb", "lib/psych/handlers/document_stream.rb", "lib/psych/handlers/recorder.rb", "lib/psych/json/ruby_events.rb", "lib/psych/json/stream.rb", "lib/psych/json/tree_builder.rb", "lib/psych/json/yaml_events.rb", "lib/psych/nodes.rb", "lib/psych/nodes/alias.rb", "lib/psych/nodes/document.rb", "lib/psych/nodes/mapping.rb", "lib/psych/nodes/node.rb", "lib/psych/nodes/scalar.rb", "lib/psych/nodes/sequence.rb", "lib/psych/nodes/stream.rb", "lib/psych/omap.rb", "lib/psych/parser.rb", "lib/psych/scalar_scanner.rb", "lib/psych/set.rb", "lib/psych/stream.rb", "lib/psych/streaming.rb", "lib/psych/syntax_error.rb", "lib/psych/tree_builder.rb", "lib/psych/versions.rb", "lib/psych/visitors.rb", "lib/psych/visitors/depth_first.rb", "lib/psych/visitors/emitter.rb", "lib/psych/visitors/json_tree.rb", "lib/psych/visitors/to_ruby.rb", "lib/psych/visitors/visitor.rb", "lib/psych/visitors/yaml_tree.rb", "lib/psych/y.rb", "lib/psych_jars.rb", "test/psych/handlers/test_recorder.rb", "test/psych/helper.rb", "test/psych/json/test_stream.rb", "test/psych/nodes/test_enumerable.rb", "test/psych/test_alias_and_anchor.rb", "test/psych/test_array.rb", "test/psych/test_boolean.rb", "test/psych/test_class.rb", "test/psych/test_coder.rb", "test/psych/test_date_time.rb", "test/psych/test_deprecated.rb", "test/psych/test_document.rb", "test/psych/test_emitter.rb", "test/psych/test_encoding.rb", "test/psych/test_exception.rb", "test/psych/test_hash.rb", "test/psych/test_json_tree.rb", "test/psych/test_merge_keys.rb", "test/psych/test_nil.rb", "test/psych/test_null.rb", "test/psych/test_numeric.rb", "test/psych/test_object.rb", "test/psych/test_object_references.rb", "test/psych/test_omap.rb", "test/psych/test_parser.rb", "test/psych/test_psych.rb", "test/psych/test_safe_load.rb", "test/psych/test_scalar.rb", "test/psych/test_scalar_scanner.rb", "test/psych/test_serialize_subclasses.rb", "test/psych/test_set.rb", "test/psych/test_stream.rb", "test/psych/test_string.rb", "test/psych/test_struct.rb", "test/psych/test_symbol.rb", "test/psych/test_tainted.rb", "test/psych/test_to_yaml_properties.rb", "test/psych/test_tree_builder.rb", "test/psych/test_yaml.rb", "test/psych/test_yamldbm.rb", "test/psych/test_yamlstore.rb", "test/psych/visitors/test_depth_first.rb", "test/psych/visitors/test_emitter.rb", "test/psych/visitors/test_to_ruby.rb", "test/psych/visitors/test_yaml_tree.rb"] + s.homepage = "http://github.com/tenderlove/psych" + s.licenses = ["MIT"] + s.rdoc_options = ["--main", "README.rdoc"] + s.required_ruby_version = Gem::Requirement.new(">= 1.9.2") + s.rubygems_version = "2.5.1" + s.summary = "Psych is a YAML parser and emitter" + + if s.respond_to? :specification_version then + s.specification_version = 4 + + if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then + s.add_development_dependency(%q, ["~> 4.0"]) + s.add_development_dependency(%q, [">= 0.4.1"]) + s.add_development_dependency(%q, ["~> 5.0"]) + s.add_development_dependency(%q, ["~> 3.15"]) + else + s.add_dependency(%q, ["~> 4.0"]) + s.add_dependency(%q, [">= 0.4.1"]) + s.add_dependency(%q, ["~> 5.0"]) + s.add_dependency(%q, ["~> 3.15"]) + end + else + s.add_dependency(%q, ["~> 4.0"]) + s.add_dependency(%q, [">= 0.4.1"]) + s.add_dependency(%q, ["~> 5.0"]) + s.add_dependency(%q, ["~> 3.15"]) + end +end -- cgit v1.2.3