Rakefile in transistor-0.1.3 vs Rakefile in transistor-0.1.4

- old
+ new

@@ -1,127 +1,40 @@ require 'rake' +require "bundler/gem_tasks" + require 'jslint-v8' -namespace :js do - JSLintV8::RakeTask.new do |task| - task.name = "lint" - task.description = "runs jslint against all important javascript files" - - task.output_stream = STDOUT - - task.include_pattern = "lib/transistor/*.js" - - task.browser = true # predefine Browser globals - end - - desc 'Build min and src version of transistor' - task :build do - system "rm -fr build/* && jake && cp build/src/*.js lib/assets/javascripts/ && git add build lib/assets/javascripts && git commit -m 'js build.'" - end -end - begin require 'jasmine' load 'jasmine/tasks/jasmine.rake' rescue LoadError task :jasmine do abort "Jasmine is not available. In order to run jasmine, you must: (sudo) gem install jasmine" end end +namespace :js do + JSLintV8::RakeTask.new do |task| + task.name = "lint" + task.description = "runs jslint against all important javascript files" -require "rubygems" -require "rubygems/package_task" -require "rdoc/task" + task.output_stream = STDOUT + task.include_pattern = "js/transistor/*.js" -# This builds the actual gem. For details of what all these options -# mean, and other ones you can add, check the documentation here: -# -# http://rubygems.org/read/chapter/20 -# -spec = Gem::Specification.new do |s| + task.browser = true # predefine Browser globals + task.nomen = false # allow _identifier + end - # Change these as appropriate - s.name = "transistor" - s.version = "0.1.3" - s.summary = "Client for the radiotower.io service" - s.author = "Jakob Holderbaum" - s.email = "jakob@featurefabrik.de" - s.homepage = "http://featurefabrik.com" - - s.has_rdoc = true - s.extra_rdoc_files = %w(README.md) - s.rdoc_options = %w(--main README.md) - - # Add any extra files to include in the gem - s.files = %w(Gemfile.lock Rakefile Gemfile README.md jake.yml) + Dir.glob("{spec,lib,build}/**/*") - s.require_paths = ["lib"] - - # If you want to depend on other gems, add them here, along with any - # relevant versions - # s.add_dependency("some_other_gem", "~> 0.1.0") - - # If your tests use any gems, include them here - s.add_development_dependency('jasmine') - s.add_development_dependency('jslint-v8') - s.add_development_dependency('jake') - s.add_development_dependency('rake') - s.add_development_dependency('gem-this') -end - -# This task actually builds the gem. We also regenerate a static -# .gemspec file, which is useful if something (i.e. GitHub) will -# be automatically building a gem for this project. If you're not -# using GitHub, edit as appropriate. -# -# To publish your gem online, install the 'gemcutter' gem; Read more -# about that here: http://gemcutter.org/pages/gem_docs -Gem::PackageTask.new(spec) do |pkg| - pkg.gem_spec = spec -end - -desc "Build the gemspec file #{spec.name}.gemspec" -task :gemspec do - file = File.dirname(__FILE__) + "/#{spec.name}.gemspec" - File.open(file, "w") {|f| f << spec.to_ruby } -end - -# If you don't want to generate the .gemspec file, just remove this line. Reasons -# why you might want to generate a gemspec: -# - using bundler with a git source -# - building the gem without rake (i.e. gem build blah.gemspec) -# - maybe others? -task :package => :gemspec - -# Generate documentation -RDoc::Task.new do |rd| - rd.main = "README.md" - rd.rdoc_files.include("README.md", "lib/**/*.rb") - rd.rdoc_dir = "rdoc" -end - -desc 'Clear out RDoc and generated packages' -task :clean => [:clobber_rdoc, :clobber_package] do - rm "#{spec.name}.gemspec" -end - -desc 'Tag the repository in git with gem version number' -task :tag => [:gemspec, "js:build", :package] do - if `git diff --cached`.empty? - if `git tag`.split("\n").include?("v#{spec.version}") - raise "Version #{spec.version} has already been released" + desc 'Build min and src version of transistor' + task :build => :lint do + if !`git diff --cached`.empty? + raise "Staged changes have to be commited first" end - `git add #{File.expand_path("../#{spec.name}.gemspec", __FILE__)} Gemfile.lock` - `git commit -m "Released version #{spec.version}"` - `git tag v#{spec.version}` - `git push --tags` - `git push` - else - raise "Unstaged changes still waiting to be committed" + if !`git diff`.empty? + raise "Unstaged changes have to be staged and commited first" + end + system "rm -fr build/* && jake && cp build/src/*.js lib/assets/javascripts/ && git add build lib/assets/javascripts && git commit -m 'rake js:build.'" end end -desc "Tag and publish the gem to rubygems.org" -task :publish => :tag do - `gem push pkg/#{spec.name}-#{spec.version}.gem` -end +task :build => 'js:build'