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