xcoder 0.0.18 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -92,9 +92,25 @@ The missing component here is to be able to manipulate keychains. This is quite
92
92
 
93
93
  ### Testflight
94
94
 
95
- The common output of this build/package process is to upload to testflight. This may become integrated if there is demand, but you can do something like this (this is calling curl from ruby):
95
+ The common output of this build/package process is to upload to testflight. This is pretty simple with xcoder:
96
96
 
97
- `curl -X POST http://testflightapp.com/api/builds.json -F file=@"#{builder.ipa_path}" -F dsym=@"#{builder.dsym_zip_path}" -F api_token='#{TESTFLIGHT_API_TOKEN}' -F team_token='#{TESTFLIGHT_TEAM_TOKEN}' -F notify=True -F notes=\"#{CHANGELOG}\" -F distribution_lists='All'`
97
+ builder.upload(API_TOKEN, TEAM_TOKEN) do |tf|
98
+ tf.notes = "some release notes"
99
+ tf.notify = true # Whether to send a notification to users, default is true
100
+ tf.lists << "AList" # The lists to distribute the build to
101
+ end
102
+
103
+ You can also optionally set a .proxy= property or just set the HTTP_PROXY environment variable.
104
+
105
+ ### OCUnit to JUnit
106
+
107
+ You can invoke your test target/bundle from the builder
108
+
109
+ builder.test do |report|
110
+ report.write 'test-reports', :junit
111
+ end
112
+
113
+ This will invoke the test target, capture the output and write the junit reports to the test-reports directory. Currently only junit is supported.
98
114
 
99
115
  ## Tests
100
116
 
@@ -11,25 +11,44 @@ module Xcode
11
11
  @notify = true
12
12
  @notes = nil
13
13
  @lists = []
14
+ @proxy = ENV['http_proxy'] || ENV['HTTP_PROXY']
14
15
  end
15
16
 
16
17
  def upload(ipa_path, dsymzip_path=nil)
17
- # cmd = []
18
- RestClient.proxy = @proxy || ENV['http_proxy'] || ENV['HTTP_PROXY']
19
- RestClient.log = '/tmp/restclient.log'
20
-
21
18
  puts "Uploading to Testflight..."
22
- response = RestClient.post('http://testflightapp.com/api/builds.json',
23
- :file => File.new(ipa_path),
24
- :dsym => File.new(dsymzip_path),
25
- :api_token => @api_token,
26
- :team_token => @team_token,
27
- :notes => @notes,
28
- :notify => @notify ? 'True' : 'False',
29
- :distribution_lists => @lists.join(',')
30
- )
31
19
 
32
- json = JSON.parse(response)
20
+ # RestClient.proxy = @proxy || ENV['http_proxy'] || ENV['HTTP_PROXY']
21
+ # RestClient.log = '/tmp/restclient.log'
22
+ #
23
+ # response = RestClient.post('http://testflightapp.com/api/builds.json',
24
+ # :file => File.new(ipa_path),
25
+ # :dsym => File.new(dsymzip_path),
26
+ # :api_token => @api_token,
27
+ # :team_token => @team_token,
28
+ # :notes => @notes,
29
+ # :notify => @notify ? 'True' : 'False',
30
+ # :distribution_lists => @lists.join(',')
31
+ # )
32
+ #
33
+ # json = JSON.parse(response)
34
+ # puts " + Done, got: #{json.inspect}"
35
+ # json
36
+
37
+ cmd = []
38
+ cmd << 'curl'
39
+ cmd << "--proxy #{@proxy}" unless @proxy.nil?
40
+ cmd << "-X POST http://testflightapp.com/api/builds.json"
41
+ cmd << "-F file=@\"#{ipa_path}\""
42
+ cmd << "-F dsym=@\"#{dsymzip_path}\"" unless dsymzip_path.nil?
43
+ cmd << "-F api_token='#{@api_token}'"
44
+ cmd << "-F team_token='#{@team_token}'"
45
+ cmd << "-F notes=\"#{@notes}\"" unless @notes.nil?
46
+ cmd << "-F notify=#{@notify ? 'True' : 'False'}"
47
+ cmd << "-F distribution_lists='#{@lists.join(',')}'" unless @lists.count==0
48
+
49
+ response = Xcode::Shell.execute(cmd)
50
+
51
+ json = JSON.parse(response.join(''))
33
52
  puts " + Done, got: #{json.inspect}"
34
53
  json
35
54
  end
data/lib/xcode/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Xcode
2
- VERSION = "0.0.18"
2
+ VERSION = "0.0.19"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcoder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.18
4
+ version: 0.0.19
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &70260058216360 !ruby/object:Gem::Requirement
16
+ requirement: &70203942211620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70260058216360
24
+ version_requirements: *70203942211620
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: plist
27
- requirement: &70260058215940 !ruby/object:Gem::Requirement
27
+ requirement: &70203942211200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70260058215940
35
+ version_requirements: *70203942211200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &70260058215520 !ruby/object:Gem::Requirement
38
+ requirement: &70203942210780 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70260058215520
46
+ version_requirements: *70203942210780
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: builder
49
- requirement: &70260058215100 !ruby/object:Gem::Requirement
49
+ requirement: &70203942210360 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70260058215100
57
+ version_requirements: *70203942210360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rest-client
60
- requirement: &70260058214680 !ruby/object:Gem::Requirement
60
+ requirement: &70203942209940 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70260058214680
68
+ version_requirements: *70203942209940
69
69
  description: Provides a ruby based object-model for parsing project structures and
70
70
  invoking builds
71
71
  email: