nuget_helper 1.0.0 → 1.0.1
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.
- checksums.yaml +5 -5
- data/lib/nuget_helper.rb +7 -1
- data/lib/nuget_helper/nuspec.rb +3 -2
- data/lib/nuget_helper/version.rb +1 -1
- data/nuget_helper.gemspec +3 -3
- data/spec/Vs2013Solution/.nuget/packages.config +1 -0
- data/spec/next_version_spec.rb +40 -0
- data/spec/nuget_exec_spec.rb +13 -1
- metadata +11 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 35fd7d051e4dc0b5637b7113156450b529655ff1d85d1ef37ffeff6ebb9e5b63
|
4
|
+
data.tar.gz: dae10f9d85ea944ae8b741bb24422dbc2b01e8b5afb7456db560617e77662bff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 865bcfe112d2758d2976c7ac372687a07dd069718fd6a714634b89cd9f601f22832a9a52307c1567f46a8bdfd1e43464192cf09e846305d825e290b39b384091
|
7
|
+
data.tar.gz: 38e0bbba5d73b8c6edceaa8a92c0c74e58ff2cd5d891a8f0acf74af29bf9270f92268240d9b8bf6a7686ce96cccd78ea4fa82f32edaa296629fe69c0c5be5506
|
data/lib/nuget_helper.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
require_relative "./nuget_helper/version"
|
2
2
|
require_relative "./nuget_helper/nuspec"
|
3
3
|
require "open3"
|
4
|
-
require "
|
4
|
+
require "xsemver"
|
5
5
|
|
6
6
|
module NugetHelper
|
7
|
+
include XSemVer
|
8
|
+
|
7
9
|
def self.exec(parameters)
|
8
10
|
spec = Gem::Specification.find_by_name("nuget")
|
9
11
|
command = File.join(spec.gem_dir, "bin", "nuget.exe")
|
@@ -46,6 +48,10 @@ module NugetHelper
|
|
46
48
|
self.command_path('nspec', 'NSpecRunner.exe')
|
47
49
|
end
|
48
50
|
|
51
|
+
def self.semver_fromassembly_path
|
52
|
+
self.command_path('SemVer.FromAssembly', 'SemVer.FromAssembly.exe')
|
53
|
+
end
|
54
|
+
|
49
55
|
def self.run_tool(command, parameters=nil)
|
50
56
|
system( to_shell_string( command, parameters))
|
51
57
|
end
|
data/lib/nuget_helper/nuspec.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "nokogiri"
|
2
|
-
require
|
2
|
+
require 'xsemver'
|
3
|
+
|
3
4
|
module NugetHelper
|
4
5
|
class NuSpec
|
5
6
|
attr_reader :nuspec_path_base, :nuspec_filename, :nuspec_xml_node
|
@@ -12,7 +13,7 @@ module NugetHelper
|
|
12
13
|
end
|
13
14
|
def version
|
14
15
|
el = @nuspec_xml_node.xpath("/package/metadata/version")
|
15
|
-
SemVer.parse(el.text)
|
16
|
+
XSemVer::SemVer.parse(el.text)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
data/lib/nuget_helper/version.rb
CHANGED
data/nuget_helper.gemspec
CHANGED
@@ -17,10 +17,10 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_development_dependency "bundler", "~>
|
21
|
-
spec.add_development_dependency "rake", "~>
|
20
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
21
|
+
spec.add_development_dependency "rake", "~> 12"
|
22
22
|
spec.add_development_dependency 'rspec', '>= 3.2'
|
23
|
-
spec.add_dependency "nuget", '~>
|
23
|
+
spec.add_dependency "nuget", '~> 3.4.4'
|
24
24
|
spec.add_dependency 'semver2', '~> 3.4'
|
25
25
|
spec.add_dependency 'nokogiri', '~> 1.5' # used to manipulate and read *nuspec files
|
26
26
|
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
require "tmpdir"
|
3
|
+
require "fileutils"
|
4
|
+
require "securerandom"
|
5
|
+
$vs_2013_solution = File.join(File.dirname(__FILE__), "Vs2013Solution", "Vs2013Solution.sln")
|
6
|
+
|
7
|
+
def magnitude_next_nuget_version(package_name, next_dll)
|
8
|
+
begin
|
9
|
+
tmp = File.join(Dir.tmpdir, SecureRandom.hex)
|
10
|
+
NugetHelper.exec("install '#{package_name}' -o #{tmp} ")
|
11
|
+
orig = Dir.glob( File.join(tmp, "**", File.basename(next_dll)) ).first
|
12
|
+
path_to_package = Dir.glob( File.join(tmp, "*") ).first
|
13
|
+
v = SemVer.parse(path_to_package)
|
14
|
+
m = NugetHelper.run_tool_with_result(NugetHelper.semver_fromassembly_path, " --magnitude #{orig} #{next_dll}").strip
|
15
|
+
case m
|
16
|
+
when 'Patch'
|
17
|
+
v.patch += 1
|
18
|
+
[:patch, v]
|
19
|
+
when 'Major'
|
20
|
+
v.major += 1
|
21
|
+
[:major, v]
|
22
|
+
when 'Minor'
|
23
|
+
v.minor += 1
|
24
|
+
[:minor, v]
|
25
|
+
end
|
26
|
+
ensure
|
27
|
+
FileUtils.rm_rf(tmp)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "magnitude_next_nuget_version" do
|
32
|
+
before(:all) do
|
33
|
+
NugetHelper.exec("restore #{$vs_2013_solution}")
|
34
|
+
end
|
35
|
+
xit "can give next version" do
|
36
|
+
m, v = magnitude_next_nuget_version "SemVer.FromAssembly", NugetHelper.semver_fromassembly_path
|
37
|
+
expect(m).to be :patch
|
38
|
+
expect(v).to eq SemVer.new(0,0,9) # this is ugly, but will do for now
|
39
|
+
end
|
40
|
+
end
|
data/spec/nuget_exec_spec.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require_relative 'spec_helper'
|
2
|
-
|
2
|
+
require 'xsemver'
|
3
3
|
|
4
|
+
$vs_2013_solution = File.join(File.dirname(__FILE__), "Vs2013Solution", "Vs2013Solution.sln")
|
5
|
+
$nunit_dll_path = File.join(File.dirname(__FILE__), "Vs2013Solution", "packages","NUnit.2.6.4","lib","nunit.framework.dll" )
|
4
6
|
describe "NugetHelper" do
|
7
|
+
include XSemVer
|
5
8
|
describe "execute system nuget" do
|
6
9
|
it "can restore packages" do
|
7
10
|
NugetHelper.exec("restore #{$vs_2013_solution}")
|
@@ -65,6 +68,15 @@ describe "NugetHelper" do
|
|
65
68
|
expect(c).to be true
|
66
69
|
expect($?.exitstatus).to be 0
|
67
70
|
end
|
71
|
+
|
72
|
+
it "can run semver from assembly runner" do
|
73
|
+
cmd = NugetHelper.semver_fromassembly_path
|
74
|
+
file = $nunit_dll_path
|
75
|
+
c = NugetHelper.run_tool cmd, " --magnitude #{file} #{file}"
|
76
|
+
expect(c).to be true
|
77
|
+
expect($?.exitstatus).to be 0
|
78
|
+
end
|
79
|
+
|
68
80
|
end
|
69
81
|
end
|
70
82
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nuget_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oskar Gewalli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '12'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '12'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 3.4.4
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 3.4.4
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: semver2
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,6 +122,7 @@ files:
|
|
122
122
|
- spec/Vs2013Solution/ClassLibraryWithDependency/packages.config
|
123
123
|
- spec/Vs2013Solution/Vs2013Solution.sln
|
124
124
|
- spec/get_version_of_spec.rb
|
125
|
+
- spec/next_version_spec.rb
|
125
126
|
- spec/nuget_exec_spec.rb
|
126
127
|
- spec/nuspec_spec.rb
|
127
128
|
- spec/nuspecs/example.nuspec
|
@@ -145,8 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
146
|
- !ruby/object:Gem::Version
|
146
147
|
version: '0'
|
147
148
|
requirements: []
|
148
|
-
|
149
|
-
rubygems_version: 2.4.5.1
|
149
|
+
rubygems_version: 3.0.6
|
150
150
|
signing_key:
|
151
151
|
specification_version: 4
|
152
152
|
summary: Helper Gem to simplify work with nuget.
|
@@ -158,6 +158,7 @@ test_files:
|
|
158
158
|
- spec/Vs2013Solution/ClassLibraryWithDependency/packages.config
|
159
159
|
- spec/Vs2013Solution/Vs2013Solution.sln
|
160
160
|
- spec/get_version_of_spec.rb
|
161
|
+
- spec/next_version_spec.rb
|
161
162
|
- spec/nuget_exec_spec.rb
|
162
163
|
- spec/nuspec_spec.rb
|
163
164
|
- spec/nuspecs/example.nuspec
|