betabuilder 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.md +3 -0
- data/README.md +24 -0
- data/lib/beta_builder.rb +3 -2
- metadata +10 -10
data/CHANGES.md
CHANGED
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
|
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.
|
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-
|
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: &
|
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: *
|
25
|
+
version_requirements: *2152542400
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: uuid
|
28
|
-
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: *
|
36
|
+
version_requirements: *2152541740
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rest-client
|
39
|
-
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: *
|
47
|
+
version_requirements: *2152541000
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: json
|
50
|
-
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: *
|
58
|
+
version_requirements: *2152540300
|
59
59
|
description:
|
60
60
|
email: luke@lukeredpath.co.uk
|
61
61
|
executables: []
|