Class: IosAndroidToolbox::IosVersionController
Constant Summary
collapse
- BUILD_VERSION_KEY =
User as Build or release candidate
'CFBundleVersion'
- BUNDLE_VERSION_KEY =
'CFBundleShortVersionString'
- URL_TYPES_KEY =
"CFBundleURLTypes"
- URL_SCHEMES_KEY =
"CFBundleURLSchemes"
- BUNDLE_IDENTIFIER_KEY =
"CFBundleIdentifier"
- BUNDLE_DISPLAY_NAME =
"CFBundleDisplayName"
- BUNDLE_NAME =
"CFBundleName"
- BUNDLE_ICON_FILES =
"CFBundleIconFiles"
Instance Attribute Summary
#inc_idx, #max_comps
Class Method Summary
collapse
Instance Method Summary
collapse
#components, find_project_info, #suffix, version_file
Constructor Details
Returns a new instance of IosVersionController.
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/ios_android_toolbox/ios.rb', line 39
def initialize(version_file)
super()
raise "No version file specified" if version_file.nil?
begin
@dict = Plist.parse_xml(version_file)
rescue
raise "Cannot parse file #{version_file}"
end
raise "File #{version_file} does not have a #{BUNDLE_VERSION_KEY} key" if @dict[BUNDLE_VERSION_KEY].nil?
self
end
|
Class Method Details
.find_project_info_candidates_for_dir(dir) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/ios_android_toolbox/ios.rb', line 20
def self.find_project_info_candidates_for_dir(dir)
candidates = []
plists=`find "#{dir}" -name "*.plist"`
plists.split("\n").each do |filename|
if File.exists?(filename)
begin
dict = Plist.parse_xml(filename)
candidates.push filename if dict and dict[BUNDLE_VERSION_KEY]
rescue
end
end
end
candidates
end
|
Instance Method Details
#app_id ⇒ Object
74
75
76
|
# File 'lib/ios_android_toolbox/ios.rb', line 74
def app_id
bundle_id
end
|
#build_number ⇒ Object
82
83
84
|
# File 'lib/ios_android_toolbox/ios.rb', line 82
def build_number
@dict[BUILD_VERSION_KEY]
end
|
#bundle_display_name ⇒ Object
62
63
64
|
# File 'lib/ios_android_toolbox/ios.rb', line 62
def bundle_display_name
@dict[BUNDLE_DISPLAY_NAME]
end
|
#bundle_icon_files ⇒ Object
70
71
72
|
# File 'lib/ios_android_toolbox/ios.rb', line 70
def bundle_icon_files
@dict[BUNDLE_ICON_FILES]
end
|
#bundle_name ⇒ Object
66
67
68
|
# File 'lib/ios_android_toolbox/ios.rb', line 66
def bundle_name
@dict[BUNDLE_NAME]
end
|
#bundle_version ⇒ Object
78
79
80
|
# File 'lib/ios_android_toolbox/ios.rb', line 78
def bundle_version
@dict[BUNDLE_VERSION_KEY]
end
|
#next_build_number ⇒ Object
108
109
110
|
# File 'lib/ios_android_toolbox/ios.rb', line 108
def next_build_number
next_version(@inc_idx)
end
|
#next_build_number! ⇒ Object
112
113
114
|
# File 'lib/ios_android_toolbox/ios.rb', line 112
def next_build_number!
next_version!(@inc_idx)
end
|
#next_version(inc_idx = @inc_idx) ⇒ Object
86
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/ios_android_toolbox/ios.rb', line 86
def next_version(inc_idx = @inc_idx)
if inc_idx == @inc_idx v = bundle_version
s = (build_number.to_i + 1).to_s
else
v = super.next_version(inc_idx)
s = build_number
end
"#{v}-#{s}"
end
|
#next_version!(inc_idx = @inc_idx) ⇒ Object
98
99
100
101
102
103
104
105
106
|
# File 'lib/ios_android_toolbox/ios.rb', line 98
def next_version!(inc_idx = @inc_idx)
if inc_idx < @inc_idx
@dict[BUNDLE_VERSION_KEY] = next_version(inc_idx)
else
@dict[BUILD_VERSION_KEY] = (build_number.to_i + 1).to_s
end
version
end
|
#replace_url_scheme(prev, replace) ⇒ Object
127
128
129
130
131
132
133
134
|
# File 'lib/ios_android_toolbox/ios.rb', line 127
def replace_url_scheme(prev, replace)
url_types.each do |url_type_dict|
schemes = url_type_dict[URL_SCHEMES_KEY]
schemes.each_index do |i|
schemes[i] = replace if prev == schemes[i]
end
end
end
|
#url_schemes ⇒ Object
120
121
122
123
124
125
|
# File 'lib/ios_android_toolbox/ios.rb', line 120
def url_schemes
schemes = url_types.collect do |ary|
ary[URL_SCHEMES_KEY]
end
schemes.flatten
end
|
#url_types ⇒ Object
116
117
118
|
# File 'lib/ios_android_toolbox/ios.rb', line 116
def url_types
@dict[URL_TYPES_KEY]
end
|
#write_to_output_file(output_file) ⇒ Object
144
145
146
|
# File 'lib/ios_android_toolbox/ios.rb', line 144
def write_to_output_file(output_file)
write_to_plist_file(output_file)
end
|
#write_to_plist_file(output_file) ⇒ Object
136
137
138
139
140
141
142
|
# File 'lib/ios_android_toolbox/ios.rb', line 136
def write_to_plist_file(output_file)
if output_file == '-'
puts @dict.to_plist
else
@dict.save_plist output_file
end
end
|