Permalink
Browse files

use "bundler/gem_tasks" instead of hoe

  • Loading branch information...
1 parent debea6b commit d4daf6c327a78ebf533c526a81c0bd1794872b60 @hsbt hsbt committed Jul 11, 2016
Showing with 89 additions and 121 deletions.
  1. +9 −2 .gitignore
  2. +4 −0 Gemfile
  3. +9 −119 Rakefile
  4. +14 −0 bin/console
  5. +8 −0 bin/setup
  6. +45 −0 psych.gemspec
View
@@ -3,5 +3,12 @@
*.jar
*.class
.mvn
-/pkg
-/tmp
+/.bundle/
+/.yardoc
+/Gemfile.lock
+/_yardoc/
+/coverage/
+/doc/
+/pkg/
+/spec/reports/
+/tmp/
View
@@ -0,0 +1,4 @@
+source 'https://rubygems.org'
+
+# Specify your gem's dependencies in psych.gemspec
+gemspec
View
@@ -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
View
@@ -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
View
@@ -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
View
@@ -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<rdoc>, ["~> 4.0"])
+ s.add_development_dependency(%q<rake-compiler>, [">= 0.4.1"])
+ s.add_development_dependency(%q<minitest>, ["~> 5.0"])
+ s.add_development_dependency(%q<hoe>, ["~> 3.15"])
+ else
+ s.add_dependency(%q<rdoc>, ["~> 4.0"])
+ s.add_dependency(%q<rake-compiler>, [">= 0.4.1"])
+ s.add_dependency(%q<minitest>, ["~> 5.0"])
+ s.add_dependency(%q<hoe>, ["~> 3.15"])
+ end
+ else
+ s.add_dependency(%q<rdoc>, ["~> 4.0"])
+ s.add_dependency(%q<rake-compiler>, [">= 0.4.1"])
+ s.add_dependency(%q<minitest>, ["~> 5.0"])
+ s.add_dependency(%q<hoe>, ["~> 3.15"])
+ end
+end

0 comments on commit d4daf6c

Please sign in to comment.