Skip to content

Commit 1160d49

Browse files
committed
Enabling tagging of beta releases for .NET bindings
1 parent 1c2fbcb commit 1160d49

File tree

6 files changed

+55
-101
lines changed

6 files changed

+55
-101
lines changed

dotnet/build.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ dotnet_release(name = "release",
2121
"//dotnet/src/support:package",
2222
"//dotnet/src/core:package",
2323
"//dotnet/src/webdriverbackedselenium:package",
24-
"//dotnet/docs:docs"
24+
"//dotnet/docs:docs"
2525
],
2626
desc = ".NET bindings for Selenium, including the RC and WebDriver APIs.",
2727
featured = "true",

dotnet/src/core/Properties/AssemblyInfo.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@
2121
// Minor Version
2222
// Build Number
2323
// Revision
24-
[assembly: AssemblyVersion("2.53.0.0")]
25-
[assembly: AssemblyFileVersion("2.53.0.0")]
24+
[assembly: AssemblyVersion("3.0.0.0")]
25+
[assembly: AssemblyFileVersion("3.0.0.0")]
26+
[assembly: AssemblyInformationalVersion("3.0.0-beta1")]

dotnet/src/support/Properties/AssemblyInfo.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,6 @@
4949
// Minor Version
5050
// Build Number
5151
// Revision
52-
[assembly: AssemblyVersion("2.53.0.0")]
53-
[assembly: AssemblyFileVersion("2.53.0.0")]
52+
[assembly: AssemblyVersion("3.0.0.0")]
53+
[assembly: AssemblyFileVersion("3.0.0.0")]
54+
[assembly: AssemblyInformationalVersion("3.0.0-beta1")]

dotnet/src/webdriver/Properties/AssemblyInfo.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,6 @@
4848
// Minor Version
4949
// Build Number
5050
// Revision
51-
[assembly: AssemblyVersion("2.53.0.0")]
52-
[assembly: AssemblyFileVersion("2.53.0.0")]
51+
[assembly: AssemblyVersion("3.0.0.0")]
52+
[assembly: AssemblyFileVersion("3.0.0.0")]
53+
[assembly: AssemblyInformationalVersion("3.0.0-beta1")]

dotnet/src/webdriverbackedselenium/Properties/AssemblyInfo.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,6 @@
4949
// Minor Version
5050
// Build Number
5151
// Revision
52-
[assembly: AssemblyVersion("2.53.0.0")]
53-
[assembly: AssemblyFileVersion("2.53.0.0")]
52+
[assembly: AssemblyVersion("3.0.0.0")]
53+
[assembly: AssemblyFileVersion("3.0.0.0")]
54+
[assembly: AssemblyInformationalVersion("3.0.0-beta1")]

rake-tasks/crazy_fun/mappings/visualstudio.rb

Lines changed: 42 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -65,47 +65,6 @@ def add_all(fun)
6565
end
6666
end
6767

68-
module CrazyFunVisualStudio
69-
class UploadFile < Tasks
70-
def handle(fun, dir, args)
71-
# Empty handle method as this will be a base class for tasks
72-
# requiring upload of their outputs.
73-
end
74-
75-
def upload_file(file_name, file_description, featured_file)
76-
py = "java -jar third_party/py/jython.jar"
77-
if (python?)
78-
py = "python"
79-
end
80-
81-
if ENV["googlecodeusername"].nil?
82-
print "Enter your googlecode username (or <Enter> to avoid upload):"
83-
googlecode_username = STDIN.gets.chomp
84-
else
85-
googlecode_username = ENV["googlecodeusername"]
86-
end
87-
if googlecode_username == ""
88-
print "googlecode user name not specified; not uploading file"
89-
return
90-
end
91-
if ENV["googlecodepassword"].nil?
92-
print "Enter your googlecode password (NOT your gmail password, the one you use for svn, available at https://code.google.com/hosting/settings):"
93-
googlecode_password = STDIN.gets.chomp
94-
else
95-
googlecode_password = ENV["googlecodepassword"]
96-
end
97-
featured = ""
98-
if featured_file
99-
featured = " -l Featured"
100-
end
101-
puts "Uploading file #{file_name}..."
102-
platform_file_name = file_name.gsub("/", Platform.dir_separator)
103-
command_line = "#{py} third_party/py/googlecode/googlecode_upload.py -s \"#{file_description}\"#{featured} -p selenium #{platform_file_name} -u #{googlecode_username} -w #{googlecode_password}"
104-
sh command_line
105-
end
106-
end
107-
end
108-
10968
module CrazyFunDotNet
11069
class DotNetTasks < Tasks
11170
def get_reference_assemblies_dir()
@@ -151,6 +110,33 @@ def find_environment_variable(possible_vars, fallback)
151110
end
152111
return ENV[var_name]
153112
end
113+
114+
def get_version(dir)
115+
found_version = version
116+
version_tag = ""
117+
list = FileList.new(dir + "/**/AssemblyInfo.cs").to_a
118+
if list.length > 0
119+
version_regexp = /^.*AssemblyVersion\(\"(.*)\"\).*$/
120+
version_tag_regexp = /^.*AssemblyInformationalVersion\(\".*-(.*)\"\).*$/
121+
assembly_info = File.open list[0]
122+
assembly_info.each do |line|
123+
version_match = line.match version_regexp
124+
if (not version_match.nil?)
125+
found_version = version_match[1]
126+
found_version = found_version[0..found_version.rindex(".") - 1]
127+
end
128+
version_tag_match = line.match version_tag_regexp
129+
if (not version_tag_match.nil?)
130+
version_tag = version_tag_match[1]
131+
end
132+
end
133+
assembly_info.close
134+
end
135+
if version_tag != ""
136+
found_version = found_version + "-" + version_tag
137+
end
138+
found_version
139+
end
154140
end
155141

156142
class DotNetLibrary < DotNetTasks
@@ -167,7 +153,7 @@ def handle(fun, dir, args)
167153
base_dir = File.join(base_dir, "dist")
168154
end
169155

170-
output_dir = base_dir
156+
output_dir = base_dir
171157
unless args[:merge_refs].nil?
172158
output_dir = File.join(output_dir, "unmerged")
173159
end
@@ -467,18 +453,19 @@ def handle(fun, dir, args)
467453
end
468454
end
469455

470-
class CreateNuSpec < Tasks
456+
class CreateNuSpec < DotNetTasks
471457
def handle(fun, dir, args)
472458
output_dir = "build/dotnet/dist"
473459
spec_file = "#{output_dir}/nuget/#{args[:packageid]}.nuspec"
474460
task_name = task_name(dir, args[:name])
461+
package_version = get_version(dir)
475462
desc "Creates and optionally publishes the NuGet package for #{args[:out]}"
476463
target = nuspec "#{task_name}" do |nuspec_task|
477464
mkdir_p "#{output_dir}/nuget"
478465
puts "Creating .nuspec for: #{task_name}"
479466
nuspec_task.output_file = spec_file
480467
nuspec_task.id = args[:packageid]
481-
nuspec_task.version = get_version(dir)
468+
nuspec_task.version = package_version
482469
nuspec_task.authors = "Selenium Committers"
483470
nuspec_task.description = args[:description]
484471
nuspec_task.owners = "Software Freedom Conservancy"
@@ -506,15 +493,15 @@ def handle(fun, dir, args)
506493

507494
unless args[:packagedeps].nil?
508495
args[:packagedeps].each do |dep|
509-
package_id = dep.keys[0]
510-
package_version = version
511-
package_dependency_task = task_name(dir, package_id)
496+
package_dependency_id = dep.keys[0]
497+
package_dependency_version = package_version
498+
package_dependency_task = task_name(dir, package_dependency_id)
512499
if Rake::Task.task_defined? package_dependency_task
513-
package_id = Rake::Task[package_dependency_task].out
500+
package_dependency_id = Rake::Task[package_dependency_task].out
514501
else
515-
package_version = "#{dep.fetch(package_id)}"
502+
package_version = "#{dep.fetch(package_dependency_id)}"
516503
end
517-
nuspec_task.dependency package_id, package_version
504+
nuspec_task.dependency package_dependency_id, package_dependency_version
518505
end
519506
end
520507

@@ -530,24 +517,6 @@ def handle(fun, dir, args)
530517
target.out = args[:packageid]
531518
add_dependencies(target, dir, args[:deps])
532519
end
533-
534-
def get_version(dir)
535-
found_version = version
536-
list = FileList.new(dir + "/**/AssemblyInfo.cs").to_a
537-
if list.length > 0
538-
regexp = /^.*AssemblyVersion\(\"(.*)\"\).*$/
539-
assembly_info = File.open list[0]
540-
assembly_info.each do |line|
541-
match = line.match regexp
542-
if (not match.nil?)
543-
found_version = match[1]
544-
found_version = found_version[0..found_version.rindex(".") - 1]
545-
end
546-
end
547-
assembly_info.close
548-
end
549-
found_version
550-
end
551520
end
552521

553522
class PackNuGetPackage < Tasks
@@ -565,10 +534,11 @@ def handle(fun, dir, args)
565534
end
566535
end
567536

568-
class PublishNuGetPackage < Tasks
537+
class PublishNuGetPackage < DotNetTasks
569538
def handle(fun, dir, args)
570539
output_dir = "build/dotnet/dist"
571-
package_file = "#{output_dir}/nuget/#{args[:packageid]}.#{version}.nupkg".gsub("/", Platform.dir_separator)
540+
package_version = get_version(dir)
541+
package_file = "#{output_dir}/nuget/#{args[:packageid]}.#{package_version}.nupkg".gsub("/", Platform.dir_separator)
572542
task_name = task_name(dir, args[:name])
573543
desc "Publishes NuGet package for #{task_name} to NuGet Gallery"
574544
target = task "#{task_name}" do
@@ -588,7 +558,7 @@ def handle(fun, dir, args)
588558
end
589559
end
590560

591-
class DotNetRelease < CrazyFunVisualStudio::UploadFile
561+
class DotNetRelease < DotNetTasks
592562
def handle(fun, dir, args)
593563
output_dir = 'build/dotnet'
594564
unless args[:signed].nil?
@@ -614,30 +584,11 @@ def handle(fun, dir, args)
614584
cp_r lst, tmp_dir
615585
zip(tmp_dir, output_file)
616586
rm_rf tmp_dir
617-
upload_file output_file, args[:desc], args.has_key?(:featured)
618587
end
619588

620589
add_dependencies(target, dir, args[:deps])
621590
target.out = output_file
622591
end
623-
624-
def get_version(dir)
625-
found_version = version
626-
list = FileList.new(dir + "/**/AssemblyInfo.cs").to_a
627-
if list.length > 0
628-
regexp = /^.*AssemblyVersion\(\"(.*)\"\).*$/
629-
assembly_info = File.open list[0], 'rb'
630-
assembly_info.each do |line|
631-
match = line.match regexp
632-
if (not match.nil?)
633-
found_version = match[1]
634-
found_version = found_version[0..found_version.rindex(".") - 1]
635-
end
636-
end
637-
assembly_info.close
638-
end
639-
found_version
640-
end
641592
end
642593
end
643594

@@ -687,7 +638,7 @@ def handle(fun, dir, args)
687638
end
688639
end
689640

690-
class VisualCRelease < CrazyFunVisualStudio::UploadFile
641+
class VisualCRelease < Tasks
691642
def handle(fun, dir, args)
692643
output_dir = 'build/cpp'
693644
file_name = args[:out].chomp(File.extname(args[:out])) + "_" + args[:platform] + "_" + get_version(dir) + ".zip"
@@ -706,7 +657,6 @@ def handle(fun, dir, args)
706657
if Rake::Task.task_defined? task_name
707658
dependency_output_file = Rake::Task[task_name].out
708659
do_zip(dependency_output_file, output_file)
709-
upload_file output_file, args[:desc], args.has_key?(:featured)
710660
end
711661
end
712662

0 commit comments

Comments
 (0)