Class: Nuget
- Inherits:
-
Object
- Object
- Nuget
- Defined in:
- lib/apps/nuget.rb
Overview
puts __FILE__ if defined?(DEBUG)
Class Method Summary collapse
- .get_build_commands(nuspec_file) ⇒ Object
- .get_versions(filename) ⇒ Object
- .set_versions(filename, versions) ⇒ Object
- .update_versions(source_filename, destination_filename) ⇒ Object
Class Method Details
.get_build_commands(nuspec_file) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/apps/nuget.rb', line 14 def self.get_build_commands(nuspec_file) build_commands = nil if File.exist?(nuspec_file) build_commands = [] if build_commands.nil? build_commands << if defined?(INCLUDE_REFERENCED_PROJECTS) "nuget pack #{nuspec_file} -IncludeReferencedProjects" else "nuget pack #{nuspec_file}" end end build_commands end |
.get_versions(filename) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/apps/nuget.rb', line 27 def self.get_versions(filename) versions = {} if filename.include?(".nuspec") nuspec_text = File.read(filename, encoding: "UTF-8") nuspec_text.scan(/<dependency\s+id="([\w.]+)"\s+version="([\d.]+[-\w]+)"/).each do |row| versions[row[0]] = row[1] end return versions end if filename.include?("packages.config") config_text = File.read(filename, encoding: "UTF-8") config_text.scan(/<package\s+id="([\w.]+)"\s+version="([\d.]+[-\w]+)"/).each do |row| versions[row[0]] = row[1] end return versions end if filename.include?(".csproj") config_text = File.read(filename, encoding: "UTF-8") config_text.scan(/<PackageReference\s+Include="([\w.]+)"\s+Version="([\d.]+[-\w]+)"/).each do |row| versions[row[0]] = row[1] end return versions end versions end |
.set_versions(filename, versions) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/apps/nuget.rb', line 53 def self.set_versions(filename, versions) text = File.read(filename, encoding: "UTF-8") text_versions = text.scan(/id="[\w.]+"\s+version="[\d.]+[-\w]+"/) text2 = text versions.each do |k, v| text_versions.each do |line| if line.include?("\"#{k}\"") new_line = "id=\"#{k}\" version=\"#{v}\"" text2 = text2.gsub(line, new_line) end end end File.open(filename, "w") { |f| f.puts text2 } unless text == text2 end |
.update_versions(source_filename, destination_filename) ⇒ Object
68 69 70 71 72 73 74 75 76 |
# File 'lib/apps/nuget.rb', line 68 def self.update_versions(source_filename, destination_filename) old_versions = Nuget.get_versions(destination_filename) source_versions = Nuget.get_versions(source_filename) new_versions = {} old_versions.each do |k, _v| new_versions[k] = source_versions[k] if source_versions.key?(k) end Nuget.set_versions(destination_filename, new_versions) end |