xcbootstrap 0.0.1

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.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/bin/xcbootstrap +8 -0
  3. data/lib/xcbootstrap/bootstrap.rb +65 -0
  4. data/lib/xcbootstrap/cli.rb +17 -0
  5. data/lib/xcbootstrap/next_steps.txt +32 -0
  6. data/lib/xcbootstrap/template.rb +40 -0
  7. data/lib/xcbootstrap/version.rb +3 -0
  8. data/lib/xcbootstrap.rb +3 -0
  9. data/spec/acceptance/xcbootstrap_spec.rb +57 -0
  10. data/spec/spec_helper.rb +5 -0
  11. data/spec/unit/bootstrap_spec.rb +100 -0
  12. data/spec/unit/cli_spec.rb +33 -0
  13. data/spec/unit/template_spec.rb +86 -0
  14. data/templates/Sample/Sample/AppDelegate.h +15 -0
  15. data/templates/Sample/Sample/AppDelegate.m +49 -0
  16. data/templates/Sample/Sample/Default-568h@2x.png +0 -0
  17. data/templates/Sample/Sample/Default.png +0 -0
  18. data/templates/Sample/Sample/Default@2x.png +0 -0
  19. data/templates/Sample/Sample/Sample-Info.plist +45 -0
  20. data/templates/Sample/Sample/Sample-Prefix.pch +14 -0
  21. data/templates/Sample/Sample/main.m +18 -0
  22. data/templates/Sample/Sample.xcodeproj/project.pbxproj +423 -0
  23. data/templates/Sample/Sample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  24. data/templates/Sample/Sample.xcodeproj/xcshareddata/xcschemes/Sample.xcscheme +96 -0
  25. data/templates/Sample/SampleTests/SampleTests-Info.plist +22 -0
  26. data/templates/Sample/SampleTests/SampleTests.m +22 -0
  27. data/templates/Sample/gitignore +18 -0
  28. data/templates/Sample/manifest.yml +16 -0
  29. data/templates/simple/Gemfile +7 -0
  30. data/templates/simple/Podfile +15 -0
  31. data/templates/simple/Rakefile +45 -0
  32. data/templates/simple/app/configuration/analyzer.xcconfig +21 -0
  33. data/templates/simple/app/configuration/app.xcconfig +13 -0
  34. data/templates/simple/app/configuration/architectures.xcconfig +5 -0
  35. data/templates/simple/app/configuration/compiler.xcconfig +59 -0
  36. data/templates/simple/app/configuration/debug-code-sign.xcconfig +3 -0
  37. data/templates/simple/app/configuration/debug.xcconfig +22 -0
  38. data/templates/simple/app/configuration/release-code-sign.xcconfig +3 -0
  39. data/templates/simple/app/configuration/release.xcconfig +18 -0
  40. data/templates/simple/app/configuration/shared.xcconfig +12 -0
  41. data/templates/simple/app/configuration/unit-tests.xcconfig +13 -0
  42. data/templates/simple/app/resources/AppInfo.plist +45 -0
  43. data/templates/simple/app/resources/Default-568h@2x.png +0 -0
  44. data/templates/simple/app/resources/Default.png +0 -0
  45. data/templates/simple/app/resources/Default@2x.png +0 -0
  46. data/templates/simple/app/resources/UnitTestsInfo.plist +22 -0
  47. data/templates/simple/app/simple.xcodeproj/project.pbxproj +439 -0
  48. data/templates/simple/app/simple.xcodeproj/xcshareddata/xcschemes/simple.xcscheme +138 -0
  49. data/templates/simple/app/src/AppDelegate.h +7 -0
  50. data/templates/simple/app/src/AppDelegate.m +46 -0
  51. data/templates/simple/app/src/AppPrefix.pch +10 -0
  52. data/templates/simple/app/src/main.m +9 -0
  53. data/templates/simple/app/test/ExampleSpec.m +34 -0
  54. data/templates/simple/app/test/UnitTestsPrefix.pch +11 -0
  55. data/templates/simple/gitignore +20 -0
  56. data/templates/simple/manifest.yml +31 -0
  57. data/templates/simple/simple.xcworkspace/contents.xcworkspacedata +10 -0
  58. data/templates/static-lib/Gemfile +4 -0
  59. data/templates/static-lib/Podfile +14 -0
  60. data/templates/static-lib/Rakefile +29 -0
  61. data/templates/static-lib/gitignore +20 -0
  62. data/templates/static-lib/lib/configuration/analyzer.xcconfig +21 -0
  63. data/templates/static-lib/lib/configuration/architectures.xcconfig +5 -0
  64. data/templates/static-lib/lib/configuration/compiler.xcconfig +59 -0
  65. data/templates/static-lib/lib/configuration/debug-code-sign.xcconfig +3 -0
  66. data/templates/static-lib/lib/configuration/debug.xcconfig +19 -0
  67. data/templates/static-lib/lib/configuration/lib.xcconfig +10 -0
  68. data/templates/static-lib/lib/configuration/release-code-sign.xcconfig +3 -0
  69. data/templates/static-lib/lib/configuration/release.xcconfig +18 -0
  70. data/templates/static-lib/lib/configuration/shared.xcconfig +11 -0
  71. data/templates/static-lib/lib/configuration/test-loader.xcconfig +11 -0
  72. data/templates/static-lib/lib/configuration/unit-tests.xcconfig +13 -0
  73. data/templates/static-lib/lib/resources/Default-568h@2x.png +0 -0
  74. data/templates/static-lib/lib/resources/Default.png +0 -0
  75. data/templates/static-lib/lib/resources/Default@2x.png +0 -0
  76. data/templates/static-lib/lib/resources/TestLoaderAppInfo.plist +45 -0
  77. data/templates/static-lib/lib/resources/UnitTestsInfo.plist +22 -0
  78. data/templates/static-lib/lib/src/MyFirstLibObject.h +7 -0
  79. data/templates/static-lib/lib/src/MyFirstLibObject.m +15 -0
  80. data/templates/static-lib/lib/src/StaticLibPrefix.pch +10 -0
  81. data/templates/static-lib/lib/static-lib.xcodeproj/project.pbxproj +546 -0
  82. data/templates/static-lib/lib/static-lib.xcodeproj/xcshareddata/xcschemes/static-lib.xcscheme +97 -0
  83. data/templates/static-lib/lib/test/ExampleSpec.m +34 -0
  84. data/templates/static-lib/lib/test/TestLoaderAppDelegate.h +7 -0
  85. data/templates/static-lib/lib/test/TestLoaderAppDelegate.m +13 -0
  86. data/templates/static-lib/lib/test/TestLoaderAppPrefix.pch +10 -0
  87. data/templates/static-lib/lib/test/UnitTestsPrefix.pch +11 -0
  88. data/templates/static-lib/lib/test/main.m +9 -0
  89. data/templates/static-lib/manifest.yml +36 -0
  90. data/templates/static-lib/static-lib.podspec +29 -0
  91. data/templates/static-lib/static-lib.xcworkspace/contents.xcworkspacedata +10 -0
  92. metadata +209 -0
@@ -0,0 +1,21 @@
1
+ // Analyzer flags
2
+ CLANG_ANALYZER_DEADCODE_DEADSTORES = YES
3
+ CLANG_ANALYZER_GCD = YES
4
+ CLANG_ANALYZER_MALLOC = YES
5
+ CLANG_ANALYZER_OBJC_ATSYNC = YES
6
+ CLANG_ANALYZER_OBJC_NSCFERROR = YES
7
+ CLANG_ANALYZER_OBJC_INCOMP_METHOD_TYPES = YES
8
+ CLANG_ANALYZER_OBJC_CFNUMBER = YES
9
+ CLANG_ANALYZER_OBJC_COLLECTIONS = YES
10
+ CLANG_ANALYZER_OBJC_UNUSED_IVARS = YES
11
+ CLANG_ANALYZER_OBJC_SELF_INIT = YES
12
+ CLANG_ANALYZER_OBJC_RETAIN_COUNT = YES
13
+
14
+ CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES
15
+ CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES
16
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES
17
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES
18
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES
19
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES
20
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES
21
+ CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES
@@ -0,0 +1,13 @@
1
+ #include "../../Pods/Pods.xcconfig"
2
+
3
+ PRODUCT_NAME = $(TARGET_NAME)
4
+ GCC_PRECOMPILE_PREFIX_HEADER = YES
5
+ GCC_PREFIX_HEADER = src/AppPrefix.pch
6
+ INFOPLIST_FILE = resources/AppInfo.plist
7
+ WRAPPER_EXTENSION = app
8
+
9
+ FRAMEWORK_SEARCH_PATHS = $(inherited)
10
+ // the OTHER_LDFLAGS clashes with Pods override.
11
+ // Should set up separate variable like other Pods variables and Frank also does
12
+ // OTHER_LDFLAGS = $(inherited) $(FRANK_LDFLAGS) $(XCODE_TEST_LDFLAGS)
13
+ LIBRARY_SEARCH_PATHS = $(inherited) $(FRANK_LIBRARY_SEARCH_PATHS)
@@ -0,0 +1,5 @@
1
+ // target architectures
2
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0
3
+ SDKROOT = iphoneos
4
+ TARGETED_DEVICE_FAMILY = 1,2
5
+ ARCHS = $(ARCHS_STANDARD_32_BIT)
@@ -0,0 +1,59 @@
1
+ // compiler settings
2
+ CLANG_CXX_LANGUAGE_STANDARD = gnu++0x
3
+ CLANG_CXX_LIBRARY = libc++
4
+ GCC_C_LANGUAGE_STANDARD = gnu99
5
+ CLANG_ENABLE_OBJC_ARC = YES
6
+ RUN_CLANG_STATIC_ANALYZER = NO
7
+
8
+ //
9
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO
10
+ GCC_DYNAMIC_NO_PIC = NO
11
+
12
+ // compiler warnings and flags
13
+ GCC_TREAT_WARNINGS_AS_ERRORS = YES
14
+ GCC_WARN_PEDANTIC = YES
15
+
16
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES
17
+ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
18
+ CLANG_WARN_EMPTY_BODY = YES
19
+ GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
20
+ GCC_WARN_SHADOW = YES
21
+ CLANG_WARN_CONSTANT_CONVERSION = YES
22
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES
23
+ CLANG_WARN_ENUM_CONVERSION = YES
24
+ CLANG_WARN_INT_CONVERSION = YES
25
+ CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES
26
+ GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
27
+ GCC_WARN_ABOUT_RETURN_TYPE = YES
28
+ GCC_WARN_MISSING_PARENTHESES = YES
29
+ GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
30
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
31
+ GCC_WARN_ABOUT_MISSING_NEWLINE = NO // Pods breaking this one
32
+ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES
33
+ GCC_WARN_SIGN_COMPARE = YES
34
+ CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
35
+ GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES
36
+ GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
37
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES
38
+ GCC_WARN_UNINITIALIZED_AUTOS = YES
39
+ GCC_WARN_UNKNOWN_PRAGMAS = YES
40
+ GCC_WARN_UNUSED_FUNCTION = YES
41
+ GCC_WARN_UNUSED_LABEL = YES
42
+ GCC_WARN_UNUSED_PARAMETER = NO
43
+ GCC_WARN_UNUSED_VALUE = YES
44
+ GCC_WARN_UNUSED_VARIABLE = YES
45
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
46
+ CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES
47
+ CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = NO // we like auto-synthesis
48
+ GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
49
+ GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES
50
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
51
+ CLANG_WARN_OBJC_RECEIVER_WEAK = YES
52
+ GCC_WARN_STRICT_SELECTOR_MATCH = YES
53
+ GCC_WARN_UNDECLARED_SELECTOR = YES
54
+ CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES
55
+
56
+ GCC_STRICT_ALIASING = YES
57
+
58
+ // manual compiler overrides
59
+ WARNING_CFLAGS = -Wno-variadic-macros -Wno-gcc-compat
@@ -0,0 +1,3 @@
1
+ // Replace with the exact identity
2
+ //CODE_SIGN_IDENTITY = iPhone Developer
3
+ //CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
@@ -0,0 +1,22 @@
1
+ #include "Shared.xcconfig"
2
+
3
+ VALIDATE_PRODUCT = NO
4
+ COPY_PHASE_STRIP = NO
5
+ GCC_OPTIMIZATION_LEVEL = 0
6
+ ONLY_ACTIVE_ARCH = NO
7
+
8
+ GENERATE_PROFILING_CODE = YES
9
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES
10
+ STRIP_INSTALLED_PRODUCT = NO
11
+
12
+ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1
13
+ OTHER_CFLAGS = $(inherited)
14
+ OTHER_LDFLAGS = $(inherited)
15
+ LIBRARY_SEARCH_PATHS = $(inherited) $(FRANK_LIBRARY_SEARCH_PATHS)
16
+
17
+ CODE_SIGN_IDENTITY = iPhone Developer
18
+ CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
19
+
20
+ // If you need to override the code signing, create this file
21
+ // which is not tracked in git, and set the CODE_SIGN_IDENTITY there
22
+ #include "debug-code-sign.xcconfig"
@@ -0,0 +1,3 @@
1
+ // Replace with the exact identity
2
+ //CODE_SIGN_IDENTITY =
3
+ //CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
@@ -0,0 +1,18 @@
1
+ #include "Shared.xcconfig"
2
+
3
+ VALIDATE_PRODUCT = YES
4
+ COPY_PHASE_STRIP = YES
5
+ GCC_OPTIMIZATION_LEVEL = s
6
+ GENERATE_PROFILING_CODE = NO
7
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO
8
+ STRIP_INSTALLED_PRODUCT = YES
9
+ ONLY_ACTIVE_ARCH = NO
10
+
11
+ OTHER_CFLAGS = $(inherited) -DNS_BLOCK_ASSERTIONS=1
12
+
13
+ CODE_SIGN_IDENTITY =
14
+ CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
15
+
16
+ // If you need to override the code signing, create this file
17
+ // which is not tracked in git, and set the CODE_SIGN_IDENTITY there
18
+ #include "release-code-sign.xcconfig"
@@ -0,0 +1,12 @@
1
+ #include "architectures.xcconfig"
2
+ #include "compiler.xcconfig"
3
+ #include "analyzer.xcconfig"
4
+
5
+ // linker and search paths
6
+ OTHER_LDFLAGS = -ObjC
7
+ ALWAYS_SEARCH_USER_PATHS = YES
8
+ HEADER_SEARCH_PATHS = $(inherited) $(BUILT_PRODUCTS_DIR)
9
+
10
+ // For where to put things on xcodebuild install
11
+ DSTROOT = $(SRCROOT)/products
12
+ SKIP_INSTALL = NO
@@ -0,0 +1,13 @@
1
+ #include "../../Pods/Pods-test.xcconfig"
2
+
3
+ APP_BEING_TESTED = simple
4
+ PRODUCT_NAME = $(TARGET_NAME)
5
+ FRAMEWORK_SEARCH_PATHS = $(inherited) $(SDKROOT)/Developer/Library/Frameworks $(DEVELOPER_LIBRARY_DIR)/Frameworks
6
+ INFOPLIST_FILE = resources/UnitTestsInfo.plist
7
+
8
+ GCC_PRECOMPILE_PREFIX_HEADER = YES
9
+ GCC_PREFIX_HEADER = test/UnitTestsPrefix.pch
10
+
11
+ WRAPPER_EXTENSION = octest
12
+ BUNDLE_LOADER = $(BUILT_PRODUCTS_DIR)/$(APP_BEING_TESTED).app/$(APP_BEING_TESTED)
13
+ TEST_HOST = $(BUNDLE_LOADER)
@@ -0,0 +1,45 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>en</string>
7
+ <key>CFBundleDisplayName</key>
8
+ <string>${PRODUCT_NAME}</string>
9
+ <key>CFBundleExecutable</key>
10
+ <string>${EXECUTABLE_NAME}</string>
11
+ <key>CFBundleIdentifier</key>
12
+ <string>com.yourcompanyname.${PRODUCT_NAME:rfc1034identifier}</string>
13
+ <key>CFBundleInfoDictionaryVersion</key>
14
+ <string>6.0</string>
15
+ <key>CFBundleName</key>
16
+ <string>${PRODUCT_NAME}</string>
17
+ <key>CFBundlePackageType</key>
18
+ <string>APPL</string>
19
+ <key>CFBundleShortVersionString</key>
20
+ <string>1.0</string>
21
+ <key>CFBundleSignature</key>
22
+ <string>????</string>
23
+ <key>CFBundleVersion</key>
24
+ <string>1.0</string>
25
+ <key>LSRequiresIPhoneOS</key>
26
+ <true/>
27
+ <key>UIRequiredDeviceCapabilities</key>
28
+ <array>
29
+ <string>armv7</string>
30
+ </array>
31
+ <key>UISupportedInterfaceOrientations</key>
32
+ <array>
33
+ <string>UIInterfaceOrientationPortrait</string>
34
+ <string>UIInterfaceOrientationLandscapeLeft</string>
35
+ <string>UIInterfaceOrientationLandscapeRight</string>
36
+ </array>
37
+ <key>UISupportedInterfaceOrientations~ipad</key>
38
+ <array>
39
+ <string>UIInterfaceOrientationPortrait</string>
40
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
41
+ <string>UIInterfaceOrientationLandscapeLeft</string>
42
+ <string>UIInterfaceOrientationLandscapeRight</string>
43
+ </array>
44
+ </dict>
45
+ </plist>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>en</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>${EXECUTABLE_NAME}</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>com.yourcompanyname.${PRODUCT_NAME:rfc1034identifier}</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundlePackageType</key>
14
+ <string>BNDL</string>
15
+ <key>CFBundleShortVersionString</key>
16
+ <string>1.0</string>
17
+ <key>CFBundleSignature</key>
18
+ <string>????</string>
19
+ <key>CFBundleVersion</key>
20
+ <string>1</string>
21
+ </dict>
22
+ </plist>