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'