@@ -50,6 +50,8 @@ namespace :ci do
50
50
task :run_ci_build => [ 'ripple:restore', 'build:all', 'docs:build', 'package:all' ]
51
51
end
52
52
53
+
54
+
53
55
namespace :ripple do
54
56
desc 'Restores NuGet package binaries'
55
57
task :restore do |cmd|
@@ -231,6 +233,31 @@ namespace :package do
231
233
end
232
234
end
233
235
236
+ task :upgradeNhVersion, :version do |cmd, args|
237
+ fail "Please provide version number to work with" if not args.has_key?(:version)
238
+ puts "Updating NH version to #{args[:version]}"
239
+ puts "Editing packages.config files..."
240
+ packages_configs = Rake::FileList['**/packages.config']
241
+ packages_configs.each do |pc|
242
+ update_xml pc do |xml|
243
+ xml.root.elements["package[@id='NHibernate']"].attributes['version'] = args[:version]
244
+ end
245
+ puts "Upgraded #{pc}"
246
+ end
247
+
248
+ puts "Editing .csproj files..."
249
+ project_files = Rake::FileList['**/*.csproj']
250
+ project_files.each do |pf|
251
+ update_xml pf do |xml|
252
+ old_value = xml.root.elements["ItemGroup[1]/Reference[contains(@Include, 'NHibernate')]/HintPath"].text
253
+ new_value = old_value.gsub(/(\d+).(\d+).(\d+).(\d+)/, args[:version])
254
+ xml.root.elements["ItemGroup[1]/Reference[contains(@Include, 'NHibernate')]/HintPath"].text = new_value
255
+ end
256
+ puts "Upgraded #{pf}"
257
+ end
258
+ puts "Done."
259
+ end
260
+
234
261
nugetpack :nupack do |nu|
235
262
nu.command = 'tools/nuget/NuGet.exe'
236
263
nu.nuspec = NUSPEC
@@ -265,6 +292,7 @@ def update_xml(xml_path)
265
292
#Open up the xml file
266
293
xml_file = File.new(xml_path)
267
294
xml = REXML::Document.new xml_file
295
+ xml.context[:attribute_quote] = :quote
268
296
269
297
#Allow caller to make the changes
270
298
yield xml
0 commit comments