Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: CocoaPods/Xcodeproj
...
head fork: CocoaPods/Xcodeproj
  • 16 commits
  • 20 files changed
  • 0 commit comments
  • 5 contributors
Commits on May 19, 2013
@jasl8r jasl8r Add option to prefix values in xcconfig files
Passing a prefix will prepend a string to every configuration value 
in the xcconfig file.  For example the configuration value:

	OTHER_LDFLAGS = -framework Foundation

Passing prefix PODS_LIBCOOL_ results in:

	PODS_LIBCOOL_OTHER_LDFLAGS = -framework Foundation
c6c2d46
@jasl8r jasl8r Add xcconfig config value prefix test 16d6b6b
Commits on May 27, 2013
@leberwurstsaft leberwurstsaft Fix Readme typo db1889e
@alloy alloy Merge pull request #71 from leberwurstsaft/master
Minor typo fixed in Readme
8d2cf03
Commits on May 28, 2013
@dev4dev dev4dev added schemes property to Workspace (loads all schemes from workspace) 0de1261
Commits on May 30, 2013
@dev4dev dev4dev - refactored schemes loading code
- fixed path related bug from previous implementation
05a3c7c
@dev4dev dev4dev added specs for testing schemes related functions e2b8501
Commits on May 31, 2013
@dev4dev dev4dev simplified schemes related code in Xcodeproj::Workspace 847324a
@dev4dev dev4dev rewrote specs with native asserts 06e38ac
@alloy alloy Merge pull request #72 from dev4dev/master
Return scheme names that exist in a workspace.
9399520
@alloy alloy [Travis] Try to get Ruby 1.9.3 build to work again. 3bc43b9
Commits on Jun 05, 2013
@fabiopelosin fabiopelosin Merge branch 'master' into xcconfig-prefix
* master:
  [Travis] Try to get Ruby 1.9.3 build to work again.
  rewrote specs with native asserts
  simplified schemes related code in Xcodeproj::Workspace
  added specs for testing schemes related functions
  - refactored schemes loading code - fixed path related bug from previous implementation
  added schemes property to Workspace (loads all schemes from workspace)
  Fix Readme typo
  Release 0.6.0
1184891
@fabiopelosin fabiopelosin Use pretty_bacon 245f267
Commits on Jun 10, 2013
@fabiopelosin fabiopelosin Merge pull request #70 from CocoaPods/xcconfig-prefix
Xcconfig prefix
fd27b62
Commits on Jun 18, 2013
@fabiopelosin fabiopelosin [Gitignore] Ignore extension files b12f7ed
@fabiopelosin fabiopelosin Release 0.7.0 af8b52a
View
2  .gitignore
@@ -7,6 +7,8 @@ Makefile
.rbenv-version
ext/xcodeproj/extconf.h
ext/xcodeproj/conftest.dSYM
+ext/xcodeproj/.RUBYARCHDIR.time
+ext/xcodeproj/siteconf*.rb
*.gem
.yardoc
doc
View
2  .travis.yml
@@ -2,7 +2,7 @@ language: objective-c
env:
# This is what 10.8.x comes with and we want to support that.
- RVM_RUBY_VERSION=system NOEXEC_DISABLE=1 CI=true RUBY_VERSION_SPECIFIC='sudo gem update --system && sudo gem install bundler --no-ri --no-rdoc'
- - RVM_RUBY_VERSION=1.9.3 NOEXEC_DISABLE=1 CI=true RUBY_VERSION_SPECIFIC='sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 && curl http://curl.haxx.se/ca/cacert.pem -o /usr/local/share/cacert.pem' SSL_CERT_FILE=/usr/local/share/cacert.pem
+ - RVM_RUBY_VERSION=ruby-1.9.3-p392 NOEXEC_DISABLE=1 CI=true RUBY_VERSION_SPECIFIC='sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 && curl http://curl.haxx.se/ca/cacert.pem -o /usr/local/share/cacert.pem' SSL_CERT_FILE=/usr/local/share/cacert.pem
before_install: source ~/.rvm/scripts/rvm && rvm use $RVM_RUBY_VERSION
install: eval $RUBY_VERSION_SPECIFIC && rake bootstrap[use_bundle_dir]
script: bundle exec rake spec
View
1  Gemfile
@@ -8,6 +8,7 @@ group :development do
gem "mocha"
gem "bacon"
gem "mocha-on-bacon"
+ gem 'prettybacon', :git => 'https://github.com/irrationalfab/PrettyBacon.git', :branch => 'master'
gem "kicker"
end
View
36 Gemfile.lock
@@ -1,7 +1,15 @@
+GIT
+ remote: https://github.com/irrationalfab/PrettyBacon.git
+ revision: c42de649708149bbfb5fb5beefa65440855cf876
+ branch: master
+ specs:
+ prettybacon (0.0.1)
+ bacon (~> 1.2)
+
PATH
remote: .
specs:
- xcodeproj (0.6.0)
+ xcodeproj (0.7.0)
activesupport (~> 3.2.13)
colored (~> 1.2)
@@ -14,30 +22,39 @@ GEM
bacon (1.2.0)
colored (1.2)
colorize (0.5.8)
- coveralls (0.6.4)
+ coveralls (0.6.7)
colorize
multi_json (~> 1.3)
rest-client
simplecov (>= 0.7)
thor
+ ffi (1.8.1)
github-markup (0.7.5)
i18n (0.6.1)
kicker (2.6.1)
listen
- listen (0.7.3)
+ listen (1.1.6)
+ rb-fsevent (>= 0.9.3)
+ rb-inotify (>= 0.9)
+ rb-kqueue (>= 0.2)
metaclass (0.0.1)
- mime-types (1.22)
- mocha (0.13.3)
+ mime-types (1.23)
+ mocha (0.14.0)
metaclass (~> 0.0.1)
mocha-on-bacon (0.2.2)
mocha (>= 0.13.0)
- multi_json (1.7.2)
+ multi_json (1.7.6)
posix-spawn (0.3.6)
- pygments.rb (0.4.2)
+ pygments.rb (0.5.0)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
rake (10.0.4)
- redcarpet (2.2.2)
+ rb-fsevent (0.9.3)
+ rb-inotify (0.9.0)
+ ffi (>= 0.5.0)
+ rb-kqueue (0.2.0)
+ ffi (>= 0.5.0)
+ redcarpet (2.3.0)
rest-client (1.6.7)
mime-types (>= 1.16)
simplecov (0.7.1)
@@ -46,7 +63,7 @@ GEM
simplecov-html (0.7.1)
thor (0.18.1)
yajl-ruby (1.1.0)
- yard (0.8.5.2)
+ yard (0.8.6.1)
PLATFORMS
ruby
@@ -58,6 +75,7 @@ DEPENDENCIES
kicker
mocha
mocha-on-bacon
+ prettybacon!
pygments.rb
rake
redcarpet
View
2  README.md
@@ -21,7 +21,7 @@ by performing the following command:
$ [sudo] gem install xcodeproj
-## Colaborate
+## Collaborate
All Xcodeproj development happens on [GitHub][xcodeproj]. Contributing patches
is really easy and gratifying. You even get push access when one of your patches
View
2  lib/xcodeproj.rb
@@ -1,5 +1,5 @@
module Xcodeproj
- VERSION = '0.6.0' unless defined? Xcodeproj::VERSION
+ VERSION = '0.7.0' unless defined? Xcodeproj::VERSION
class PlainInformative < StandardError
end
View
16 lib/xcodeproj/config.rb
@@ -66,9 +66,9 @@ def ==(other)
#
# @return [String] The serialized internal data.
#
- def to_s
+ def to_s(prefix = nil)
[includes.map { |i| "#include \"#{i}\""} +
- to_hash.sort_by(&:first).map { |k, v| "#{k} = #{v}" }].join("\n")
+ to_hash(prefix).sort_by(&:first).map { |k, v| "#{k} = #{v}" }].join("\n")
end
# Writes the serialized representation of the internal data to the given
@@ -79,8 +79,8 @@ def to_s
#
# @return [void]
#
- def save_as(pathname)
- pathname.open('w') { |file| file << to_s }
+ def save_as(pathname, prefix = nil)
+ pathname.open('w') { |file| file << to_s(prefix) }
end
# The hash representation of the xcconfig. The hash includes the
@@ -92,7 +92,7 @@ def save_as(pathname)
#
# @return [Hash] The hash representation
#
- def to_hash
+ def to_hash(prefix = nil)
hash = @attributes.dup
flags = hash['OTHER_LDFLAGS'] || ''
flags = flags.dup.strip
@@ -101,7 +101,11 @@ def to_hash
flags << weak_frameworks.to_a.sort.reduce('') {| memo, f | memo << " -weak_framework #{f}" }
hash['OTHER_LDFLAGS'] = flags.strip
hash.delete('OTHER_LDFLAGS') if flags.strip.empty?
- hash
+ if prefix
+ Hash[hash.map {|k, v| [prefix + k, v]}]
+ else
+ hash
+ end
end
#-------------------------------------------------------------------------#
View
16 lib/xcodeproj/project.rb
@@ -653,6 +653,22 @@ def common_build_settings(type, platform, deployment_target = nil)
end
#-------------------------------------------------------------------------#
+ # Get list of shared schemes in project
+ #
+ # @param [String] path
+ # project path
+ #
+ # @return [Array]
+ #
+ def self.schemes project_path
+ schemes = Dir[File.join(project_path, 'xcshareddata', 'xcschemes', '*.xcscheme')].map do |scheme|
+ File.basename(scheme, '.xcscheme')
+ end
+ schemes << File.basename(project_path, '.xcodeproj') if schemes.empty?
+ schemes
+ end
+
+ #-------------------------------------------------------------------------#
end
end
View
46 lib/xcodeproj/workspace.rb
@@ -12,11 +12,13 @@ class Workspace
# workspace.
#
attr_reader :projpaths
+ attr_reader :schemes
# @param [Array] projpaths @see projpaths
#
def initialize(*projpaths)
@projpaths = projpaths.flatten
+ @schemes = {}
end
#-------------------------------------------------------------------------#
@@ -30,12 +32,14 @@ def initialize(*projpaths)
#
def self.new_from_xcworkspace(path)
begin
- from_s(File.read(File.join(path, 'contents.xcworkspacedata')))
+ from_s(File.read(File.join(path, 'contents.xcworkspacedata')), File.expand_path(File.dirname(path)))
rescue Errno::ENOENT
new
end
end
+ #-------------------------------------------------------------------------#
+
# Returns a workspace generated by reading the contents of the given
# XML representation.
#
@@ -44,12 +48,14 @@ def self.new_from_xcworkspace(path)
#
# @return [Workspace] the generated workspace.
#
- def self.from_s(xml)
+ def self.from_s(xml, workspace_path='')
document = REXML::Document.new(xml)
projpaths = document.get_elements("/Workspace/FileRef").map do |node|
node.attribute("location").to_s.sub(/^group:/, '')
end
- new(projpaths)
+ instance = new(projpaths)
+ instance.load_schemes(workspace_path)
+ instance
end
#-------------------------------------------------------------------------#
@@ -64,6 +70,7 @@ def self.from_s(xml)
#
def <<(projpath)
@projpaths << projpath
+ load_schemes_from_project File.expand_path(projpath)
end
# Checks if the workspace contains the project with the given path.
@@ -109,5 +116,38 @@ def save_as(path)
#-------------------------------------------------------------------------#
+ # Load all schemes from all projects in workspace
+ #
+ # @param [String] workspace_dir_path
+ # path of workspaces dir
+ #
+ # @return [void]
+ #
+ def load_schemes workspace_dir_path
+ @projpaths.each do |projpath|
+ project_full_path = File.expand_path(File.join(workspace_dir_path, projpath))
+ load_schemes_from_project project_full_path
+ end
+ end
+
+ #-------------------------------------------------------------------------#
+
+ private
+ # Load all schemes from project
+ #
+ # @param [String] project_full_path
+ # project full path
+ #
+ # @return [void]
+ #
+ def load_schemes_from_project project_full_path
+ schemes = Xcodeproj::Project.schemes project_full_path
+ schemes.each do |scheme_name|
+ @schemes[scheme_name] = project_full_path
+ end
+ end
+
+ #-------------------------------------------------------------------------#
+
end
end
View
5 spec/config_spec.rb
@@ -59,6 +59,11 @@
@config.to_hash.should.be.equal @hash
end
+ it "can prefix values during serialization" do
+ @prefix_hash = { 'PODS_PREFIX_OTHER_LDFLAGS' => @hash['OTHER_LDFLAGS'] }
+ @config.to_hash('PODS_PREFIX_').should.be.equal @prefix_hash
+ end
+
it "does not serialize with #to_s when inspecting the object" do
@config.inspect.should == @config.to_hash.inspect
end
View
608 spec/fixtures/SharedSchemes/Pods/Pods.xcodeproj/project.pbxproj
@@ -0,0 +1,608 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>archiveVersion</key>
+ <string>1</string>
+ <key>classes</key>
+ <dict/>
+ <key>objectVersion</key>
+ <string>46</string>
+ <key>objects</key>
+ <dict>
+ <key>03D3EFEC2E96486F96F89C81</key>
+ <dict>
+ <key>fileRef</key>
+ <string>F4D3A7F0989145AA921C4985</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict>
+ <key>COMPILER_FLAGS</key>
+ <string>-fobjc-arc -DOS_OBJECT_USE_OBJC=0</string>
+ </dict>
+ </dict>
+ <key>0CDA3E9BF4CB4326BEA460B7</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>wrapper.framework</string>
+ <key>name</key>
+ <string>Foundation.framework</string>
+ <key>path</key>
+ <string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/Foundation.framework</string>
+ <key>sourceTree</key>
+ <string>DEVELOPER_DIR</string>
+ </dict>
+ <key>1979BF407F6A4531B14E1ED2</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>FFECD35DEE7448709FB41E13</string>
+ <string>944E0557862645A68EC42A15</string>
+ <string>837F2C56F4FB4D7391154E09</string>
+ <string>1C23372092D74D15A93F6ABE</string>
+ <string>9C90689E63F346DC8711347D</string>
+ <string>9D6059DBF71C4BD088EC1FBB</string>
+ <string>F0F911895D9747BAB27F6F3E</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Pods</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>1BEDD4A20306443AA8A23808</key>
+ <dict>
+ <key>fileRef</key>
+ <string>0CDA3E9BF4CB4326BEA460B7</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict/>
+ </dict>
+ <key>1C23372092D74D15A93F6ABE</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>Pods-resources.sh</string>
+ <key>path</key>
+ <string>Pods-resources.sh</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>3080D58509BA4EF4A4A5B509</key>
+ <dict>
+ <key>explicitFileType</key>
+ <string>archive.ar</string>
+ <key>includeInIndex</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>libPods.a</string>
+ <key>path</key>
+ <string>libPods.a</string>
+ <key>sourceTree</key>
+ <string>BUILT_PRODUCTS_DIR</string>
+ </dict>
+ <key>3FE4DCB1988147399C56CE6F</key>
+ <dict>
+ <key>attributes</key>
+ <dict>
+ <key>LastUpgradeCheck</key>
+ <string>0450</string>
+ </dict>
+ <key>buildConfigurationList</key>
+ <string>E029278FD8024E249AC766A9</string>
+ <key>compatibilityVersion</key>
+ <string>Xcode 3.2</string>
+ <key>developmentRegion</key>
+ <string>English</string>
+ <key>hasScannedForEncodings</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>PBXProject</string>
+ <key>knownRegions</key>
+ <array>
+ <string>en</string>
+ </array>
+ <key>mainGroup</key>
+ <string>DF1F59119C564954AB56EDE3</string>
+ <key>productRefGroup</key>
+ <string>67B3B78830BF4B1AAA7C5FC0</string>
+ <key>projectReferences</key>
+ <array/>
+ <key>targets</key>
+ <array>
+ <string>54DD5FB4799F42B7920315D1</string>
+ </array>
+ </dict>
+ <key>40730F60A2B944F9881E00C6</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>03D3EFEC2E96486F96F89C81</string>
+ <string>B90686F87D1547E49C6712E1</string>
+ </array>
+ <key>isa</key>
+ <string>PBXSourcesBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>47C41CD873FB4430BE20C82E</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>wrapper.framework</string>
+ <key>name</key>
+ <string>CoreGraphics.framework</string>
+ <key>path</key>
+ <string>Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/Frameworks/CoreGraphics.framework</string>
+ <key>sourceTree</key>
+ <string>DEVELOPER_DIR</string>
+ </dict>
+ <key>4875D90B77984937B17111E8</key>
+ <dict>
+ <key>buildSettings</key>
+ <dict>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>5.0</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Release</string>
+ </dict>
+ <key>54DD5FB4799F42B7920315D1</key>
+ <dict>
+ <key>buildConfigurationList</key>
+ <string>BDBDD4C92B8749F599642D65</string>
+ <key>buildPhases</key>
+ <array>
+ <string>40730F60A2B944F9881E00C6</string>
+ <string>BFC757BED8144D63A10539ED</string>
+ <string>5868F4228A9941948FF7608D</string>
+ </array>
+ <key>buildRules</key>
+ <array/>
+ <key>dependencies</key>
+ <array/>
+ <key>isa</key>
+ <string>PBXNativeTarget</string>
+ <key>name</key>
+ <string>Pods</string>
+ <key>productName</key>
+ <string>Pods</string>
+ <key>productReference</key>
+ <string>3080D58509BA4EF4A4A5B509</string>
+ <key>productType</key>
+ <string>com.apple.product-type.library.static</string>
+ </dict>
+ <key>5868F4228A9941948FF7608D</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>9F0198C5DB1B40D4AB47405E</string>
+ </array>
+ <key>isa</key>
+ <string>PBXHeadersBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>5C9EF88E71DC46EA8F84CC69</key>
+ <dict>
+ <key>baseConfigurationReference</key>
+ <string>FFECD35DEE7448709FB41E13</string>
+ <key>buildSettings</key>
+ <dict>
+ <key>ALWAYS_SEARCH_USER_PATHS</key>
+ <string>NO</string>
+ <key>ARCHS</key>
+ <string>$(ARCHS_STANDARD_32_BIT)</string>
+ <key>COPY_PHASE_STRIP</key>
+ <string>NO</string>
+ <key>DSTROOT</key>
+ <string>/tmp/xcodeproj.dst</string>
+ <key>GCC_C_LANGUAGE_STANDARD</key>
+ <string>gnu99</string>
+ <key>GCC_DYNAMIC_NO_PIC</key>
+ <string>NO</string>
+ <key>GCC_OPTIMIZATION_LEVEL</key>
+ <string>0</string>
+ <key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+ <string>YES</string>
+ <key>GCC_PREFIX_HEADER</key>
+ <string>Pods-prefix.pch</string>
+ <key>GCC_PREPROCESSOR_DEFINITIONS</key>
+ <array>
+ <string>DEBUG=1</string>
+ <string>$(inherited)</string>
+ </array>
+ <key>GCC_SYMBOLS_PRIVATE_EXTERN</key>
+ <string>NO</string>
+ <key>GCC_VERSION</key>
+ <string>com.apple.compilers.llvm.clang.1_0</string>
+ <key>INSTALL_PATH</key>
+ <string>$(BUILT_PRODUCTS_DIR)</string>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>5.0</string>
+ <key>OTHER_LDFLAGS</key>
+ <string></string>
+ <key>PODS_HEADERS_SEARCH_PATHS</key>
+ <string>${PODS_BUILD_HEADERS_SEARCH_PATHS}</string>
+ <key>PODS_ROOT</key>
+ <string>${SRCROOT}</string>
+ <key>PRODUCT_NAME</key>
+ <string>$(TARGET_NAME)</string>
+ <key>PUBLIC_HEADERS_FOLDER_PATH</key>
+ <string>$(TARGET_NAME)</string>
+ <key>SDKROOT</key>
+ <string>iphoneos</string>
+ <key>SKIP_INSTALL</key>
+ <string>YES</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Debug</string>
+ </dict>
+ <key>6728F4E558594B66BE1724E0</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>1979BF407F6A4531B14E1ED2</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Targets Support Files</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>67A7C13CE86A47768B25C24C</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>E767C8BBB2A343489F0A57CB</string>
+ <string>F4D3A7F0989145AA921C4985</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>MBProgressHUD</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>67B3B78830BF4B1AAA7C5FC0</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>3080D58509BA4EF4A4A5B509</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Products</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>7B3FAC8B2B9344CDA7673DC4</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>67A7C13CE86A47768B25C24C</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Pods</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>837F2C56F4FB4D7391154E09</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>Pods-prefix.pch</string>
+ <key>path</key>
+ <string>Pods-prefix.pch</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>944E0557862645A68EC42A15</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.h</string>
+ <key>name</key>
+ <string>Pods-environment.h</string>
+ <key>path</key>
+ <string>Pods-environment.h</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>94FFF73D453C4CFABF1B09AA</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>47C41CD873FB4430BE20C82E</string>
+ <string>0CDA3E9BF4CB4326BEA460B7</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Frameworks</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>9C90689E63F346DC8711347D</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>Pods-acknowledgements.plist</string>
+ <key>path</key>
+ <string>Pods-acknowledgements.plist</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>9D6059DBF71C4BD088EC1FBB</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>Pods-acknowledgements.markdown</string>
+ <key>path</key>
+ <string>Pods-acknowledgements.markdown</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>9F0198C5DB1B40D4AB47405E</key>
+ <dict>
+ <key>fileRef</key>
+ <string>E767C8BBB2A343489F0A57CB</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict/>
+ </dict>
+ <key>A01ED5B453354AA88603C97A</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>Podfile</string>
+ <key>path</key>
+ <string>../Podfile</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ <key>xcLanguageSpecificationIdentifier</key>
+ <string>xcode.lang.ruby</string>
+ </dict>
+ <key>B90686F87D1547E49C6712E1</key>
+ <dict>
+ <key>fileRef</key>
+ <string>F0F911895D9747BAB27F6F3E</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict/>
+ </dict>
+ <key>BDBDD4C92B8749F599642D65</key>
+ <dict>
+ <key>buildConfigurations</key>
+ <array>
+ <string>C97C1C76B9A54C5A9A9B8AF3</string>
+ <string>5C9EF88E71DC46EA8F84CC69</string>
+ </array>
+ <key>defaultConfigurationIsVisible</key>
+ <string>0</string>
+ <key>defaultConfigurationName</key>
+ <string>Release</string>
+ <key>isa</key>
+ <string>XCConfigurationList</string>
+ </dict>
+ <key>BFC757BED8144D63A10539ED</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>1BEDD4A20306443AA8A23808</string>
+ </array>
+ <key>isa</key>
+ <string>PBXFrameworksBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>C97C1C76B9A54C5A9A9B8AF3</key>
+ <dict>
+ <key>baseConfigurationReference</key>
+ <string>FFECD35DEE7448709FB41E13</string>
+ <key>buildSettings</key>
+ <dict>
+ <key>ALWAYS_SEARCH_USER_PATHS</key>
+ <string>NO</string>
+ <key>ARCHS</key>
+ <string>$(ARCHS_STANDARD_32_BIT)</string>
+ <key>COPY_PHASE_STRIP</key>
+ <string>YES</string>
+ <key>DSTROOT</key>
+ <string>/tmp/xcodeproj.dst</string>
+ <key>GCC_C_LANGUAGE_STANDARD</key>
+ <string>gnu99</string>
+ <key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+ <string>YES</string>
+ <key>GCC_PREFIX_HEADER</key>
+ <string>Pods-prefix.pch</string>
+ <key>GCC_VERSION</key>
+ <string>com.apple.compilers.llvm.clang.1_0</string>
+ <key>INSTALL_PATH</key>
+ <string>$(BUILT_PRODUCTS_DIR)</string>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>5.0</string>
+ <key>OTHER_CFLAGS</key>
+ <array>
+ <string>-DNS_BLOCK_ASSERTIONS=1</string>
+ <string>$(inherited)</string>
+ </array>
+ <key>OTHER_CPLUSPLUSFLAGS</key>
+ <array>
+ <string>-DNS_BLOCK_ASSERTIONS=1</string>
+ <string>$(inherited)</string>
+ </array>
+ <key>OTHER_LDFLAGS</key>
+ <string></string>
+ <key>PODS_HEADERS_SEARCH_PATHS</key>
+ <string>${PODS_BUILD_HEADERS_SEARCH_PATHS}</string>
+ <key>PODS_ROOT</key>
+ <string>${SRCROOT}</string>
+ <key>PRODUCT_NAME</key>
+ <string>$(TARGET_NAME)</string>
+ <key>PUBLIC_HEADERS_FOLDER_PATH</key>
+ <string>$(TARGET_NAME)</string>
+ <key>SDKROOT</key>
+ <string>iphoneos</string>
+ <key>SKIP_INSTALL</key>
+ <string>YES</string>
+ <key>VALIDATE_PRODUCT</key>
+ <string>YES</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Release</string>
+ </dict>
+ <key>DF1F59119C564954AB56EDE3</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>94FFF73D453C4CFABF1B09AA</string>
+ <string>7B3FAC8B2B9344CDA7673DC4</string>
+ <string>67B3B78830BF4B1AAA7C5FC0</string>
+ <string>6728F4E558594B66BE1724E0</string>
+ <string>A01ED5B453354AA88603C97A</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>E029278FD8024E249AC766A9</key>
+ <dict>
+ <key>buildConfigurations</key>
+ <array>
+ <string>4875D90B77984937B17111E8</string>
+ <string>FDCD2D808CA24DE9AD37FE9E</string>
+ </array>
+ <key>defaultConfigurationIsVisible</key>
+ <string>0</string>
+ <key>defaultConfigurationName</key>
+ <string>Release</string>
+ <key>isa</key>
+ <string>XCConfigurationList</string>
+ </dict>
+ <key>E767C8BBB2A343489F0A57CB</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.h</string>
+ <key>name</key>
+ <string>MBProgressHUD.h</string>
+ <key>path</key>
+ <string>MBProgressHUD/MBProgressHUD.h</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>F0F911895D9747BAB27F6F3E</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>name</key>
+ <string>Pods-dummy.m</string>
+ <key>path</key>
+ <string>Pods-dummy.m</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>F4D3A7F0989145AA921C4985</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>name</key>
+ <string>MBProgressHUD.m</string>
+ <key>path</key>
+ <string>MBProgressHUD/MBProgressHUD.m</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>FDCD2D808CA24DE9AD37FE9E</key>
+ <dict>
+ <key>buildSettings</key>
+ <dict>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>5.0</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Debug</string>
+ </dict>
+ <key>FFECD35DEE7448709FB41E13</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>text.xcconfig</string>
+ <key>name</key>
+ <string>Pods.xcconfig</string>
+ <key>path</key>
+ <string>Pods.xcconfig</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ </dict>
+ <key>rootObject</key>
+ <string>3FE4DCB1988147399C56CE6F</string>
+</dict>
+</plist>
View
769 spec/fixtures/SharedSchemes/SharedSchemes.xcodeproj/project.pbxproj
@@ -0,0 +1,769 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>archiveVersion</key>
+ <string>1</string>
+ <key>classes</key>
+ <dict/>
+ <key>objectVersion</key>
+ <string>46</string>
+ <key>objects</key>
+ <dict>
+ <key>0CA51A075C8A4E87BFB0C8C7</key>
+ <dict>
+ <key>explicitFileType</key>
+ <string>archive.ar</string>
+ <key>includeInIndex</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>name</key>
+ <string>libPods.a</string>
+ <key>path</key>
+ <string>libPods.a</string>
+ <key>sourceTree</key>
+ <string>BUILT_PRODUCTS_DIR</string>
+ </dict>
+ <key>632143E0175736EE0038D40D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>632143F2175736EE0038D40D</string>
+ <string>632143EB175736EE0038D40D</string>
+ <string>632143EA175736EE0038D40D</string>
+ <string>70DBA222CD15423389764290</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143E1175736EE0038D40D</key>
+ <dict>
+ <key>attributes</key>
+ <dict>
+ <key>LastUpgradeCheck</key>
+ <string>0460</string>
+ <key>ORGANIZATIONNAME</key>
+ <string>Alex Antonyuk</string>
+ </dict>
+ <key>buildConfigurationList</key>
+ <string>632143E4175736EE0038D40D</string>
+ <key>compatibilityVersion</key>
+ <string>Xcode 3.2</string>
+ <key>developmentRegion</key>
+ <string>English</string>
+ <key>hasScannedForEncodings</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>PBXProject</string>
+ <key>knownRegions</key>
+ <array>
+ <string>en</string>
+ </array>
+ <key>mainGroup</key>
+ <string>632143E0175736EE0038D40D</string>
+ <key>productRefGroup</key>
+ <string>632143EA175736EE0038D40D</string>
+ <key>projectDirPath</key>
+ <string></string>
+ <key>projectReferences</key>
+ <array/>
+ <key>projectRoot</key>
+ <string></string>
+ <key>targets</key>
+ <array>
+ <string>632143E8175736EE0038D40D</string>
+ </array>
+ </dict>
+ <key>632143E4175736EE0038D40D</key>
+ <dict>
+ <key>buildConfigurations</key>
+ <array>
+ <string>6321440A175736EF0038D40D</string>
+ <string>6321440B175736EF0038D40D</string>
+ </array>
+ <key>defaultConfigurationIsVisible</key>
+ <string>0</string>
+ <key>defaultConfigurationName</key>
+ <string>Release</string>
+ <key>isa</key>
+ <string>XCConfigurationList</string>
+ </dict>
+ <key>632143E5175736EE0038D40D</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>632143F9175736EE0038D40D</string>
+ <string>632143FD175736EE0038D40D</string>
+ <string>63214406175736EF0038D40D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXSourcesBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>632143E6175736EE0038D40D</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>632143ED175736EE0038D40D</string>
+ <string>632143EF175736EE0038D40D</string>
+ <string>632143F1175736EE0038D40D</string>
+ <string>EC5AE0171AA749CFABF7758D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXFrameworksBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>632143E7175736EE0038D40D</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array>
+ <string>632143F7175736EE0038D40D</string>
+ <string>632143FF175736EE0038D40D</string>
+ <string>63214401175736EE0038D40D</string>
+ <string>63214403175736EF0038D40D</string>
+ <string>63214409175736EF0038D40D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXResourcesBuildPhase</string>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ </dict>
+ <key>632143E8175736EE0038D40D</key>
+ <dict>
+ <key>buildConfigurationList</key>
+ <string>6321440C175736EF0038D40D</string>
+ <key>buildPhases</key>
+ <array>
+ <string>D07C6C4CFCD943C18F5C9EE0</string>
+ <string>632143E5175736EE0038D40D</string>
+ <string>632143E6175736EE0038D40D</string>
+ <string>632143E7175736EE0038D40D</string>
+ <string>A94105C9E1C44DEDBFF1B214</string>
+ </array>
+ <key>buildRules</key>
+ <array/>
+ <key>dependencies</key>
+ <array/>
+ <key>isa</key>
+ <string>PBXNativeTarget</string>
+ <key>name</key>
+ <string>SharedSchemes</string>
+ <key>productName</key>
+ <string>SharedSchemes</string>
+ <key>productReference</key>
+ <string>632143E9175736EE0038D40D</string>
+ <key>productType</key>
+ <string>com.apple.product-type.application</string>
+ </dict>
+ <key>632143E9175736EE0038D40D</key>
+ <dict>
+ <key>explicitFileType</key>
+ <string>wrapper.application</string>
+ <key>includeInIndex</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>path</key>
+ <string>SharedSchemes.app</string>
+ <key>sourceTree</key>
+ <string>BUILT_PRODUCTS_DIR</string>
+ </dict>
+ <key>632143EA175736EE0038D40D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>632143E9175736EE0038D40D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Products</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143EB175736EE0038D40D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>632143EC175736EE0038D40D</string>
+ <string>632143EE175736EE0038D40D</string>
+ <string>632143F0175736EE0038D40D</string>
+ <string>0CA51A075C8A4E87BFB0C8C7</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Frameworks</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143EC175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>wrapper.framework</string>
+ <key>name</key>
+ <string>UIKit.framework</string>
+ <key>path</key>
+ <string>System/Library/Frameworks/UIKit.framework</string>
+ <key>sourceTree</key>
+ <string>SDKROOT</string>
+ </dict>
+ <key>632143ED175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>632143EC175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>632143EE175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>wrapper.framework</string>
+ <key>name</key>
+ <string>Foundation.framework</string>
+ <key>path</key>
+ <string>System/Library/Frameworks/Foundation.framework</string>
+ <key>sourceTree</key>
+ <string>SDKROOT</string>
+ </dict>
+ <key>632143EF175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>632143EE175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>632143F0175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>wrapper.framework</string>
+ <key>name</key>
+ <string>CoreGraphics.framework</string>
+ <key>path</key>
+ <string>System/Library/Frameworks/CoreGraphics.framework</string>
+ <key>sourceTree</key>
+ <string>SDKROOT</string>
+ </dict>
+ <key>632143F1175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>632143F0175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>632143F2175736EE0038D40D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>632143FB175736EE0038D40D</string>
+ <string>632143FC175736EE0038D40D</string>
+ <string>63214404175736EF0038D40D</string>
+ <string>63214405175736EF0038D40D</string>
+ <string>63214407175736EF0038D40D</string>
+ <string>632143F3175736EE0038D40D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>path</key>
+ <string>SharedSchemes</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143F3175736EE0038D40D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>632143F4175736EE0038D40D</string>
+ <string>632143F5175736EE0038D40D</string>
+ <string>632143F8175736EE0038D40D</string>
+ <string>632143FA175736EE0038D40D</string>
+ <string>632143FE175736EE0038D40D</string>
+ <string>63214400175736EE0038D40D</string>
+ <string>63214402175736EE0038D40D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXGroup</string>
+ <key>name</key>
+ <string>Supporting Files</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143F4175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>text.plist.xml</string>
+ <key>path</key>
+ <string>SharedSchemes-Info.plist</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143F5175736EE0038D40D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>632143F6175736EE0038D40D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXVariantGroup</string>
+ <key>name</key>
+ <string>InfoPlist.strings</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143F6175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>text.plist.strings</string>
+ <key>name</key>
+ <string>en</string>
+ <key>path</key>
+ <string>en.lproj/InfoPlist.strings</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143F7175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>632143F5175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>632143F8175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>path</key>
+ <string>main.m</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143F9175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>632143F8175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>632143FA175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.h</string>
+ <key>path</key>
+ <string>SharedSchemes-Prefix.pch</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143FB175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.h</string>
+ <key>path</key>
+ <string>AppDelegate.h</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143FC175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>path</key>
+ <string>AppDelegate.m</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143FD175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>632143FC175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>632143FE175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>image.png</string>
+ <key>path</key>
+ <string>Default.png</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>632143FF175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>632143FE175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>63214400175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>image.png</string>
+ <key>path</key>
+ <string>Default@2x.png</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>63214401175736EE0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>63214400175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>63214402175736EE0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>image.png</string>
+ <key>path</key>
+ <string>Default-568h@2x.png</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>63214403175736EF0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>63214402175736EE0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>63214404175736EF0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.h</string>
+ <key>path</key>
+ <string>ViewController.h</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>63214405175736EF0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>sourcecode.c.objc</string>
+ <key>path</key>
+ <string>ViewController.m</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>63214406175736EF0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>63214405175736EF0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>63214407175736EF0038D40D</key>
+ <dict>
+ <key>children</key>
+ <array>
+ <string>63214408175736EF0038D40D</string>
+ </array>
+ <key>isa</key>
+ <string>PBXVariantGroup</string>
+ <key>name</key>
+ <string>ViewController.xib</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>63214408175736EF0038D40D</key>
+ <dict>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>file.xib</string>
+ <key>name</key>
+ <string>en</string>
+ <key>path</key>
+ <string>en.lproj/ViewController.xib</string>
+ <key>sourceTree</key>
+ <string>&lt;group&gt;</string>
+ </dict>
+ <key>63214409175736EF0038D40D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>63214407175736EF0038D40D</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ </dict>
+ <key>6321440A175736EF0038D40D</key>
+ <dict>
+ <key>buildSettings</key>
+ <dict>
+ <key>ALWAYS_SEARCH_USER_PATHS</key>
+ <string>NO</string>
+ <key>CLANG_CXX_LANGUAGE_STANDARD</key>
+ <string>gnu++0x</string>
+ <key>CLANG_CXX_LIBRARY</key>
+ <string>libc++</string>
+ <key>CLANG_ENABLE_OBJC_ARC</key>
+ <string>YES</string>
+ <key>CLANG_WARN_CONSTANT_CONVERSION</key>
+ <string>YES</string>
+ <key>CLANG_WARN_EMPTY_BODY</key>
+ <string>YES</string>
+ <key>CLANG_WARN_ENUM_CONVERSION</key>
+ <string>YES</string>
+ <key>CLANG_WARN_INT_CONVERSION</key>
+ <string>YES</string>
+ <key>CLANG_WARN__DUPLICATE_METHOD_MATCH</key>
+ <string>YES</string>
+ <key>CODE_SIGN_IDENTITY[sdk=iphoneos*]</key>
+ <string>iPhone Developer</string>
+ <key>COPY_PHASE_STRIP</key>
+ <string>NO</string>
+ <key>GCC_C_LANGUAGE_STANDARD</key>
+ <string>gnu99</string>
+ <key>GCC_DYNAMIC_NO_PIC</key>
+ <string>NO</string>
+ <key>GCC_OPTIMIZATION_LEVEL</key>
+ <string>0</string>
+ <key>GCC_PREPROCESSOR_DEFINITIONS</key>
+ <array>
+ <string>DEBUG=1</string>
+ <string>$(inherited)</string>
+ </array>
+ <key>GCC_SYMBOLS_PRIVATE_EXTERN</key>
+ <string>NO</string>
+ <key>GCC_WARN_ABOUT_RETURN_TYPE</key>
+ <string>YES</string>
+ <key>GCC_WARN_UNINITIALIZED_AUTOS</key>
+ <string>YES</string>
+ <key>GCC_WARN_UNUSED_VARIABLE</key>
+ <string>YES</string>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>6.1</string>
+ <key>ONLY_ACTIVE_ARCH</key>
+ <string>YES</string>
+ <key>SDKROOT</key>
+ <string>iphoneos</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Debug</string>
+ </dict>
+ <key>6321440B175736EF0038D40D</key>
+ <dict>
+ <key>buildSettings</key>
+ <dict>
+ <key>ALWAYS_SEARCH_USER_PATHS</key>
+ <string>NO</string>
+ <key>CLANG_CXX_LANGUAGE_STANDARD</key>
+ <string>gnu++0x</string>
+ <key>CLANG_CXX_LIBRARY</key>
+ <string>libc++</string>
+ <key>CLANG_ENABLE_OBJC_ARC</key>
+ <string>YES</string>
+ <key>CLANG_WARN_CONSTANT_CONVERSION</key>
+ <string>YES</string>
+ <key>CLANG_WARN_EMPTY_BODY</key>
+ <string>YES</string>
+ <key>CLANG_WARN_ENUM_CONVERSION</key>
+ <string>YES</string>
+ <key>CLANG_WARN_INT_CONVERSION</key>
+ <string>YES</string>
+ <key>CLANG_WARN__DUPLICATE_METHOD_MATCH</key>
+ <string>YES</string>
+ <key>CODE_SIGN_IDENTITY[sdk=iphoneos*]</key>
+ <string>iPhone Developer</string>
+ <key>COPY_PHASE_STRIP</key>
+ <string>YES</string>
+ <key>GCC_C_LANGUAGE_STANDARD</key>
+ <string>gnu99</string>
+ <key>GCC_WARN_ABOUT_RETURN_TYPE</key>
+ <string>YES</string>
+ <key>GCC_WARN_UNINITIALIZED_AUTOS</key>
+ <string>YES</string>
+ <key>GCC_WARN_UNUSED_VARIABLE</key>
+ <string>YES</string>
+ <key>IPHONEOS_DEPLOYMENT_TARGET</key>
+ <string>6.1</string>
+ <key>OTHER_CFLAGS</key>
+ <string>-DNS_BLOCK_ASSERTIONS=1</string>
+ <key>SDKROOT</key>
+ <string>iphoneos</string>
+ <key>VALIDATE_PRODUCT</key>
+ <string>YES</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Release</string>
+ </dict>
+ <key>6321440C175736EF0038D40D</key>
+ <dict>
+ <key>buildConfigurations</key>
+ <array>
+ <string>6321440D175736EF0038D40D</string>
+ <string>6321440E175736EF0038D40D</string>
+ </array>
+ <key>defaultConfigurationIsVisible</key>
+ <string>0</string>
+ <key>isa</key>
+ <string>XCConfigurationList</string>
+ </dict>
+ <key>6321440D175736EF0038D40D</key>
+ <dict>
+ <key>baseConfigurationReference</key>
+ <string>70DBA222CD15423389764290</string>
+ <key>buildSettings</key>
+ <dict>
+ <key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+ <string>YES</string>
+ <key>GCC_PREFIX_HEADER</key>
+ <string>SharedSchemes/SharedSchemes-Prefix.pch</string>
+ <key>INFOPLIST_FILE</key>
+ <string>SharedSchemes/SharedSchemes-Info.plist</string>
+ <key>PRODUCT_NAME</key>
+ <string>$(TARGET_NAME)</string>
+ <key>WRAPPER_EXTENSION</key>
+ <string>app</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Debug</string>
+ </dict>
+ <key>6321440E175736EF0038D40D</key>
+ <dict>
+ <key>baseConfigurationReference</key>
+ <string>70DBA222CD15423389764290</string>
+ <key>buildSettings</key>
+ <dict>
+ <key>GCC_PRECOMPILE_PREFIX_HEADER</key>
+ <string>YES</string>
+ <key>GCC_PREFIX_HEADER</key>
+ <string>SharedSchemes/SharedSchemes-Prefix.pch</string>
+ <key>INFOPLIST_FILE</key>
+ <string>SharedSchemes/SharedSchemes-Info.plist</string>
+ <key>PRODUCT_NAME</key>
+ <string>$(TARGET_NAME)</string>
+ <key>WRAPPER_EXTENSION</key>
+ <string>app</string>
+ </dict>
+ <key>isa</key>
+ <string>XCBuildConfiguration</string>
+ <key>name</key>
+ <string>Release</string>
+ </dict>
+ <key>70DBA222CD15423389764290</key>
+ <dict>
+ <key>includeInIndex</key>
+ <string>1</string>
+ <key>isa</key>
+ <string>PBXFileReference</string>
+ <key>lastKnownFileType</key>
+ <string>text.xcconfig</string>
+ <key>name</key>
+ <string>Pods.xcconfig</string>
+ <key>path</key>
+ <string>Pods/Pods.xcconfig</string>
+ <key>sourceTree</key>
+ <string>SOURCE_ROOT</string>
+ </dict>
+ <key>A94105C9E1C44DEDBFF1B214</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array/>
+ <key>inputPaths</key>
+ <array/>
+ <key>isa</key>
+ <string>PBXShellScriptBuildPhase</string>
+ <key>name</key>
+ <string>Copy Pods Resources</string>
+ <key>outputPaths</key>
+ <array/>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ <key>shellPath</key>
+ <string>/bin/sh</string>
+ <key>shellScript</key>
+ <string>"${SRCROOT}/Pods/Pods-resources.sh"
+</string>
+ <key>showEnvVarsInLog</key>
+ <string>1</string>
+ </dict>
+ <key>D07C6C4CFCD943C18F5C9EE0</key>
+ <dict>
+ <key>buildActionMask</key>
+ <string>2147483647</string>
+ <key>files</key>
+ <array/>
+ <key>inputPaths</key>
+ <array/>
+ <key>isa</key>
+ <string>PBXShellScriptBuildPhase</string>
+ <key>name</key>
+ <string>Check Pods Manifest.lock</string>
+ <key>outputPaths</key>
+ <array/>
+ <key>runOnlyForDeploymentPostprocessing</key>
+ <string>0</string>
+ <key>shellPath</key>
+ <string>/bin/sh</string>
+ <key>shellScript</key>
+ <string>diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" &gt; /dev/null
+if [[ $? != 0 ]] ; then
+ cat &lt;&lt; EOM
+error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
+EOM
+ exit 1
+fi
+</string>
+ <key>showEnvVarsInLog</key>
+ <string>1</string>
+ </dict>
+ <key>EC5AE0171AA749CFABF7758D</key>
+ <dict>
+ <key>fileRef</key>
+ <string>0CA51A075C8A4E87BFB0C8C7</string>
+ <key>isa</key>
+ <string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict/>
+ </dict>
+ </dict>
+ <key>rootObject</key>
+ <string>632143E1175736EE0038D40D</string>
+</dict>
+</plist>
View
7 ...xtures/SharedSchemes/SharedSchemes.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:SharedSchemes.xcodeproj">
+ </FileRef>
+</Workspace>
View
86 ...tures/SharedSchemes/SharedSchemes.xcodeproj/xcshareddata/xcschemes/SharedSchemes.xcscheme
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0460"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
86 ...haredSchemes/SharedSchemes.xcodeproj/xcshareddata/xcschemes/SharedSchemesForTest.xcscheme
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0460"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "632143E8175736EE0038D40D"
+ BuildableName = "SharedSchemes.app"
+ BlueprintName = "SharedSchemes"
+ ReferencedContainer = "container:SharedSchemes.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
1  spec/fixtures/SharedSchemes/SharedSchemes.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1 @@
+<?xml version='1.0' encoding='UTF-8'?><Workspace version='1.0'><FileRef location='group:SharedSchemes.xcodeproj'/><FileRef location='group:Pods/Pods.xcodeproj'/></Workspace>
View
13 spec/project_spec.rb
@@ -381,5 +381,18 @@ module ProjectSpecs
]
end
end
+
+ describe "Project schemes" do
+ it "return project name as scheme if there are no shared schemes" do
+ schemes = Xcodeproj::Project.schemes fixture_path('SharedSchemes/Pods/Pods.xcodeproj')
+ schemes[0].should == "Pods"
+ end
+
+ it "return all project's shared schemes" do
+ schemes = Xcodeproj::Project.schemes fixture_path('SharedSchemes/SharedSchemes.xcodeproj')
+ schemes.sort.should == ['SharedSchemes', 'SharedSchemesForTest']
+ end
+
+ end
end
end
View
2  spec/spec_helper.rb
@@ -20,6 +20,7 @@
require 'rubygems'
require 'bacon'
+require 'pretty_bacon'
require 'mocha-on-bacon'
require 'pathname'
@@ -30,7 +31,6 @@
require 'xcodeproj'
$:.unshift((ROOT + 'spec').to_s)
-require 'spec_helper/bacon'
require 'spec_helper/project'
require 'spec_helper/temporary_directory'
View
147 spec/spec_helper/bacon.rb
@@ -1,147 +0,0 @@
-module Bacon
- summary_at_exit
-
- @needs_first_put = true
-
- def self.color(color, string)
- case color
- when :red
- "\e[31m#{string}\e[0m"
- when :green
- "\e[32m#{string}\e[0m"
- when :yellow
- "\e[33m#{string}\e[0m"
- else
- # Support for Conque
- "\e[0m#{string}\e[0m"
- end
- end
-
- #---------------------------------------------------------------------------#
-
- # Overrides the SpecDoxzRtput to provide colored output by default
- #
- # Based on https://github.com/zen-cms/Zen-Core and subsequently modified
- # which is available under the MIT License. Thanks YorickPeterse!
- #
- module SpecDoxOutput
-
- def handle_specification(name)
- if @needs_first_put
- @needs_first_put = false
- puts
- end
- @specs_depth = @specs_depth || 0
- puts spaces + name
- @specs_depth += 1
-
- yield
-
- @specs_depth -= 1
- puts if @specs_depth.zero?
- end
-
- #:nodoc:
- def handle_requirement(description, disabled = false)
- error = yield
-
- if !error.empty?
- puts Bacon.color(:red, "#{spaces}- #{description} [FAILED]")
- elsif disabled
- puts Bacon.color(:yellow, "#{spaces}- #{description} [DISABLED]")
- else
- puts Bacon.color(:green, "#{spaces}- #{description}")
- end
- end
-
- #:nodoc:
- def handle_summary
- print ErrorLog if Backtraces
- unless Counter[:disabled].zero?
- puts Bacon.color(:yellow, "#{Counter[:disabled]} disabled specifications\n")
- end
- puts "%d specifications (%d requirements), %d failures, %d errors" %
- Counter.values_at(:specifications, :requirements, :failed, :errors)
- end
-
- #:nodoc:
- def spaces
- return ' ' * @specs_depth
- end
- end
-
- #---------------------------------------------------------------------------#
-
- # Overrides the TestUnitOutput to provide colored result output.
- #
- module TestUnitOutput
- def handle_specification(name)
- print Bacon.color(nil, ':')
- yield
- end
-
- def handle_requirement(description, disabled = false)
- if @first_error
- print Bacon.color(nil, '_')
- else
- error = yield
- if !error.empty?
- m = error[0..0]
- c = (m == "E" ? :red : :yellow)
- print Bacon.color(c, m)
- @first_error = true
- elsif disabled
- print "D"
- else
- print Bacon.color(nil, '.')
- end
- end
- end
-
- def handle_summary
- first_error = ''
- error_count = 0
- ErrorLog.lines.each do |s|
- error_count += 1 if s.include?('Error:') || s.include?('Informative')
- first_error << s if error_count <= 1
- end
- puts "\n#{first_error}" if Backtraces
- unless Counter[:disabled].zero?
- puts Bacon.color(:yellow, "#{Counter[:disabled]} disabled specifications")
- end
- result = "%d specifications (%d requirements), %d failures, %d errors" %
- Counter.values_at(:specifications, :requirements, :failed, :errors)
- if Counter[:failed].zero?
- puts Bacon.color(:green, result)
- else
- puts Bacon.color(:red, result)
- end
- end
- end
-
- #---------------------------------------------------------------------------#
-
- module FilterBacktraces
- def handle_summary
- ErrorLog.replace(ErrorLog.split("\n").reject do |line|
- line =~ %r{(gems/mocha|spec_helper)}
- end.join("\n").lstrip << "\n\n")
- super
- end
- end
-
- #---------------------------------------------------------------------------#
-
- extend FilterBacktraces
-
- class Context
- def xit(description, *args)
- Counter[:disabled] += 1
- Bacon.handle_requirement(description, true) {[]}
- end
- end
-end
-
-
-
-
View
18 spec/workspace_spec.rb
@@ -50,4 +50,22 @@
@workspace.projpaths.should.be.empty
end
end
+
+ describe "load schemes for all projects from workspace file" do
+ before do
+ @workspace = Xcodeproj::Workspace.new_from_xcworkspace(fixture_path("SharedSchemes/SharedSchemes.xcworkspace"))
+ end
+
+ it "returns data type should be hash" do
+ @workspace.schemes.should.instance_of Hash
+ end
+
+ it "schemes count should be greater or equal to projpaths count" do
+ @workspace.schemes.count.should >= @workspace.projpaths.count
+ end
+
+ it "contains only test data schemes" do
+ @workspace.schemes.keys.sort.should == ['Pods', 'SharedSchemes', 'SharedSchemesForTest']
+ end
+ end
end

No commit comments for this range

Something went wrong with that request. Please try again.