OSDN Git Service

Enable dry-run option.
authorTatsuki Sugiura <sugi@nemui.org>
Mon, 14 Mar 2016 06:30:38 +0000 (15:30 +0900)
committerTatsuki Sugiura <sugi@nemui.org>
Mon, 14 Mar 2016 06:30:38 +0000 (15:30 +0900)
lib/osdn/cli/command/frs_upload.rb

index a40ace3..9767971 100644 (file)
@@ -47,8 +47,12 @@ module OSDN; module CLI; module Command
       Pathname.glob(@target_dir+'*').each do |pdir|
         unless load_variables(pdir).package_id
           logger.info "Createing new package '#{pdir.basename}'"
-          pinfo = api.create_package target_proj, pdir.basename, visibility: @visibility
-          update_variables pdir, package_id: pinfo.id
+          if @dry_run
+            pinfo = Hashie::Mash.new id: '(dry-run)', name: pdir.basename, url: '(dry-run)'
+          else
+            pinfo = api.create_package target_proj, pdir.basename, visibility: @visibility
+            update_variables pdir, package_id: pinfo.id
+          end
           $stdout.puts "New package '#{pinfo.name}' has been created; #{pinfo.url}"
         end
 
@@ -59,13 +63,12 @@ module OSDN; module CLI; module Command
             rinfo = api.get_release target_proj, target_package(rdir), target_release(rdir)
           else vars.release_id
             logger.info "Createing new release '#{rdir.basename}'"
-            rinfo = nil
-            if api.respond_to? :create_reelase # TODO: remove, just typo...
-              rinfo = api.create_reelase target_proj, target_package(rdir), rdir.basename, visibility: @visibility
+            if @dry_run
+              rinfo = Hashie::Mash.new id: '(dry-run)', name: rdir.basename, url: '(dry-run)', files: []
             else
               rinfo = api.create_release target_proj, target_package(rdir), rdir.basename, visibility: @visibility
+              update_variables rdir, release_id: rinfo.id
             end
-            update_variables rdir, release_id: rinfo.id
             $stdout.puts "New release '#{rinfo.name}' has been created; #{rinfo.url}"
           end
           
@@ -80,8 +83,12 @@ module OSDN; module CLI; module Command
             else
               logger.info "Uploading file #{file} (#{file.size} bytes)"
               # TODO: show progress bar!
-              finfo = api.create_release_file target_proj, target_package(rdir), target_release(rdir), file.open, visibility: @visibility
-              logger.info "Upload completed."
+              if @dry_run
+                finfo = Hashie::Mash.new id: '(dry-run)', url: '(dry-run)'
+              else
+                finfo = api.create_release_file target_proj, target_package(rdir), target_release(rdir), file.open, visibility: @visibility
+                logger.info "Upload completed."
+              end
               $stdout.puts "New file '#{file}' has been uploaded; #{finfo.url}"
             end
           end