Module: Rake::DevEiate::Releases
- Defined in:
- lib/rake/deveiate/releases.rb
Overview
Release tasks
Instance Method Summary collapse
-
#define_tasks ⇒ Object
Define release tasks.
-
#do_make_release_checksum(task, args) ⇒ Object
Create a checksum for a release gemfile.
-
#do_release_debug(task, args) ⇒ Object
Body of the release_debug task.
-
#do_release_gem(task, args) ⇒ Object
Body of the release_gem task.
Instance Method Details
#define_tasks ⇒ Object
Define release tasks.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rake/deveiate/releases.rb', line 13 def define_tasks super if defined?( super ) checksum_dir = Rake::DevEiate::CHECKSUM_DIR checksum_path = checksum_dir + "#{self.gem_filename}.sha512" directory( checksum_dir ) file( checksum_path => [self.gem_path, checksum_dir], &method(:do_make_release_checksum) ) task :add_release_checksum => checksum_path task( :release_gem => :add_release_checksum, &method(:do_release_gem) ) task :debug => :release_debug task( :release_debug, &method(:do_release_debug) ) end |
#do_make_release_checksum(task, args) ⇒ Object
Create a checksum for a release gemfile
32 33 34 35 36 37 |
# File 'lib/rake/deveiate/releases.rb', line 32 def do_make_release_checksum( task, args ) if self.prompt.yes?( "Make a checksum for this release?" ) checksum = Digest::SHA512.new.hexdigest( self.gem_path.read ) File.open( task.name, 'w', encoding: 'us-ascii' ) {|f| f.write(checksum) } end end |
#do_release_debug(task, args) ⇒ Object
Body of the release_debug task.
51 52 53 54 55 56 57 |
# File 'lib/rake/deveiate/releases.rb', line 51 def do_release_debug( task, args ) gemserver = self.allowed_push_host || Rake::DevEiate::DEFAULT_GEMSERVER self.prompt.say( "Releases will be pushed to:", color: :bright_green ) self.prompt.say( self.indent(gemserver, 4) ) self.prompt.say( "\n" ) end |
#do_release_gem(task, args) ⇒ Object
Body of the release_gem task.
41 42 43 44 45 46 47 |
# File 'lib/rake/deveiate/releases.rb', line 41 def do_release_gem( task, args ) gemserver = self.allowed_push_host || Rake::DevEiate::DEFAULT_GEMSERVER if self.prompt.yes?( "Push a new gem to #{gemserver}?" ) {|q| q.default(false) } sh( Gem.ruby, "-S", "gem", "push", self.gem_path.to_s ) end end |