lib/dtr/shared/sync_codebase/master_ext.rb in xli-dtr-0.0.5 vs lib/dtr/shared/sync_codebase/master_ext.rb in xli-dtr-1.0.0

- old
+ new

@@ -1,6 +1,6 @@ -# Copyright (c) 2007-2008 Li Xiao +# Copyright (c) 2007-2008 Li Xiao <iam@li-xiao.com> # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # @@ -10,38 +10,26 @@ # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -require 'test/unit/testresult' - module DTR module SyncCodebase + # Inject synchronizing codebase ability into Master#with_dtr_master + # Packaging codebase by rake task dtr_repackage (See DTR::PackageTask) module MasterExt include Service::File def self.included(base) base.alias_method_chain :with_dtr_master, :sync_codebase end def with_dtr_master_with_sync_codebase(&block) with_dtr_master_without_sync_codebase do - unless Cmd.execute('rake dtr_repackage --trace') - $stderr.puts %{ -Execute dtr_repackage rake task failed, see log for details. -For running DTR test task, you must define a DTR::PackageTask task in your rakefile for DTR need package and synchronize your codebase within grid. -Example: - require 'dtr/raketasks' - DTR::PackageTask.new do |p| - p.package_files.include("**/*") - p.package_files.exclude("tmp") - p.package_files.exclude("log") - end -} - return Test::Unit::TestResult.new - end + DTR.do_println("Packaging codebase") + raise 'Packaging for dtr task failed, see log for details!' unless Cmd.execute('rake dtr_repackage --trace') begin - provide_file Codebase.new + provide_file CopiablePackage.new block.call ensure Cmd.execute('rake dtr_clobber_package --trace') end end