betabuilder 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/CHANGES.md +3 -0
  2. data/README.md +24 -0
  3. data/lib/beta_builder.rb +3 -2
  4. metadata +10 -10
data/CHANGES.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.7.1
2
+ * Fixed a problem with detecting the Xcode 4 derived data directory.
3
+
1
4
  ## 0.7.0
2
5
  * Much improved Xcode 4 support.
3
6
  * Generate Xcode 4 style archives using the :xcode4_archive_mode
data/README.md CHANGED
@@ -4,6 +4,8 @@ BetaBuilder is a simple collection of Rake tasks and utilities for managing and
4
4
 
5
5
  If you're looking for the OSX BetaBuilder app -- to which this gem owes most of the credit -- you can find it [here on Github](http://github.com/HunterHillegas/iOS-BetaBuilder).
6
6
 
7
+ **Note: As of release 0.7, support for Xcode 3 is deprecated. Xcode 4 has been out for a year, has got much more stable as of 4.1 on Lion (or 4.2 if you've been using the betas) and it's time to move on. Generating Xcode 4 friendly archives and builds in this release still needs a bit of configuration but will become much smoother in 0.8 once Xcode 3 support is removed.**
8
+
7
9
  ## Motivation
8
10
 
9
11
  The problem with using a GUI app to create the beta packages is that it is yet another manual step in the process of producing an ad-hoc build for your beta testers. It simplifies some steps but it still requires running Build and Archive in Xcode, saving the resulting build as an IPA package, running the Beta Builder app, locating the IPA, filling in the rest of the fields and generating the deployment files. Then you need to upload those files somewhere.
@@ -60,6 +62,28 @@ To use a namespace other than "beta" for the generated tasks, simply pass in you
60
62
 
61
63
  This lets you set up different sets of BetaBuilder tasks for different configurations in the same Rakefile (e.g. a production and staging build).
62
64
 
65
+ ## Xcode 4 support
66
+
67
+ Betabuilder works with Xcode 4, but you may need to tweak your task configuration slightly. The most important change you will need to make is the build directory location, unless you have configured Xcode 4 to use the "build" directory relative to your project, as in Xcode 3.
68
+
69
+ If you are using the Xcode derived data directory for your builds, then you will need to specify this. Betabuilder will then scan your build log to determine the path to the automatically generated build directory that Xcode is using for your project.
70
+
71
+ config.build_dir = :derived
72
+
73
+ This will become the default in 0.8.
74
+
75
+ If you wish to generate archives for your Xcode 4 project, you will need to enable this. This will become the default in future once Xcode 3 support is dropped (deprecated in 0.7):
76
+
77
+ config.xcode4_archive_mode = true
78
+
79
+ If you are working with an Xcode 4 workspace instead of a project file, you will need to configure this too:
80
+
81
+ config.workspace_path = "MyWorkspace.xcworkspace"
82
+ config.scheme = "My App Scheme"
83
+ config.app_name = "MyApp"
84
+
85
+ If you are using a workspace, then you must specify the scheme. You can still specify the build configuration (e.g. Release).
86
+
63
87
  ## Automatic deployment with deployment strategies
64
88
 
65
89
  BetaBuilder allows you to deploy your built package using it's extensible deployment strategy system; the gem currently comes with support for simple web-based deployment or uploading to [TestFlightApp.com](http://www.testflightapp.com). Eventually, you will be able to write your own custom deployment strategies if neither of these are suitable for your needs.
data/lib/beta_builder.rb CHANGED
@@ -48,6 +48,7 @@ module BetaBuilder
48
48
  end
49
49
 
50
50
  def app_file_name
51
+ raise ArgumentError, "app_name or target must be set in the BetaBuilder configuration block" if app_name.nil? && target.nil?
51
52
  if app_name
52
53
  "#{app_name}.app"
53
54
  else
@@ -75,8 +76,8 @@ module BetaBuilder
75
76
  output = File.read("build.output")
76
77
 
77
78
  # yes, this is truly horrible, but unless somebody else can find a better way...
78
- reference = output.split("\n").grep(/Xcode\/DerivedData\/#{scheme}-(.*)/).first.split(" ").last
79
- derived_data_directory = reference.split("/Build/Products").first
79
+ reference = output.split("\n").grep(/Xcode\/DerivedData\/(.*)-(.*)/).first.split(" ").last
80
+ derived_data_directory = reference.split("/Build/Products/").first
80
81
  "#{derived_data_directory}/Build/Products/"
81
82
  end
82
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: betabuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-22 00:00:00.000000000 +01:00
12
+ date: 2011-07-27 00:00:00.000000000 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: CFPropertyList
17
- requirement: &2152291440 !ruby/object:Gem::Requirement
17
+ requirement: &2152542400 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 2.0.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2152291440
25
+ version_requirements: *2152542400
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: uuid
28
- requirement: &2152290800 !ruby/object:Gem::Requirement
28
+ requirement: &2152541740 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 2.3.1
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2152290800
36
+ version_requirements: *2152541740
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rest-client
39
- requirement: &2152290280 !ruby/object:Gem::Requirement
39
+ requirement: &2152541000 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.6.1
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2152290280
47
+ version_requirements: *2152541000
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: json
50
- requirement: &2152289800 !ruby/object:Gem::Requirement
50
+ requirement: &2152540300 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: 1.4.6
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *2152289800
58
+ version_requirements: *2152540300
59
59
  description:
60
60
  email: luke@lukeredpath.co.uk
61
61
  executables: []