fastlane-plugin-xamarin_build 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.asc +11 -0
- data.tar.gz.asc +11 -0
- data/LICENSE +21 -0
- data/README.md +60 -0
- data/lib/fastlane/plugin/xamarin_build.rb +16 -0
- data/lib/fastlane/plugin/xamarin_build/actions/extract_certificate.rb +99 -0
- data/lib/fastlane/plugin/xamarin_build/actions/xamarin_build_action.rb +93 -0
- data/lib/fastlane/plugin/xamarin_build/actions/xamarin_update_configuration.rb +102 -0
- data/lib/fastlane/plugin/xamarin_build/helper/xamarin_build_helper.rb +36 -0
- data/lib/fastlane/plugin/xamarin_build/version.rb +5 -0
- metadata +177 -0
- metadata.gz.asc +11 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: aebf18b845f2d7d92037a886320a4687c0505c2f
|
4
|
+
data.tar.gz: 200e5d976064529feff2d60fea291c5ce0d16f04
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 19cde018896d36c37f0147aeb16f5314a568440c9136c635e639378bd9d5f999761dda79482232ee05cf33ef00971be8daa32f74915f4fbf83933a8f19d4ee87
|
7
|
+
data.tar.gz: d563d4d62d4002263d22798b08687d44436c33c9e27b7106486204a6c96dfa7ec1936fec16c909e43553ac1573da219de690b343fb331f27bb4b09786f5edfcf
|
checksums.yaml.gz.asc
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
-----BEGIN PGP SIGNATURE-----
|
2
|
+
Version: GnuPG v1
|
3
|
+
|
4
|
+
iQEcBAABAgAGBQJXeCpSAAoJEAPmZ1UHrajBweMH+gNe4pSqSLtxCinpg+ZFuqpG
|
5
|
+
LPhc8Tr4Qb+kpJHXWM5XUKKP3ir6wujF3DeZA7G2i+3NPLri9oyyvV0UVwVsFC8t
|
6
|
+
O76v7/p5L91vkjX/nQGxYf484wm2kxG+rB6WgfmCx1AWCk+XpybZ9btRJUcynFAD
|
7
|
+
kqCd3pZIIzzi3gInMG3V4cvwtH3GFXghkRUkvOlvyBloif/mROvbR1FtfvdclQ74
|
8
|
+
opy6vv83fqSWFGAaAXt4XoGf2Ai0fpQCEUkfgd3Sh+7Lj83tGJ0bprZMUWGa/lBe
|
9
|
+
IKX91GDpLKy3QX/zaU3HBiSAbWTCIyWhSx2EYsZ9YZtMBtRv+EU0qs79BqISOho=
|
10
|
+
=zqmS
|
11
|
+
-----END PGP SIGNATURE-----
|
data.tar.gz.asc
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
-----BEGIN PGP SIGNATURE-----
|
2
|
+
Version: GnuPG v1
|
3
|
+
|
4
|
+
iQEcBAABAgAGBQJXeCpRAAoJEAPmZ1UHrajBLawIAKsmaYBNfjlXHHyclr7xOw81
|
5
|
+
DClCUDAfm4TvhjZ329pkMojCJizTPn/e5lWCPnx147HshBV8e9f/IdYY5HceGKiJ
|
6
|
+
eu2VA/ylEgNKWZDt8tbJGJOLthdP4tmomnmWPU4zw5w8gRohNExm+dWzIQs5fD+r
|
7
|
+
YwuOpH1BBD7BURETmcqZwdjnUBkCNGP1jH6aE6KoovpOlgnY5I4+7uib5f3uCHn4
|
8
|
+
e6dOKJ+OwEssFiNksXKiBU1vehshbtp+2i1tVfa/RTT+aMagFFSj+omne6BcCL2r
|
9
|
+
C8Gh/wqQgFi/ZHH7gKHCh0HiQF4pGK933kAFsLCIBzRY3RzUgrvL1H6XdmLr8k4=
|
10
|
+
=TCiT
|
11
|
+
-----END PGP SIGNATURE-----
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2016 punksta <skinnystas@gmail.com>
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# xamarin_build plugin
|
2
|
+
|
3
|
+
[![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-xamarin_build)
|
4
|
+
|
5
|
+
## Getting Started
|
6
|
+
|
7
|
+
This project is a [fastlane](https://github.com/fastlane/fastlane) plugin. To get started with `fastlane-plugin-xamarin_build`, add it to your project by running:
|
8
|
+
|
9
|
+
```bash
|
10
|
+
fastlane add_plugin xamarin_build
|
11
|
+
```
|
12
|
+
|
13
|
+
## About xamarin_build
|
14
|
+
|
15
|
+
Small plugin to build and configure xamarin android\ios projects
|
16
|
+
|
17
|
+
## Actions
|
18
|
+
### extract_certificate
|
19
|
+
extract signing certificate from provision profile
|
20
|
+
|
21
|
+
### xamarin_build
|
22
|
+
build xamarin project specific platform(iPhone, iPhoneSimulator) and target(Release, Debug)
|
23
|
+
|
24
|
+
### xamarin_update_configuration
|
25
|
+
update property of specific configuration in xamarin c# project config file
|
26
|
+
|
27
|
+
|
28
|
+
## Example
|
29
|
+
|
30
|
+
Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin.
|
31
|
+
|
32
|
+
|
33
|
+
## Run tests for this plugin
|
34
|
+
|
35
|
+
To run both the tests, and code style validation, run
|
36
|
+
|
37
|
+
````
|
38
|
+
rake
|
39
|
+
```
|
40
|
+
|
41
|
+
To automatically fix many of the styling issues, use
|
42
|
+
```
|
43
|
+
rubocop -a
|
44
|
+
```
|
45
|
+
|
46
|
+
## Issues and Feedback
|
47
|
+
|
48
|
+
For any other issues and feedback about this plugin, please submit it to this repository.
|
49
|
+
|
50
|
+
## Troubleshooting
|
51
|
+
|
52
|
+
If you have trouble using plugins, check out the [Plugins Troubleshooting](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/PluginsTroubleshooting.md) doc in the main `fastlane` repo.
|
53
|
+
|
54
|
+
## Using `fastlane` Plugins
|
55
|
+
|
56
|
+
For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Plugins.md).
|
57
|
+
|
58
|
+
## About `fastlane`
|
59
|
+
|
60
|
+
`fastlane` is the easiest way to automate building and releasing your iOS and Android apps. To learn more, check out [fastlane.tools](https://fastlane.tools).
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'fastlane/plugin/xamarin_build/version'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module XamarinBuild
|
5
|
+
# Return all .rb files inside the "actions" and "helper" directory
|
6
|
+
def self.all_classes
|
7
|
+
Dir[File.expand_path('**/{actions,helper}/*.rb', File.dirname(__FILE__))]
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# By default we want to import all available actions and helpers
|
13
|
+
# A plugin can contain any number of actions and plugins
|
14
|
+
Fastlane::XamarinBuild.all_classes.each do |current|
|
15
|
+
require current
|
16
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require 'plist'
|
2
|
+
require 'open3'
|
3
|
+
require 'openssl'
|
4
|
+
|
5
|
+
module Fastlane
|
6
|
+
module Actions
|
7
|
+
class ExtractCertificateAction < Action
|
8
|
+
PROVISIONS = "#{Dir.home}/Library/MobileDevice/Provisioning\ Profiles/".freeze
|
9
|
+
|
10
|
+
def self.run(params)
|
11
|
+
path = params[:provision_path]
|
12
|
+
path = default_path(params[:uuid]) if path.nil?
|
13
|
+
check_profile(path)
|
14
|
+
|
15
|
+
o, e, s = Open3.capture3("security cms -D -i '#{path}'")
|
16
|
+
if s.exitstatus != 0
|
17
|
+
UI.user_error!("Can't extract plist from provision profile\n" + e)
|
18
|
+
end
|
19
|
+
|
20
|
+
provision_plist_raw = o
|
21
|
+
provision_plist = Plist.parse_xml(provision_plist_raw)
|
22
|
+
|
23
|
+
cert_data = provision_plist['DeveloperCertificates'][0].string
|
24
|
+
cert = OpenSSL::X509::Certificate.new(cert_data)
|
25
|
+
|
26
|
+
print cert.to_text if params[:log_certificate]
|
27
|
+
cert
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.description
|
31
|
+
'Extract certificate public key from provision profile'
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.details
|
35
|
+
'You can use it to get info about signing certificate' \
|
36
|
+
'like certificate name and id'
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.check_profile(file)
|
40
|
+
UI.user_error!('Empty input') if file.nil?
|
41
|
+
UI.user_error!("#{file} does not exist") unless File.exist? file
|
42
|
+
UI.user_error!("#{file} is not a file") unless File.file? file
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.default_path(uuid)
|
46
|
+
File.join PROVISIONS, "#{uuid}.mobileprovision"
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.available_options
|
50
|
+
[
|
51
|
+
FastlaneCore::ConfigItem.new(
|
52
|
+
key: :provision_path,
|
53
|
+
env_name: 'FL_EXTRACT_CERTIFICATE_PR_PATH',
|
54
|
+
description: 'Path to provision profile',
|
55
|
+
is_string: true,
|
56
|
+
optional: true,
|
57
|
+
verify_block: proc do |path|
|
58
|
+
check_profile(path)
|
59
|
+
end
|
60
|
+
),
|
61
|
+
|
62
|
+
FastlaneCore::ConfigItem.new(
|
63
|
+
key: :uuid,
|
64
|
+
env_name: 'FL_EXTRACT_CERTIFICATE_UUID',
|
65
|
+
description: 'UUID of provision profile in default dir',
|
66
|
+
is_string: true,
|
67
|
+
optional: true,
|
68
|
+
verify_block: proc do |uuid|
|
69
|
+
provision_path = default_path(uuid)
|
70
|
+
check_profile(provision_path)
|
71
|
+
end
|
72
|
+
),
|
73
|
+
|
74
|
+
FastlaneCore::ConfigItem.new(
|
75
|
+
key: :log_certificate,
|
76
|
+
env_name: 'FL_EXTRACT_CERTIFICATE_LOG',
|
77
|
+
description: 'Logging extracting certificate',
|
78
|
+
optional: true,
|
79
|
+
default_value: true,
|
80
|
+
is_string: false
|
81
|
+
)
|
82
|
+
]
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.return_value
|
86
|
+
'Returns OpenSSL::X509::Certificate object representing' \
|
87
|
+
'signing certificate from provision profile'
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.authors
|
91
|
+
['punksta']
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.is_supported?(platform)
|
95
|
+
[:ios, :mac].include?(platform)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class XamarinBuildAction < Action
|
4
|
+
MDTOOL = '/Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool'.freeze
|
5
|
+
|
6
|
+
def self.run(params)
|
7
|
+
platform = params[:platform]
|
8
|
+
build_type = params[:target]
|
9
|
+
|
10
|
+
configuration = "--configuration:#{build_type}|#{platform}"
|
11
|
+
xamarin_command = "#{MDTOOL} build #{params[:solution]} \"#{configuration}\""
|
12
|
+
|
13
|
+
Helper::XamarinBuildHelper.bash(xamarin_command, !params[:print_all])
|
14
|
+
|
15
|
+
# it store logs in ram. Bad practive
|
16
|
+
# FastlaneCore::CommandExecutor.execute(command: xamarin_command, print_all: params[:print_all], print_command: true)
|
17
|
+
|
18
|
+
get_build_path(platform, build_type, params[:solution])
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.get_build_path(platform, build_type, solution)
|
22
|
+
root = File.dirname(solution)
|
23
|
+
|
24
|
+
build = Dir.glob(File.join(root, "*/bin/#{platform}/#{build_type}/"))
|
25
|
+
|
26
|
+
if build.size > 0
|
27
|
+
b = build[0]
|
28
|
+
UI.message("build artifact path #{b}".blue)
|
29
|
+
return b
|
30
|
+
else
|
31
|
+
return nil
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.description
|
36
|
+
'Build xamarin android and ios projects'
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.authors
|
40
|
+
['punksta']
|
41
|
+
end
|
42
|
+
|
43
|
+
TARGET_TYPES = %w(Release Debug).freeze
|
44
|
+
PRINT_ALL = [true, false].freeze
|
45
|
+
|
46
|
+
def self.available_options
|
47
|
+
[
|
48
|
+
FastlaneCore::ConfigItem.new(
|
49
|
+
key: :solution,
|
50
|
+
env_name: 'FL_XAMARIN_BUILD_SOLUTION',
|
51
|
+
description: 'path to Xamarin .sln file',
|
52
|
+
verify_block: proc do |value|
|
53
|
+
UI.user_error!('File not found'.red) unless File.file? value
|
54
|
+
end
|
55
|
+
),
|
56
|
+
|
57
|
+
FastlaneCore::ConfigItem.new(
|
58
|
+
key: :platform,
|
59
|
+
env_name: 'FL_XAMARIN_BUILD_PLATFORM',
|
60
|
+
description: 'build platform',
|
61
|
+
type: String
|
62
|
+
),
|
63
|
+
|
64
|
+
FastlaneCore::ConfigItem.new(
|
65
|
+
key: :target,
|
66
|
+
env_name: 'FL_XAMARIN_BUILD_TARGET',
|
67
|
+
description: 'Target build type',
|
68
|
+
type: String,
|
69
|
+
verify_block: proc do |value|
|
70
|
+
UI.user_error!("Unsupported platform. Use one of #{TARGET_TYPES.join '\' '}".red) unless TARGET_TYPES.include? value
|
71
|
+
end
|
72
|
+
),
|
73
|
+
|
74
|
+
FastlaneCore::ConfigItem.new(
|
75
|
+
key: :print_all,
|
76
|
+
env_name: 'FL_XAMARIN_BUILD_PRINT_ALL',
|
77
|
+
description: 'Print std out',
|
78
|
+
default_value: true,
|
79
|
+
is_string: false,
|
80
|
+
optional: true,
|
81
|
+
verify_block: proc do |value|
|
82
|
+
UI.user_error!("Unsupported print all Use one of #{PRINT_ALL.join '\' '}".red) unless PRINT_ALL.include? value
|
83
|
+
end
|
84
|
+
)
|
85
|
+
]
|
86
|
+
end
|
87
|
+
|
88
|
+
def self.is_supported?(platform)
|
89
|
+
[:ios, :android].include?(platform)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module Actions
|
5
|
+
module SharedValues
|
6
|
+
end
|
7
|
+
|
8
|
+
class XamarinUpdateConfigurationAction < Action
|
9
|
+
def self.run(params)
|
10
|
+
project_path = params[:xamarin_project_file]
|
11
|
+
doc = nil
|
12
|
+
|
13
|
+
File.new(project_path) do |file|
|
14
|
+
doc = Nokogiri::XML(file)
|
15
|
+
end
|
16
|
+
|
17
|
+
configuration = "'#{params[:target]}|#{params[:platform]}'"
|
18
|
+
|
19
|
+
doc.search('PropertyGroup').each do |group|
|
20
|
+
next unless !group['Condition'].nil? && group['Condition'].include?(configuration)
|
21
|
+
propery = group.search(params[:property])
|
22
|
+
if propery.size > 0
|
23
|
+
propery[0].content = params[:value]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
File.write(project_path, doc.to_xml)
|
28
|
+
end
|
29
|
+
|
30
|
+
#####################################################
|
31
|
+
# @!group Documentation
|
32
|
+
#####################################################
|
33
|
+
|
34
|
+
def self.description
|
35
|
+
'Set properties of specific build configuration in Xamarin configuration file'
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.details
|
39
|
+
"You can use set properties like provision profile(CodesignProvision) and certificate name(CodesignKey)" \
|
40
|
+
end
|
41
|
+
|
42
|
+
TARGET = ['Release', 'Debug', 'Ad-Hoc', 'AppStore'].freeze
|
43
|
+
PLATFORM = %w(iPhone iPhoneSimulator AnyCPU).freeze
|
44
|
+
|
45
|
+
def self.available_options
|
46
|
+
[
|
47
|
+
FastlaneCore::ConfigItem.new(key: :xamarin_project_file,
|
48
|
+
env_name: 'FL_XAMARIN_UPDATE_CONFIGURATION_XAMARIN_PROJECT',
|
49
|
+
description: 'path to xamarin .csproj project file',
|
50
|
+
is_string: true,
|
51
|
+
verify_block: proc do |value|
|
52
|
+
UI.user_error!('Project file not found') unless File.exist? value
|
53
|
+
end),
|
54
|
+
|
55
|
+
FastlaneCore::ConfigItem.new(key: :target,
|
56
|
+
env_name: 'FL_XAMARIN_UPDATE_CONFIGURATION_TARGET',
|
57
|
+
description: 'Target of configuration PropertyGroup',
|
58
|
+
is_string: true,
|
59
|
+
verify_block: proc do |value|
|
60
|
+
UI.user_error!("Unsupported target! Use one of #{TARGET}") unless TARGET.include? value
|
61
|
+
end),
|
62
|
+
|
63
|
+
FastlaneCore::ConfigItem.new(key: :platform,
|
64
|
+
env_name: 'FL_XAMARIN_UPDATE_CONFIGURATION_PLATFORM',
|
65
|
+
description: 'platform of configuration PropertyGroup',
|
66
|
+
is_string: true,
|
67
|
+
verify_block: proc do |value|
|
68
|
+
UI.user_error!("Unsupported platform! use one of #{PLATFORM}") unless PLATFORM.include? value
|
69
|
+
end),
|
70
|
+
|
71
|
+
FastlaneCore::ConfigItem.new(key: :property,
|
72
|
+
env_name: 'FL_XAMARIN_UPDATE_CONFIGURATION_PROPERTY',
|
73
|
+
description: 'property in PropertyGroup',
|
74
|
+
is_string: true),
|
75
|
+
|
76
|
+
FastlaneCore::ConfigItem.new(key: :value,
|
77
|
+
env_name: 'FL_XAMARIN_UPDATE_CONFIGURATION_VALUE',
|
78
|
+
description: 'value of property',
|
79
|
+
is_string: true,
|
80
|
+
verify_block: proc do |value|
|
81
|
+
UI.user_error!('Empty value') if value.nil?
|
82
|
+
end)
|
83
|
+
]
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.output
|
87
|
+
end
|
88
|
+
|
89
|
+
def self.return_value
|
90
|
+
'build artifact dir path or null if can not find it'
|
91
|
+
end
|
92
|
+
|
93
|
+
def self.authors
|
94
|
+
['punksta']
|
95
|
+
end
|
96
|
+
|
97
|
+
def self.is_supported?(platform)
|
98
|
+
platform == :ios || platform == :android
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'Open3'
|
2
|
+
|
3
|
+
module Fastlane
|
4
|
+
module Helper
|
5
|
+
class XamarinBuildHelper
|
6
|
+
def self.bash(command, disable_log)
|
7
|
+
UI.message("starting bash process with command: #{command}")
|
8
|
+
|
9
|
+
if disable_log
|
10
|
+
stderr_str, status = Open3.capture2("#{command} > /dev/null")
|
11
|
+
if status != 0
|
12
|
+
UI.error(stderr_str)
|
13
|
+
raise 'not 0 result'
|
14
|
+
end
|
15
|
+
else
|
16
|
+
Open3.popen3(command) do |_stdin, stdout, stderr, wait_thr|
|
17
|
+
error = []
|
18
|
+
t1 = Thread.start do
|
19
|
+
stdout.each { |line| UI.command_output(line) }
|
20
|
+
end
|
21
|
+
t2 = Thread.start do
|
22
|
+
stderr.each { |line| error << line }
|
23
|
+
end
|
24
|
+
exit_status = wait_thr.value
|
25
|
+
t1.join
|
26
|
+
t2.join
|
27
|
+
if exit_status != 0
|
28
|
+
error.each { |e| UI.error(e) }
|
29
|
+
raise 'not 0 result'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
metadata
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fastlane-plugin-xamarin_build
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- punksta
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-07-02 00:00:00.000000000 Z
|
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'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: plist
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: openssl
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rake
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: fastlane
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.96.0
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.96.0
|
139
|
+
description:
|
140
|
+
email: skinnystas@gmail.com
|
141
|
+
executables: []
|
142
|
+
extensions: []
|
143
|
+
extra_rdoc_files: []
|
144
|
+
files:
|
145
|
+
- LICENSE
|
146
|
+
- README.md
|
147
|
+
- lib/fastlane/plugin/xamarin_build.rb
|
148
|
+
- lib/fastlane/plugin/xamarin_build/actions/extract_certificate.rb
|
149
|
+
- lib/fastlane/plugin/xamarin_build/actions/xamarin_build_action.rb
|
150
|
+
- lib/fastlane/plugin/xamarin_build/actions/xamarin_update_configuration.rb
|
151
|
+
- lib/fastlane/plugin/xamarin_build/helper/xamarin_build_helper.rb
|
152
|
+
- lib/fastlane/plugin/xamarin_build/version.rb
|
153
|
+
homepage: https://github.com/punksta/fastlane-plugin-xamarin_build
|
154
|
+
licenses:
|
155
|
+
- MIT
|
156
|
+
metadata: {}
|
157
|
+
post_install_message:
|
158
|
+
rdoc_options: []
|
159
|
+
require_paths:
|
160
|
+
- lib
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
171
|
+
requirements: []
|
172
|
+
rubyforge_project:
|
173
|
+
rubygems_version: 2.5.1
|
174
|
+
signing_key:
|
175
|
+
specification_version: 4
|
176
|
+
summary: Build xamarin android\ios projects
|
177
|
+
test_files: []
|
metadata.gz.asc
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
-----BEGIN PGP SIGNATURE-----
|
2
|
+
Version: GnuPG v1
|
3
|
+
|
4
|
+
iQEcBAABAgAGBQJXeCpIAAoJEAPmZ1UHrajBS/EH/1oMMmebkuoa3i20IGfffQIB
|
5
|
+
ON6v8TWwl5pG0iPQgBMvjzlxWnL6KfFkGleZOTnlZ3kvmrxtGBElzWcBJmX5jTDz
|
6
|
+
8yp6GQDCdK/5I7svn3hWcTr1Gmvn4lTJUJwdVvDxtYcVPMs5637X8BHCRbcqtF1q
|
7
|
+
zEOYiuH6gy3Vh8llVQcprE4Go3C00SLnzIp/S2+qReO/5X3PxbZf+jjezsnzxBhR
|
8
|
+
UjjdYWwA/3Q2F2UUiS0GA4HH1jvb6YGWeq1JeSjuZNA4J8u/+yk0O/OsPePOpE80
|
9
|
+
2Uf3SOFzllWFfuWp+vbRvTIvMWQl/9EZMuy3Q03x45kIQrBw7BddD61PcoXMQq0=
|
10
|
+
=8Cwa
|
11
|
+
-----END PGP SIGNATURE-----
|