capistrano-karaf 1.6.7 → 1.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/capistrano-karaf/install.rb +17 -14
  2. metadata +2 -2
@@ -54,6 +54,7 @@ module Install
54
54
  #
55
55
  # args - a hash containing optional args:
56
56
  # - :startlevel_before_upgrade - the number of the startlevel to go to before upgrading
57
+ # - :startlevel_after_upgrade - the number of the startlevel to go to after upgrading
57
58
  #
58
59
  # Examples
59
60
  # upgrade([{:feature_url => "mvn:repository/featurea/xml/features/1.1.0",
@@ -75,21 +76,23 @@ module Install
75
76
  #
76
77
  # Returns nothing
77
78
  def upgrade (projects, args={})
78
- args = {:startlevel_before_upgrade => 60}.merge(args)
79
- initial_level = startlevel
79
+ args = {:startlevel_before_upgrade => 60, :startlevel_after_upgrade => 100}.merge(args)
80
80
  features = list_features
81
81
  to_uninstall, to_install = calculate_upgrade_actions(projects, features)
82
82
 
83
83
  begin
84
84
  # decrease the start level
85
- startlevel_set args[:startlevel_before_upgrade]
86
- ensure_all_bundles_are_stopped args[:startlevel_before_upgrade]
87
-
88
- # uninstall the calculated features in reverse order
89
- to_uninstall.reverse.each do |f|
90
- trigger_event(f, :before_uninstall_feature)
91
- feature_uninstall(f[:name], f[:version])
92
- trigger_event(f, :after_uninstall_feature)
85
+
86
+ unless to_uninstall.empty?
87
+ startlevel_set args[:startlevel_before_upgrade]
88
+ ensure_all_bundles_are_stopped args[:startlevel_before_upgrade]
89
+
90
+ # uninstall the calculated features in reverse order
91
+ to_uninstall.reverse.each do |f|
92
+ trigger_event(f, :before_uninstall_feature)
93
+ feature_uninstall(f[:name], f[:version])
94
+ trigger_event(f, :after_uninstall_feature)
95
+ end
93
96
  end
94
97
 
95
98
  # install the new features
@@ -101,11 +104,11 @@ module Install
101
104
  trigger_event(f, :after_install_feature)
102
105
  end
103
106
  ensure
104
- puts "Restoring the level to #{initial_level}"
107
+ puts "Restoring the level to #{args[:startlevel_after_upgrade]}"
105
108
 
106
109
  # restore the runlevel to the level before upgrading
107
- startlevel_set initial_level
108
- ensure_all_bundles_are_restarted args[:startlevel_before_upgrade], initial_level
110
+ startlevel_set args[:startlevel_after_upgrade]
111
+ ensure_all_bundles_are_restarted args[:startlevel_before_upgrade], args[:startlevel_after_upgrade]
109
112
  end
110
113
 
111
114
  restart_failed_bundles
@@ -230,7 +233,7 @@ module Install
230
233
  wait_for_all_bundles(:timeout => 600, :sleeptime => 10) do |b|
231
234
  if (b[:level].to_i > level_before_upgrade and
232
235
  b[:level].to_i <= initial_level)
233
- ["Active","Resolved"].include? b[:status]
236
+ ["Active","Resolved","Failed"].include? b[:status]
234
237
  else
235
238
  true
236
239
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-karaf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.7
4
+ version: 1.6.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-16 00:00:00.000000000 Z
12
+ date: 2014-07-17 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description:
15
15
  email: brecht.hoflack@gmail.com