From 6d8632533ca6fb3cca2567209a812f6f60f8969d Mon Sep 17 00:00:00 2001 From: Tim Smith Date: Wed, 25 Jul 2018 14:58:37 -0700 Subject: [PATCH] Move gems to Gemfile & add new Rake tasks Switch from rdoc to yard. Add console task / irb like our other gems. Remove the old changelog generator task Signed-off-by: Tim Smith --- Gemfile | 25 +++++++++++++++++++++++-- README.md | 14 +++++++++++--- Rakefile | 33 ++++++++++++++++++++------------- mixlib-log.gemspec | 4 ---- 4 files changed, 54 insertions(+), 22 deletions(-) diff --git a/Gemfile b/Gemfile index 13ce910..432ee84 100755 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,28 @@ source "https://rubygems.org" gemspec +group :docs do + gem "yard" + gem "redcarpet" + gem "github-markup" +end + +group :test do + gem "chefstyle", git: "https://github.com/chef/chefstyle.git", branch: "master" + gem "rspec", "~> 3.7" + gem "cucumber" + gem "rake" +end + group :development do - gem "rdoc" - gem "bundler" + gem "pry" + gem "pry-byebug" + gem "pry-stack_explorer" + gem "rb-readline" end + +instance_eval(ENV["GEMFILE_MOD"]) if ENV["GEMFILE_MOD"] + +# If you want to load debugging tools into the bundle exec sandbox, +# add these additional dependencies into Gemfile.local +eval_gemfile(__FILE__ + ".local") if File.exist?(__FILE__ + ".local") diff --git a/README.md b/README.md index 3a31a6b..785cce8 100644 --- a/README.md +++ b/README.md @@ -31,13 +31,21 @@ Log.init('/tmp/logfile', 7) # log to /tmp/logfile, rotate every day Enjoy! +## Documentation + +All documentation is written using YARD. You can generate a by running: + +``` +rake docs +``` + ## Contributing -For information on contributing to this project see +For information on contributing to this project please see our [Contributing Documentation](https://github.com/chef/chef/blob/master/CONTRIBUTING.md) -## License +## License & Copyright -- Copyright:: Copyright (c) 2008-2016 Chef Software, Inc. +- Copyright:: Copyright (c) 2008-2018 Chef Software, Inc. - License:: Apache License, Version 2.0 ```text diff --git a/Rakefile b/Rakefile index f691381..1b9ec9a 100644 --- a/Rakefile +++ b/Rakefile @@ -1,22 +1,14 @@ require "bundler/gem_tasks" -require "rdoc/task" require "rspec/core/rake_task" require "cucumber/rake/task" -RSpec::Core::RakeTask.new(:spec) do |spec| - spec.pattern = "spec/**/*_spec.rb" -end - task default: [:style, :spec, :features] -# For rubygems-test -task test: :spec +Bundler::GemHelper.install_tasks -RDoc::Task.new do |rdoc| - rdoc.rdoc_dir = "rdoc" - rdoc.title = "mixlib-log #{Mixlib::Log::VERSION}" - rdoc.rdoc_files.include("README*") - rdoc.rdoc_files.include("lib/**/*.rb") +desc "Run specs" +RSpec::Core::RakeTask.new(:spec) do |spec| + spec.pattern = "spec/**/*_spec.rb" end Cucumber::Rake::Task.new(:features) do |t| @@ -30,5 +22,20 @@ begin task.options += ["--display-cop-names", "--no-color"] end rescue LoadError - puts "chefstyle/rubocop is not available. gem install chefstyle to do style checking." + puts "chefstyle/rubocop is not available. bundle install first to make sure all dependencies are installed." +end + +begin + require "yard" + YARD::Rake::YardocTask.new(:docs) +rescue LoadError + puts "yard is not available. bundle install first to make sure all dependencies are installed." +end + +task :console do + require "irb" + require "irb/completion" + require "mixlib/log" + ARGV.clear + IRB.start end diff --git a/mixlib-log.gemspec b/mixlib-log.gemspec index c44427c..fe418eb 100644 --- a/mixlib-log.gemspec +++ b/mixlib-log.gemspec @@ -12,8 +12,4 @@ Gem::Specification.new do |gem| gem.extra_rdoc_files = ["README.md", "LICENSE", "NOTICE"] gem.files = Dir["lib/**/*"] + Dir["spec/**/*"] + ["Gemfile", "Rakefile", ".gemtest", "mixlib-log.gemspec"] gem.required_ruby_version = ">= 2.2" - gem.add_development_dependency "rake" - gem.add_development_dependency "rspec", "~> 3.7" - gem.add_development_dependency "chefstyle" - gem.add_development_dependency "cucumber" end