longbow 1.0.0 → 1.1.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/README.md +1 -0
- data/lib/longbow/commands/aim.rb +10 -9
- data/lib/longbow/targets.rb +1 -1
- data/lib/longbow/version.rb +1 -1
- data/resources/aim.sh +31 -0
- data/resources/capture.js +32 -5
- data/resources/config-screenshots.sh +28 -0
- data/resources/ui-screen-shooter.sh +36 -42
- metadata +43 -42
- data/Gemfile.lock +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46fbbd327d526495745c97c3cc037053119370ec
|
4
|
+
data.tar.gz: 4656656db3a2dff91be06591fa333ff3edd41427
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13dea7fb7afdbb1e0d06516e62b9601b5de7baa6ae08f6d8060606cb51753380227e337dbaeef9d4d0394d609aa7d8f64818102efda85648a6d16a0a7afcf3a9
|
7
|
+
data.tar.gz: 669a8a1a5393692c6a2808dc053a3c5fc61e0ceb8b95c64070882415ea96fe7f258cb7e39df9c265b2e680993614356be925345dba5a50a5a8e2b5f2ab32add1
|
data/README.md
CHANGED
@@ -109,6 +109,7 @@ If you leave off the `-n` option, it will run for all targets in the `longbow.js
|
|
109
109
|
|
110
110
|
* `-d, --directory` - if not in the current directory, specify a new path
|
111
111
|
* `-u, --url` - the url of a longbow formatted JSON file
|
112
|
+
* `-i, --images` - set this flag to not recreate images in the longbow file
|
112
113
|
|
113
114
|
`longbow shoot -n NameOfTarget -d ~/Path/To/App -u http://someurl.com/longbow.json`
|
114
115
|
|
data/lib/longbow/commands/aim.rb
CHANGED
@@ -13,6 +13,7 @@ command :aim do |c|
|
|
13
13
|
c.option '-d', '--directory DIRECTORY', 'Path where the .xcodeproj or .xcworkspace file && the longbow.json file live.'
|
14
14
|
c.option '-u', '--url URL', 'URL of a longbow formatted JSON file.'
|
15
15
|
c.option '-n', '--name NAME', 'Name of the target to get a screenshot for.'
|
16
|
+
c.option '-v', '--verbose', 'Output all logs from UIAutomation/xcodebuild'
|
16
17
|
|
17
18
|
c.action do |args, options|
|
18
19
|
# Check for newer version
|
@@ -55,16 +56,16 @@ command :aim do |c|
|
|
55
56
|
resources_path = File.dirname(__FILE__) + '/../../../resources'
|
56
57
|
|
57
58
|
FileUtils.cp "#{resources_path}/capture.js", "capture.js"
|
58
|
-
|
59
|
+
FileUtils.cp "#{resources_path}/config-screenshots.sh", "config-screenshots.sh"
|
60
|
+
FileUtils.cp "#{resources_path}/ui-screen-shooter.sh", "ui-screen-shooter.sh"
|
61
|
+
FileUtils.cp "#{resources_path}/unix_instruments.sh", "unix_instruments.sh"
|
62
|
+
@target_names = []
|
59
63
|
@targets.each do |t|
|
60
|
-
|
61
|
-
begin
|
62
|
-
`#{resources_path}/ui-screen-shooter.sh ~/Desktop/screenshots/#{t['name']} #{t['name']} #{@script}`
|
63
|
-
rescue
|
64
|
-
Longbow::red "Failed while running screenshooter for #{t['name']}"
|
65
|
-
end
|
64
|
+
@target_names << t['name']
|
66
65
|
end
|
67
|
-
|
68
|
-
|
66
|
+
target_string = @target_names.join(',')
|
67
|
+
Longbow::blue " Beginning screenshots..."
|
68
|
+
exec "#{resources_path}/aim.sh #{target_string} verbose" if options.verbose
|
69
|
+
exec "#{resources_path}/aim.sh #{target_string}" if !options.verbose
|
69
70
|
end
|
70
71
|
end
|
data/lib/longbow/targets.rb
CHANGED
@@ -83,7 +83,7 @@ module Longbow
|
|
83
83
|
deployment_target = main_target.deployment_target
|
84
84
|
|
85
85
|
# Create New Target
|
86
|
-
new_target = Xcodeproj::Project::ProjectHelper.new_target project, :application, target, :ios, deployment_target, project.products_group
|
86
|
+
new_target = Xcodeproj::Project::ProjectHelper.new_target project, :application, target, :ios, deployment_target, project.products_group, 'en'
|
87
87
|
if new_target
|
88
88
|
# Add Build Phases
|
89
89
|
main_target.build_phases.objects.each do |b|
|
data/lib/longbow/version.rb
CHANGED
data/resources/aim.sh
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e # Bomb on any script errors
|
3
|
+
target_string="$1"
|
4
|
+
verbose=false
|
5
|
+
if [ -n "$2" ]; then
|
6
|
+
verbose=true
|
7
|
+
fi
|
8
|
+
|
9
|
+
function main {
|
10
|
+
# Get targets into an array, run 'em
|
11
|
+
IFS=',' read -a targets <<< "$target_string"
|
12
|
+
for target in "${targets[@]}"; do
|
13
|
+
_run_target $target;
|
14
|
+
done
|
15
|
+
# Remove files added by ruby script
|
16
|
+
rm "capture.js"
|
17
|
+
rm "config-screenshots.sh"
|
18
|
+
rm "ui-screen-shooter.sh"
|
19
|
+
rm "unix_instruments.sh"
|
20
|
+
}
|
21
|
+
|
22
|
+
function _run_target {
|
23
|
+
echo " Running $1"
|
24
|
+
if [ "$verbose" = true ]; then
|
25
|
+
source ui-screen-shooter.sh "$HOME/Desktop/screenshots/$1" "$1"
|
26
|
+
else
|
27
|
+
source ui-screen-shooter.sh "$HOME/Desktop/screenshots/$1" "$1" >/dev/null 2>/dev/null
|
28
|
+
fi
|
29
|
+
}
|
30
|
+
|
31
|
+
main
|
data/resources/capture.js
CHANGED
@@ -18,6 +18,25 @@
|
|
18
18
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
19
|
// THE SOFTWARE.
|
20
20
|
|
21
|
+
var kPortraitString = "portrait"
|
22
|
+
var kLandscapeString = "landscape"
|
23
|
+
|
24
|
+
var kMaxDimension4inch = 568;
|
25
|
+
var kMaxDimension4point7inch = 667;
|
26
|
+
var kMaxDimension5point5inch = 736;
|
27
|
+
|
28
|
+
// rectMaxSizeMatchesPhoneWithMaxDimensionForOrientation(rect, maxDimension, orientation)
|
29
|
+
//
|
30
|
+
// Returns whether the given rect matches a given max dimension in a particular orientation.
|
31
|
+
//
|
32
|
+
// `rect` is the rectangle representing the image size you want to check
|
33
|
+
// `maxDimension` is the size of the longest side of the screen on a given device
|
34
|
+
// `orientation` is...well...duh!
|
35
|
+
//
|
36
|
+
function rectMaxSizeMatchesPhoneWithMaxDimensionForOrientation(rect, maxDimension, orientation) {
|
37
|
+
return (orientation == kPortraitString && rect.size.height == maxDimension) || (orientation == kLandscapeString && rect.size.width == maxDimension)
|
38
|
+
}
|
39
|
+
|
21
40
|
// captureLocalizedScreenshot(name)
|
22
41
|
//
|
23
42
|
// Tells the local target to take a screen shot and names the file after the
|
@@ -38,13 +57,22 @@ function captureLocalizedScreenshot(name) {
|
|
38
57
|
var model = target.model();
|
39
58
|
var rect = target.rect();
|
40
59
|
|
41
|
-
var orientation =
|
42
|
-
if (rect.size.height < rect.size.width)
|
60
|
+
var orientation = kPortraitString;
|
61
|
+
if (rect.size.height < rect.size.width) {
|
62
|
+
orientation = kLandscapeString;
|
63
|
+
}
|
43
64
|
|
44
65
|
if (model.match(/iPhone/)) {
|
45
|
-
if ((
|
66
|
+
if (rectMaxSizeMatchesPhoneWithMaxDimensionForOrientation(rect, kMaxDimension4inch, orientation)) {
|
46
67
|
model = "iOS-4-in";
|
47
|
-
}
|
68
|
+
}
|
69
|
+
else if (rectMaxSizeMatchesPhoneWithMaxDimensionForOrientation(rect, kMaxDimension4point7inch, orientation)) {
|
70
|
+
model = "iOS-4.7-in";
|
71
|
+
}
|
72
|
+
else if (rectMaxSizeMatchesPhoneWithMaxDimensionForOrientation(rect, kMaxDimension5point5inch, orientation)) {
|
73
|
+
model = "iOS-5.5-in";
|
74
|
+
}
|
75
|
+
else {
|
48
76
|
model = "iOS-3.5-in";
|
49
77
|
}
|
50
78
|
} else {
|
@@ -54,4 +82,3 @@ function captureLocalizedScreenshot(name) {
|
|
54
82
|
var parts = [model, orientation, name];
|
55
83
|
target.captureScreenWithName(parts.join("___"));
|
56
84
|
}
|
57
|
-
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# This is an example configuration file to be used with ui-screen-shooter
|
3
|
+
# It is designed to work with the Hello World International application
|
4
|
+
# Please copy to config-screenshots.sh and edit for your needs
|
5
|
+
|
6
|
+
|
7
|
+
# LOCALE
|
8
|
+
# ======
|
9
|
+
# Set the locales here in which your screenshots should be made.
|
10
|
+
# Use format like en-US zh-Hans for filenames compatible with iTMSTransporter
|
11
|
+
# Note: to get the locale names for your existing app:
|
12
|
+
# - Download .itmsp file with iTMSTransporter
|
13
|
+
# - Run `grep locale ~/Desktop/*.itmsp/metadata.xml | grep name | sort -u`
|
14
|
+
|
15
|
+
export languages="en-US"
|
16
|
+
|
17
|
+
|
18
|
+
# SIMULATORS
|
19
|
+
# ==========
|
20
|
+
# The simulators we want to run the script against, declared as a Bash array.
|
21
|
+
# Run `instruments -s devices` to get a list of all the possible string values.
|
22
|
+
|
23
|
+
declare -xa simulators=(
|
24
|
+
"iPhone 6 (8.1 Simulator)",
|
25
|
+
"iPhone 6 Plus (8.1 Simulator)",
|
26
|
+
"iPhone 5S (8.1 Simulator)",
|
27
|
+
"iPhone 4S (8.1 Simulator)"
|
28
|
+
)
|
@@ -28,33 +28,28 @@ destination="$1"
|
|
28
28
|
scheme_name="$2"
|
29
29
|
ui_script="$3"
|
30
30
|
|
31
|
-
# The locale identifiers for the languages you want to shoot
|
32
|
-
# Use the format like en-US zh-Hans for filenames compatible with iTunes
|
33
|
-
# connect upload tool
|
34
|
-
# FYI: get the locale names for you existing app with iTMSTransporter and:
|
35
|
-
# grep locale ~/Desktop/*.itmsp/metadata.xml | grep name | sort -u
|
36
|
-
languages="en-US"
|
37
|
-
|
38
|
-
# The simulators we want to run the script against, declared as a Bash array.
|
39
|
-
# Run `instruments -w help` to get a list of all the possible string values.
|
40
|
-
#declare -a simulators=(
|
41
|
-
#"iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
|
42
|
-
#"iPhone Retina (4-inch) - Simulator - iOS 7.1"
|
43
|
-
#"iPad Retina - Simulator - iOS 7.1"
|
44
|
-
#)
|
45
|
-
declare -a simulators=(
|
46
|
-
"iPhone 4s"
|
47
|
-
"iPhone 5s"
|
48
|
-
"iPhone 6"
|
49
|
-
"iPhone 6 Plus"
|
50
|
-
)
|
51
|
-
|
52
31
|
function main {
|
32
|
+
# Load configuration
|
33
|
+
# Not in a separate function because you can't exort arrays
|
34
|
+
# https://stackoverflow.com/questions/5564418/exporting-an-array-in-bash-script
|
35
|
+
# Will export languages and simulators bash variables
|
36
|
+
export UISS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
37
|
+
if [ -f "$UISS_DIR"/config-screenshots.sh ]; then
|
38
|
+
source "$UISS_DIR"/config-screenshots.sh
|
39
|
+
else
|
40
|
+
if [ -f "$UISS_DIR"/config-screenshots.example.sh ]; then
|
41
|
+
source "$UISS_DIR"/config-screenshots.example.sh
|
42
|
+
echo "WARNING: Using example config-screenshots file, you should create your own"
|
43
|
+
else
|
44
|
+
echo "Configuration \"config-screenshots.sh\" does not exist! Aborting."
|
45
|
+
exit 1
|
46
|
+
fi
|
47
|
+
fi
|
48
|
+
|
53
49
|
_check_destination
|
54
50
|
_check_ui_script
|
55
51
|
_check_scheme_name
|
56
52
|
_xcode clean build
|
57
|
-
_reset_sim
|
58
53
|
|
59
54
|
for simulator in "${simulators[@]}"; do
|
60
55
|
for language in $languages; do
|
@@ -92,11 +87,16 @@ function _check_ui_script {
|
|
92
87
|
# Abort if the UI script does not exist.
|
93
88
|
|
94
89
|
if [ -z "$ui_script" ]; then
|
95
|
-
ui_script="./
|
90
|
+
ui_script="./config-automation.js"
|
96
91
|
fi
|
97
92
|
if [ ! -f "$ui_script" ]; then
|
98
|
-
|
99
|
-
|
93
|
+
if [ -f "./config-automation.example.js" ]; then
|
94
|
+
ui_script="./config-automation.js"
|
95
|
+
echo "WARNING: Using example config-automation, please create your own"
|
96
|
+
else
|
97
|
+
echo "Config-automation does not exist! Aborting."
|
98
|
+
exit 1
|
99
|
+
fi
|
100
100
|
fi
|
101
101
|
}
|
102
102
|
|
@@ -121,7 +121,8 @@ function _xcode {
|
|
121
121
|
# or how I became to know this fact
|
122
122
|
xcodebuild -sdk "iphonesimulator$ios_version" \
|
123
123
|
CONFIGURATION_BUILD_DIR="$build_dir/build" \
|
124
|
-
-workspace $base.xcworkspace -scheme $scheme_name -configuration
|
124
|
+
-workspace "$base.xcworkspace" -scheme "$scheme_name" -configuration Debug \
|
125
|
+
PRODUCT_NAME="$scheme_name" \
|
125
126
|
DSTROOT=$build_dir \
|
126
127
|
OBJROOT=$build_dir \
|
127
128
|
SYMROOT=$build_dir \
|
@@ -129,14 +130,15 @@ function _xcode {
|
|
129
130
|
"$@"
|
130
131
|
xcodebuild -sdk "iphonesimulator$ios_version" \
|
131
132
|
CONFIGURATION_BUILD_DIR="$build_dir/build" \
|
132
|
-
|
133
|
-
|
133
|
+
-workspace "$base.xcworkspace" -scheme "$scheme_name" -configuration Debug \
|
134
|
+
PRODUCT_NAME="$scheme_name" \
|
134
135
|
DSTROOT=$build_dir \
|
135
136
|
OBJROOT=$build_dir \
|
136
137
|
SYMROOT=$build_dir \
|
137
138
|
ONLY_ACTIVE_ARCH=NO \
|
138
139
|
"$@"
|
139
|
-
cp -r "$build_dir/build
|
140
|
+
cp -r "$build_dir/build/$scheme_name.app" "$build_dir"
|
141
|
+
bundle_dir="$build_dir/$scheme_name.app"
|
140
142
|
else
|
141
143
|
xcodebuild -sdk "iphonesimulator$ios_version" \
|
142
144
|
CONFIGURATION_BUILD_DIR=$build_dir \
|
@@ -166,7 +168,7 @@ function _run_automation {
|
|
166
168
|
in language \"${language}\"..."
|
167
169
|
|
168
170
|
dev_tools_dir=`xcode-select -print-path`
|
169
|
-
tracetemplate="
|
171
|
+
tracetemplate="Automation"
|
170
172
|
|
171
173
|
# Check out the `unix_instruments.sh` script to see why we need this wrapper.
|
172
174
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
@@ -174,12 +176,11 @@ function _run_automation {
|
|
174
176
|
-w "$simulator" \
|
175
177
|
-D "$trace_results_dir/trace" \
|
176
178
|
-t "$tracetemplate" \
|
177
|
-
$bundle_dir \
|
179
|
+
"$bundle_dir" \
|
178
180
|
-e UIARESULTSPATH "$trace_results_dir" \
|
179
181
|
-e UIASCRIPT "$automation_script" \
|
180
182
|
-AppleLanguages "($language)" \
|
181
|
-
-AppleLocale "$language"
|
182
|
-
"$@"
|
183
|
+
-AppleLocale "$language"
|
183
184
|
|
184
185
|
find $trace_results_dir/Run\ 1/ -name *landscape*png -type f -exec sips -r -90 \{\} \;
|
185
186
|
}
|
@@ -195,18 +196,11 @@ function _copy_screenshots {
|
|
195
196
|
cp $trace_results_dir/Run\ 1/*.png "$destination/$language"
|
196
197
|
}
|
197
198
|
|
198
|
-
function _reset_sim {
|
199
|
-
count=`ps aux | grep [l]aunchd_sim | wc -l`
|
200
|
-
if [ $count -ne 0 ]
|
201
|
-
then
|
202
|
-
kill -9 $(ps -ef | grep [l]aunchd_sim | awk {'print $2'})
|
203
|
-
fi
|
204
|
-
}
|
205
|
-
|
206
199
|
function _close_sim {
|
207
200
|
# I know, I know. It says "iPhone Simulator". For some reason,
|
208
201
|
# that's the only way Applescript can identify it.
|
209
202
|
osascript -e "tell application \"iPhone Simulator\" to quit"
|
210
203
|
}
|
211
204
|
|
212
|
-
main
|
205
|
+
main
|
206
|
+
|
metadata
CHANGED
@@ -1,125 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: longbow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Intermark Interactive
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fileutils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: commander
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '4.1'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '4.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: dotenv
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.7'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.7'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rmagick
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 2.13.2
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 2.13.2
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: xcodeproj
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: json
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - '>='
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - '>='
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
description: One codebase. Multiple App Store submission targets with different icons,
|
@@ -131,27 +131,28 @@ executables:
|
|
131
131
|
extensions: []
|
132
132
|
extra_rdoc_files: []
|
133
133
|
files:
|
134
|
-
-
|
135
|
-
-
|
136
|
-
-
|
137
|
-
-
|
138
|
-
-
|
139
|
-
-
|
140
|
-
-
|
141
|
-
-
|
142
|
-
-
|
143
|
-
-
|
144
|
-
-
|
145
|
-
-
|
146
|
-
-
|
147
|
-
-
|
148
|
-
-
|
149
|
-
-
|
150
|
-
-
|
151
|
-
-
|
152
|
-
-
|
153
|
-
-
|
154
|
-
-
|
134
|
+
- ./Gemfile
|
135
|
+
- ./LICENSE.txt
|
136
|
+
- ./README.md
|
137
|
+
- ./Rakefile
|
138
|
+
- ./lib/longbow.rb
|
139
|
+
- ./lib/longbow/colors.rb
|
140
|
+
- ./lib/longbow/commands.rb
|
141
|
+
- ./lib/longbow/commands/aim.rb
|
142
|
+
- ./lib/longbow/commands/install.rb
|
143
|
+
- ./lib/longbow/commands/shoot.rb
|
144
|
+
- ./lib/longbow/images.rb
|
145
|
+
- ./lib/longbow/json.rb
|
146
|
+
- ./lib/longbow/plist.rb
|
147
|
+
- ./lib/longbow/targets.rb
|
148
|
+
- ./lib/longbow/utilities.rb
|
149
|
+
- ./lib/longbow/version.rb
|
150
|
+
- ./resources/aim.sh
|
151
|
+
- ./resources/banner.png
|
152
|
+
- ./resources/capture.js
|
153
|
+
- ./resources/config-screenshots.sh
|
154
|
+
- ./resources/ui-screen-shooter.sh
|
155
|
+
- ./resources/unix_instruments.sh
|
155
156
|
- bin/longbow
|
156
157
|
homepage: https://github.com/intermark/longbow
|
157
158
|
licenses:
|
@@ -163,17 +164,17 @@ require_paths:
|
|
163
164
|
- lib
|
164
165
|
required_ruby_version: !ruby/object:Gem::Requirement
|
165
166
|
requirements:
|
166
|
-
- -
|
167
|
+
- - '>='
|
167
168
|
- !ruby/object:Gem::Version
|
168
169
|
version: '0'
|
169
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
171
|
requirements:
|
171
|
-
- -
|
172
|
+
- - '>='
|
172
173
|
- !ruby/object:Gem::Version
|
173
174
|
version: '0'
|
174
175
|
requirements: []
|
175
176
|
rubyforge_project:
|
176
|
-
rubygems_version: 2.
|
177
|
+
rubygems_version: 2.4.2
|
177
178
|
signing_key:
|
178
179
|
specification_version: 4
|
179
180
|
summary: Better target creation for one iOS codebase.
|
data/Gemfile.lock
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
longbow (0.6.3)
|
5
|
-
bundler (~> 1.3)
|
6
|
-
commander (~> 4.1)
|
7
|
-
dotenv (~> 0.7)
|
8
|
-
fileutils
|
9
|
-
json
|
10
|
-
rmagick (~> 2.13.2)
|
11
|
-
xcodeproj
|
12
|
-
|
13
|
-
GEM
|
14
|
-
remote: https://rubygems.org/
|
15
|
-
specs:
|
16
|
-
CFPropertyList (2.2.8)
|
17
|
-
activesupport (3.2.19)
|
18
|
-
i18n (~> 0.6, >= 0.6.4)
|
19
|
-
multi_json (~> 1.0)
|
20
|
-
colored (1.2)
|
21
|
-
commander (4.2.0)
|
22
|
-
highline (~> 1.6.11)
|
23
|
-
dotenv (0.11.1)
|
24
|
-
dotenv-deployment (~> 0.0.2)
|
25
|
-
dotenv-deployment (0.0.2)
|
26
|
-
fileutils (0.7)
|
27
|
-
rmagick (>= 2.13.1)
|
28
|
-
highline (1.6.21)
|
29
|
-
i18n (0.6.11)
|
30
|
-
json (1.8.1)
|
31
|
-
multi_json (1.10.1)
|
32
|
-
rake (10.1.1)
|
33
|
-
rmagick (2.13.3)
|
34
|
-
xcodeproj (0.19.1)
|
35
|
-
CFPropertyList (~> 2.2)
|
36
|
-
activesupport (~> 3.0)
|
37
|
-
colored (~> 1.2)
|
38
|
-
|
39
|
-
PLATFORMS
|
40
|
-
ruby
|
41
|
-
|
42
|
-
DEPENDENCIES
|
43
|
-
longbow!
|
44
|
-
rake
|