nuget_helper 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|