fastlane-plugin-msbuild 0.1.1 → 0.1.2
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83884235202f7c83cd2249c02574ec34c702f322
|
4
|
+
data.tar.gz: 277066aa5f726aa108fa584f9022e47d77305411
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1543b8191203f58a58c50f155f25a8e3483e68ee31d03d1d1f287ecd92a8935d9c7af0dcb1bf47da2799f7d142f841f48f02a0003875febd36a4d3472eb8e53
|
7
|
+
data.tar.gz: 3897f69461e1649935db258a7f8039edf2831838bac763cc7f28d25112869503201fc703586f6abf7ee28e11a9001294a1c4f5253ea44c6838c68c1b68fef59d
|
@@ -0,0 +1,84 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class AssemblyInfoPokeVersionAction < Action
|
4
|
+
def self.fixup_version_string(version, revision)
|
5
|
+
versions = version.split(".")
|
6
|
+
versions.fill(0, versions.length...4)
|
7
|
+
versions.map! { |x| x == '*' ? '0' : x }
|
8
|
+
versions[3] = revision
|
9
|
+
version_string = versions.join(".")
|
10
|
+
return version_string
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.run(params)
|
14
|
+
revision = params[:rev_number]
|
15
|
+
version = params[:version_number]
|
16
|
+
|
17
|
+
if !!revision ^ !!version
|
18
|
+
regex = /\[assembly\:\s*AssemblyVersion\("(?<version>\d+\.\d+\.[\d\*]+(\.[\d\*]+)?)\"\)\]/
|
19
|
+
text = File.read(params[:file_path])
|
20
|
+
|
21
|
+
out = File.open(params[:file_path], "w")
|
22
|
+
text.each_line do |line|
|
23
|
+
match = line.match(regex)
|
24
|
+
if match
|
25
|
+
version_string = version
|
26
|
+
version_string = fixup_version_string(match["version"], revision) if version_string.nil?
|
27
|
+
line.gsub!(regex, "[assembly: AssemblyVersion(\"#{version_string}\")]")
|
28
|
+
end
|
29
|
+
out.puts(line)
|
30
|
+
end
|
31
|
+
out.close
|
32
|
+
else
|
33
|
+
UI.error("You should supply rev_number or version_number but not botha")
|
34
|
+
raise
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.description
|
39
|
+
"Set the version in an AssemblyInfo.cs file. Optionally only set the revision number"
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.authors
|
43
|
+
["fuzzybinary"]
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.details
|
47
|
+
"Set the version in an AssemblyInfo.cs file. Optionally only set the revision number"
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.available_options
|
51
|
+
[
|
52
|
+
FastlaneCore::ConfigItem.new(
|
53
|
+
key: :file_path,
|
54
|
+
env_name: 'FL_ASSEMBLY_INFO_FILE',
|
55
|
+
description: 'path to AssemblyInfo.cs file',
|
56
|
+
verify_block: proc do |value|
|
57
|
+
UI.user_error!('File not found'.red) unless File.file? value
|
58
|
+
end
|
59
|
+
),
|
60
|
+
|
61
|
+
FastlaneCore::ConfigItem.new(
|
62
|
+
key: :rev_number,
|
63
|
+
optional: true,
|
64
|
+
env_name: 'FL_ASSEMBLY_INFO_REVISION_NUMBER',
|
65
|
+
description: 'Revision number',
|
66
|
+
type: String
|
67
|
+
),
|
68
|
+
|
69
|
+
FastlaneCore::ConfigItem.new(
|
70
|
+
key: :version_number,
|
71
|
+
optional: true,
|
72
|
+
env_name: 'FL_ASSEMBLY_INFO_VERSION_NUMBER',
|
73
|
+
description: 'The full (4 component) version number for the assembly',
|
74
|
+
type: String
|
75
|
+
)
|
76
|
+
]
|
77
|
+
end
|
78
|
+
|
79
|
+
def self.is_supported?(platform)
|
80
|
+
true
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module Actions
|
5
|
+
class NuspecPokeVersionAction < Action
|
6
|
+
def self.run(params)
|
7
|
+
revision = params[:prerelease_version]
|
8
|
+
version = params[:version_number]
|
9
|
+
|
10
|
+
doc = Nokogiri::XML(File.open(params[:file_path]))
|
11
|
+
|
12
|
+
version_node = doc.at_xpath("/package/metadata/version")
|
13
|
+
version_string = version ? version : version_node.content
|
14
|
+
if revision
|
15
|
+
prerelease_index = version_string.index('-')
|
16
|
+
version_string = version_string[0..(prerelease_index - version_string.length - 1)] if prerelease_index
|
17
|
+
version_string << "-#{revision}"
|
18
|
+
end
|
19
|
+
version_node.content = version_string
|
20
|
+
File.write(params[:file_path], doc.to_xml)
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.description
|
24
|
+
"Set the version in a Nuspec file. Optionally only set the revision number"
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.authors
|
28
|
+
["fuzzybinary"]
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.details
|
32
|
+
"Set the version in a Nuspec file. Optionally only set the revision number"
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.available_options
|
36
|
+
[
|
37
|
+
FastlaneCore::ConfigItem.new(
|
38
|
+
key: :file_path,
|
39
|
+
env_name: 'FL_NUSPEC_FILE',
|
40
|
+
description: 'path to Nuspec file',
|
41
|
+
verify_block: proc do |value|
|
42
|
+
UI.user_error!('File not found'.red) unless File.file? value
|
43
|
+
end
|
44
|
+
),
|
45
|
+
|
46
|
+
FastlaneCore::ConfigItem.new(
|
47
|
+
key: :prerelease_version,
|
48
|
+
optional: true,
|
49
|
+
env_name: 'FL_NUSPEC_PRERELEASE_VERSION',
|
50
|
+
description: 'Prerelease version',
|
51
|
+
type: String
|
52
|
+
),
|
53
|
+
|
54
|
+
FastlaneCore::ConfigItem.new(
|
55
|
+
key: :version_number,
|
56
|
+
optional: true,
|
57
|
+
env_name: 'FL_NUSPEC_VERSION_NUMBER',
|
58
|
+
description: 'The full (4 component) version number for the assembly',
|
59
|
+
type: String
|
60
|
+
)
|
61
|
+
]
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.is_supported?(platform)
|
65
|
+
true
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-msbuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Ward
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: pry
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,8 +117,10 @@ files:
|
|
103
117
|
- LICENSE
|
104
118
|
- README.md
|
105
119
|
- lib/fastlane/plugin/msbuild.rb
|
120
|
+
- lib/fastlane/plugin/msbuild/actions/assembly_info_poke_version.rb
|
106
121
|
- lib/fastlane/plugin/msbuild/actions/msbuild_action.rb
|
107
122
|
- lib/fastlane/plugin/msbuild/actions/nuget_pack_action.rb
|
123
|
+
- lib/fastlane/plugin/msbuild/actions/nuspec_poke_version.rb
|
108
124
|
- lib/fastlane/plugin/msbuild/helper/msbuild_helper.rb
|
109
125
|
- lib/fastlane/plugin/msbuild/version.rb
|
110
126
|
homepage: https://github.com/willowtreeapps/fastlane-plugin-msbuild
|