TestFlightExporter 0.1.1 → 0.2.0
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 +4 -4
- data/bin/tfexporter +22 -7
- data/lib/hockeyapp_uploader.rb +63 -0
- data/lib/testflight_exporter/version.rb +1 -1
- data/testflight_exporter.gemspec +1 -0
- metadata +16 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b6794d5fb2bbfe704fce57b128127b0982207e9
|
4
|
+
data.tar.gz: a8fd5c3cdcf1c86b2503233478ee638f8fcfa657
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4f1ef0c295ab49ab8c8b431df19dbfcbe56a837e5e2f4f4fdce273abf480e969b42738abbf1edcdd54b3ca02ba0b1f0373a70ad30a1ccab7cbcacbad8997f52
|
7
|
+
data.tar.gz: 9017c54b3e1a08b6bc828340f17116249f4c2dfdfb8516defad876a267a273967cd451dd3df874a018b76e85ec1a6a2734a4b854ed1cba91e807ddda5abfeefb
|
data/bin/tfexporter
CHANGED
@@ -6,6 +6,7 @@ require 'commander'
|
|
6
6
|
require 'highline'
|
7
7
|
require_relative '../lib/testflight_exporter/version'
|
8
8
|
require_relative '../lib/testflight_exporter'
|
9
|
+
require_relative '../lib/hockeyapp_uploader'
|
9
10
|
|
10
11
|
HighLine.track_eof = false
|
11
12
|
|
@@ -21,16 +22,16 @@ class TestFlightExporterApplication
|
|
21
22
|
program :help_formatter, :compact
|
22
23
|
|
23
24
|
global_option '--verbose'
|
24
|
-
global_option '--username STRING', String, 'Your testflight account username'
|
25
|
-
global_option '--password STRING', String, 'Your testflight account password'
|
26
|
-
global_option '--output STRING', String, 'Path to your output folder where your binaries will be downloaded'
|
27
|
-
global_option '--team STRING', String, 'Team name to process'
|
28
25
|
|
29
26
|
always_trace!
|
30
27
|
|
31
|
-
command :
|
28
|
+
command :dump do |c|
|
32
29
|
c.syntax = 'tfexporter migrate'
|
33
|
-
c.description = '
|
30
|
+
c.description = 'Download your binaries from TestFlightapp.com'
|
31
|
+
c.option '--username STRING', String, 'Your testflight account username'
|
32
|
+
c.option '--password STRING', String, 'Your testflight account password'
|
33
|
+
c.option '--output FOLDER', String, 'Path to your output folder where your binaries will be downloaded'
|
34
|
+
c.option '--team TEAM', String, 'TestFlight team name to process'
|
34
35
|
|
35
36
|
c.action do |args, options|
|
36
37
|
ENV['VERBOSE_MODE'] = 'true' if options.verbose
|
@@ -39,7 +40,21 @@ class TestFlightExporterApplication
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
42
|
-
|
43
|
+
command :hockeyapp do |c|
|
44
|
+
c.syntax = 'tfexporter hockeyapp'
|
45
|
+
c.description = 'Upload your binaries to Hockeyapp platform (API TOKEN required).'
|
46
|
+
c.option '--token STRING', String, 'Your hockey app token'
|
47
|
+
c.option '--input FOLDER', String, 'Your binaries folder'
|
48
|
+
c.option '--teams TEAMS', "Comma separated list of team ID numbers to which this build will be restricted"
|
49
|
+
|
50
|
+
c.action do |args, options|
|
51
|
+
ENV['VERBOSE_MODE'] = 'true' if options.verbose
|
52
|
+
|
53
|
+
TestFlightExporter::HockeyAppUploader.new.run(options.token, options.input, options.teams)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
default_command :help
|
43
58
|
|
44
59
|
run!
|
45
60
|
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'colored'
|
3
|
+
|
4
|
+
|
5
|
+
require_relative 'helpers'
|
6
|
+
|
7
|
+
# TODO: Workaround, since hockeyapp.rb from shenzhen includes the code for commander
|
8
|
+
def command(param)
|
9
|
+
end
|
10
|
+
|
11
|
+
module TestFlightExporter
|
12
|
+
|
13
|
+
include Helper
|
14
|
+
|
15
|
+
class HockeyAppUploader
|
16
|
+
|
17
|
+
def run (token = nil, directory=nil, teams=nil)
|
18
|
+
Helper.exit_with_error "Invalid API token. Use --token to specify your HockeyApp API token" if token.nil?
|
19
|
+
Helper.exit_with_error "Invalid input folder. Use --input to specify an input folder" if directory.nil?
|
20
|
+
|
21
|
+
require 'shenzhen'
|
22
|
+
require 'shenzhen/plugins/hockeyapp'
|
23
|
+
|
24
|
+
# Available options: http://support.hockeyapp.net/kb/api/api-versions#upload-version
|
25
|
+
options = {
|
26
|
+
status: 2
|
27
|
+
}
|
28
|
+
|
29
|
+
options.merge!(teams: teams) unless teams.nil?
|
30
|
+
|
31
|
+
Helper.log.info "Uploadind binaries to Hockeyapp platform... this could take some time.".blue
|
32
|
+
|
33
|
+
number_of_builds = 0
|
34
|
+
|
35
|
+
Dir.glob("#{directory}/**/*.ipa") { |filename|
|
36
|
+
|
37
|
+
Helper.log.debug "Starting with #{filename} upload to HockeyApp...".magenta
|
38
|
+
|
39
|
+
notes = filename.gsub(/.ipa/,'.txt')
|
40
|
+
|
41
|
+
File.open(notes) do |file|
|
42
|
+
options.merge!(notes: File.read(file))
|
43
|
+
end
|
44
|
+
|
45
|
+
client = Shenzhen::Plugins::HockeyApp::Client.new(token)
|
46
|
+
response = client.upload_build(filename, options)
|
47
|
+
case response.status
|
48
|
+
when 200...300
|
49
|
+
url = response.body['public_url']
|
50
|
+
|
51
|
+
Helper.log.debug"Public Download URL: #{url}".white if url
|
52
|
+
Helper.log.debug "Build successfully uploaded to HockeyApp!".green
|
53
|
+
number_of_builds = number_of_builds + 1
|
54
|
+
else
|
55
|
+
Helper.log.error "Error uploading to HockeyApp: #{response.body}"
|
56
|
+
Helper.exit_with_error "Error when trying to upload ipa to HockeyApp".red
|
57
|
+
end
|
58
|
+
}
|
59
|
+
|
60
|
+
Helper.log.info "Uploaded #{number_of_builds} binaries on Hockeyapp platform!".blue
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
data/testflight_exporter.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_dependency 'highline', '~> 1.6' # user inputs (e.g. passwords)
|
21
21
|
spec.add_dependency 'colored' # coloured terminal output
|
22
22
|
spec.add_dependency 'commander', '~> 4.2' # CLI parser
|
23
|
+
spec.add_dependency 'shenzhen' # IPA Distribution
|
23
24
|
|
24
25
|
spec.add_development_dependency "bundler", "~> 1.7"
|
25
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: TestFlightExporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fabio Milano
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '4.2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: shenzhen
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: bundler
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,6 +124,7 @@ files:
|
|
110
124
|
- assets/tw_logo.png
|
111
125
|
- bin/tfexporter
|
112
126
|
- lib/helpers.rb
|
127
|
+
- lib/hockeyapp_uploader.rb
|
113
128
|
- lib/testflight_exporter.rb
|
114
129
|
- lib/testflight_exporter/version.rb
|
115
130
|
- testflight_exporter.gemspec
|