zerg_xcode 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/CHANGELOG +1 -0
  2. data/LICENSE +21 -0
  3. data/Manifest +44 -0
  4. data/README.textile +124 -0
  5. data/RUBYFORGE +40 -0
  6. data/Rakefile +27 -0
  7. data/bin/zerg-xcode +7 -0
  8. data/lib/zerg_xcode/file_format/archiver.rb +87 -0
  9. data/lib/zerg_xcode/file_format/encoder.rb +40 -0
  10. data/lib/zerg_xcode/file_format/lexer.rb +60 -0
  11. data/lib/zerg_xcode/file_format/parser.rb +46 -0
  12. data/lib/zerg_xcode/file_format/paths.rb +44 -0
  13. data/lib/zerg_xcode/objects/pbx_build_file.rb +27 -0
  14. data/lib/zerg_xcode/objects/pbx_native_target.rb +19 -0
  15. data/lib/zerg_xcode/objects/pbx_project.rb +60 -0
  16. data/lib/zerg_xcode/objects/xcode_object.rb +144 -0
  17. data/lib/zerg_xcode/plugins/core/core.rb +36 -0
  18. data/lib/zerg_xcode/plugins/help.rb +30 -0
  19. data/lib/zerg_xcode/plugins/import.rb +19 -0
  20. data/lib/zerg_xcode/plugins/irb.rb +22 -0
  21. data/lib/zerg_xcode/plugins/ls.rb +27 -0
  22. data/lib/zerg_xcode/plugins/retarget.rb +90 -0
  23. data/lib/zerg_xcode/shortcuts.rb +22 -0
  24. data/lib/zerg_xcode.rb +17 -0
  25. data/test/file_format/archiver_test.rb +70 -0
  26. data/test/file_format/encoder_test.rb +10 -0
  27. data/test/file_format/lexer_test.rb +56 -0
  28. data/test/file_format/parser_test.rb +44 -0
  29. data/test/file_format/path_test.rb +40 -0
  30. data/test/objects/pbx_build_file_test.rb +38 -0
  31. data/test/objects/pbx_native_target_test.rb +31 -0
  32. data/test/objects/pbx_project_test.rb +62 -0
  33. data/test/objects/xcode_object_test.rb +117 -0
  34. data/test/plugins/core/core_test.rb +32 -0
  35. data/test/plugins/import_test.rb +22 -0
  36. data/test/plugins/irb_test.rb +30 -0
  37. data/test/plugins/ls_test.rb +43 -0
  38. data/test/plugins/retarget_test.rb +65 -0
  39. data/test/plugins/test_helper.rb +21 -0
  40. data/test/shortcuts_test.rb +18 -0
  41. data/testdata/TestApp/TestApp.xcodeproj/project.pbxproj +328 -0
  42. data/testdata/ZergSupport.xcodeproj/project.pbxproj +930 -0
  43. data/testdata/project.pbxproj +250 -0
  44. data/testdata/project.pbxproj.compat +320 -0
  45. data/zerg_xcode.gemspec +34 -0
  46. metadata +137 -0
@@ -0,0 +1,328 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 45;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 1D3623260D0F684500981E51 /* TestAppAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* TestAppAppDelegate.m */; };
11
+ 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
12
+ 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
13
+ 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
14
+ 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
15
+ 2899E5220DE3E06400AC0155 /* TestAppViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* TestAppViewController.xib */; };
16
+ 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
17
+ 28D7ACF80DDB3853001CB0EB /* TestAppViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* TestAppViewController.m */; };
18
+ /* End PBXBuildFile section */
19
+
20
+ /* Begin PBXFileReference section */
21
+ 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
22
+ 1D3623240D0F684500981E51 /* TestAppAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestAppAppDelegate.h; sourceTree = "<group>"; };
23
+ 1D3623250D0F684500981E51 /* TestAppAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestAppAppDelegate.m; sourceTree = "<group>"; };
24
+ 1D6058910D05DD3D006BFB54 /* TestApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
25
+ 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
26
+ 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
27
+ 2899E5210DE3E06400AC0155 /* TestAppViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TestAppViewController.xib; sourceTree = "<group>"; };
28
+ 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
29
+ 28D7ACF60DDB3853001CB0EB /* TestAppViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestAppViewController.h; sourceTree = "<group>"; };
30
+ 28D7ACF70DDB3853001CB0EB /* TestAppViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestAppViewController.m; sourceTree = "<group>"; };
31
+ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
32
+ 32CA4F630368D1EE00C91783 /* TestApp_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestApp_Prefix.pch; sourceTree = "<group>"; };
33
+ 57A5555D0F50DE4B00642792 /* libTestLib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libTestLib.a; sourceTree = BUILT_PRODUCTS_DIR; };
34
+ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
35
+ /* End PBXFileReference section */
36
+
37
+ /* Begin PBXFrameworksBuildPhase section */
38
+ 1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
39
+ isa = PBXFrameworksBuildPhase;
40
+ buildActionMask = 2147483647;
41
+ files = (
42
+ 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
43
+ 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
44
+ 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,
45
+ );
46
+ runOnlyForDeploymentPostprocessing = 0;
47
+ };
48
+ 57A5555B0F50DE4B00642792 /* Frameworks */ = {
49
+ isa = PBXFrameworksBuildPhase;
50
+ buildActionMask = 2147483647;
51
+ files = (
52
+ );
53
+ runOnlyForDeploymentPostprocessing = 0;
54
+ };
55
+ /* End PBXFrameworksBuildPhase section */
56
+
57
+ /* Begin PBXGroup section */
58
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
59
+ isa = PBXGroup;
60
+ children = (
61
+ 1D3623240D0F684500981E51 /* TestAppAppDelegate.h */,
62
+ 1D3623250D0F684500981E51 /* TestAppAppDelegate.m */,
63
+ 28D7ACF60DDB3853001CB0EB /* TestAppViewController.h */,
64
+ 28D7ACF70DDB3853001CB0EB /* TestAppViewController.m */,
65
+ );
66
+ path = Classes;
67
+ sourceTree = "<group>";
68
+ };
69
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
70
+ isa = PBXGroup;
71
+ children = (
72
+ 1D6058910D05DD3D006BFB54 /* TestApp.app */,
73
+ 57A5555D0F50DE4B00642792 /* libTestLib.a */,
74
+ );
75
+ name = Products;
76
+ sourceTree = "<group>";
77
+ };
78
+ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
79
+ isa = PBXGroup;
80
+ children = (
81
+ 080E96DDFE201D6D7F000001 /* Classes */,
82
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
83
+ 29B97317FDCFA39411CA2CEA /* Resources */,
84
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
85
+ 19C28FACFE9D520D11CA2CBB /* Products */,
86
+ );
87
+ name = CustomTemplate;
88
+ sourceTree = "<group>";
89
+ };
90
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
91
+ isa = PBXGroup;
92
+ children = (
93
+ 32CA4F630368D1EE00C91783 /* TestApp_Prefix.pch */,
94
+ 29B97316FDCFA39411CA2CEA /* main.m */,
95
+ );
96
+ name = "Other Sources";
97
+ sourceTree = "<group>";
98
+ };
99
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
100
+ isa = PBXGroup;
101
+ children = (
102
+ 2899E5210DE3E06400AC0155 /* TestAppViewController.xib */,
103
+ 28AD733E0D9D9553002E5188 /* MainWindow.xib */,
104
+ 8D1107310486CEB800E47090 /* Info.plist */,
105
+ );
106
+ name = Resources;
107
+ sourceTree = "<group>";
108
+ };
109
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
110
+ isa = PBXGroup;
111
+ children = (
112
+ 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
113
+ 1D30AB110D05D00D00671497 /* Foundation.framework */,
114
+ 288765A40DF7441C002DB57D /* CoreGraphics.framework */,
115
+ );
116
+ name = Frameworks;
117
+ sourceTree = "<group>";
118
+ };
119
+ /* End PBXGroup section */
120
+
121
+ /* Begin PBXHeadersBuildPhase section */
122
+ 57A555590F50DE4B00642792 /* Headers */ = {
123
+ isa = PBXHeadersBuildPhase;
124
+ buildActionMask = 2147483647;
125
+ files = (
126
+ );
127
+ runOnlyForDeploymentPostprocessing = 0;
128
+ };
129
+ /* End PBXHeadersBuildPhase section */
130
+
131
+ /* Begin PBXNativeTarget section */
132
+ 1D6058900D05DD3D006BFB54 /* TestApp */ = {
133
+ isa = PBXNativeTarget;
134
+ buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "TestApp" */;
135
+ buildPhases = (
136
+ 1D60588D0D05DD3D006BFB54 /* Resources */,
137
+ 1D60588E0D05DD3D006BFB54 /* Sources */,
138
+ 1D60588F0D05DD3D006BFB54 /* Frameworks */,
139
+ );
140
+ buildRules = (
141
+ );
142
+ dependencies = (
143
+ );
144
+ name = TestApp;
145
+ productName = TestApp;
146
+ productReference = 1D6058910D05DD3D006BFB54 /* TestApp.app */;
147
+ productType = "com.apple.product-type.application";
148
+ };
149
+ 57A5555C0F50DE4B00642792 /* TestLib */ = {
150
+ isa = PBXNativeTarget;
151
+ buildConfigurationList = 57A555600F50DE6B00642792 /* Build configuration list for PBXNativeTarget "TestLib" */;
152
+ buildPhases = (
153
+ 57A555590F50DE4B00642792 /* Headers */,
154
+ 57A5555A0F50DE4B00642792 /* Sources */,
155
+ 57A5555B0F50DE4B00642792 /* Frameworks */,
156
+ );
157
+ buildRules = (
158
+ );
159
+ dependencies = (
160
+ );
161
+ name = TestLib;
162
+ productName = TestLib;
163
+ productReference = 57A5555D0F50DE4B00642792 /* libTestLib.a */;
164
+ productType = "com.apple.product-type.library.static";
165
+ };
166
+ /* End PBXNativeTarget section */
167
+
168
+ /* Begin PBXProject section */
169
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
170
+ isa = PBXProject;
171
+ buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "TestApp" */;
172
+ compatibilityVersion = "Xcode 3.1";
173
+ hasScannedForEncodings = 1;
174
+ mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
175
+ projectDirPath = "";
176
+ projectRoot = "";
177
+ targets = (
178
+ 1D6058900D05DD3D006BFB54 /* TestApp */,
179
+ 57A5555C0F50DE4B00642792 /* TestLib */,
180
+ );
181
+ };
182
+ /* End PBXProject section */
183
+
184
+ /* Begin PBXResourcesBuildPhase section */
185
+ 1D60588D0D05DD3D006BFB54 /* Resources */ = {
186
+ isa = PBXResourcesBuildPhase;
187
+ buildActionMask = 2147483647;
188
+ files = (
189
+ 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
190
+ 2899E5220DE3E06400AC0155 /* TestAppViewController.xib in Resources */,
191
+ );
192
+ runOnlyForDeploymentPostprocessing = 0;
193
+ };
194
+ /* End PBXResourcesBuildPhase section */
195
+
196
+ /* Begin PBXSourcesBuildPhase section */
197
+ 1D60588E0D05DD3D006BFB54 /* Sources */ = {
198
+ isa = PBXSourcesBuildPhase;
199
+ buildActionMask = 2147483647;
200
+ files = (
201
+ 1D60589B0D05DD56006BFB54 /* main.m in Sources */,
202
+ 1D3623260D0F684500981E51 /* TestAppAppDelegate.m in Sources */,
203
+ 28D7ACF80DDB3853001CB0EB /* TestAppViewController.m in Sources */,
204
+ );
205
+ runOnlyForDeploymentPostprocessing = 0;
206
+ };
207
+ 57A5555A0F50DE4B00642792 /* Sources */ = {
208
+ isa = PBXSourcesBuildPhase;
209
+ buildActionMask = 2147483647;
210
+ files = (
211
+ );
212
+ runOnlyForDeploymentPostprocessing = 0;
213
+ };
214
+ /* End PBXSourcesBuildPhase section */
215
+
216
+ /* Begin XCBuildConfiguration section */
217
+ 1D6058940D05DD3E006BFB54 /* Debug */ = {
218
+ isa = XCBuildConfiguration;
219
+ buildSettings = {
220
+ ALWAYS_SEARCH_USER_PATHS = NO;
221
+ COPY_PHASE_STRIP = NO;
222
+ GCC_DYNAMIC_NO_PIC = NO;
223
+ GCC_OPTIMIZATION_LEVEL = 0;
224
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
225
+ GCC_PREFIX_HEADER = TestApp_Prefix.pch;
226
+ INFOPLIST_FILE = Info.plist;
227
+ PRODUCT_NAME = TestApp;
228
+ };
229
+ name = Debug;
230
+ };
231
+ 1D6058950D05DD3E006BFB54 /* Release */ = {
232
+ isa = XCBuildConfiguration;
233
+ buildSettings = {
234
+ ALWAYS_SEARCH_USER_PATHS = NO;
235
+ COPY_PHASE_STRIP = YES;
236
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
237
+ GCC_PREFIX_HEADER = TestApp_Prefix.pch;
238
+ INFOPLIST_FILE = Info.plist;
239
+ PRODUCT_NAME = TestApp;
240
+ };
241
+ name = Release;
242
+ };
243
+ 57A5555E0F50DE4D00642792 /* Debug */ = {
244
+ isa = XCBuildConfiguration;
245
+ buildSettings = {
246
+ ALWAYS_SEARCH_USER_PATHS = NO;
247
+ COPY_PHASE_STRIP = NO;
248
+ GCC_DYNAMIC_NO_PIC = NO;
249
+ GCC_OPTIMIZATION_LEVEL = 0;
250
+ PREBINDING = NO;
251
+ PRODUCT_NAME = TestLib;
252
+ };
253
+ name = Debug;
254
+ };
255
+ 57A5555F0F50DE4D00642792 /* Release */ = {
256
+ isa = XCBuildConfiguration;
257
+ buildSettings = {
258
+ ALWAYS_SEARCH_USER_PATHS = NO;
259
+ COPY_PHASE_STRIP = YES;
260
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
261
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
262
+ PREBINDING = NO;
263
+ PRODUCT_NAME = TestLib;
264
+ ZERO_LINK = NO;
265
+ };
266
+ name = Release;
267
+ };
268
+ C01FCF4F08A954540054247B /* Debug */ = {
269
+ isa = XCBuildConfiguration;
270
+ buildSettings = {
271
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
272
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
273
+ GCC_C_LANGUAGE_STANDARD = c99;
274
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
275
+ GCC_WARN_UNUSED_VARIABLE = YES;
276
+ ONLY_ACTIVE_ARCH = YES;
277
+ PREBINDING = NO;
278
+ SDKROOT = iphoneos2.2.1;
279
+ };
280
+ name = Debug;
281
+ };
282
+ C01FCF5008A954540054247B /* Release */ = {
283
+ isa = XCBuildConfiguration;
284
+ buildSettings = {
285
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
286
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
287
+ GCC_C_LANGUAGE_STANDARD = c99;
288
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
289
+ GCC_WARN_UNUSED_VARIABLE = YES;
290
+ PREBINDING = NO;
291
+ SDKROOT = iphoneos2.2.1;
292
+ };
293
+ name = Release;
294
+ };
295
+ /* End XCBuildConfiguration section */
296
+
297
+ /* Begin XCConfigurationList section */
298
+ 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "TestApp" */ = {
299
+ isa = XCConfigurationList;
300
+ buildConfigurations = (
301
+ 1D6058940D05DD3E006BFB54 /* Debug */,
302
+ 1D6058950D05DD3E006BFB54 /* Release */,
303
+ );
304
+ defaultConfigurationIsVisible = 0;
305
+ defaultConfigurationName = Release;
306
+ };
307
+ 57A555600F50DE6B00642792 /* Build configuration list for PBXNativeTarget "TestLib" */ = {
308
+ isa = XCConfigurationList;
309
+ buildConfigurations = (
310
+ 57A5555E0F50DE4D00642792 /* Debug */,
311
+ 57A5555F0F50DE4D00642792 /* Release */,
312
+ );
313
+ defaultConfigurationIsVisible = 0;
314
+ defaultConfigurationName = Release;
315
+ };
316
+ C01FCF4E08A954540054247B /* Build configuration list for PBXProject "TestApp" */ = {
317
+ isa = XCConfigurationList;
318
+ buildConfigurations = (
319
+ C01FCF4F08A954540054247B /* Debug */,
320
+ C01FCF5008A954540054247B /* Release */,
321
+ );
322
+ defaultConfigurationIsVisible = 0;
323
+ defaultConfigurationName = Release;
324
+ };
325
+ /* End XCConfigurationList section */
326
+ };
327
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
328
+ }