vendor 0.1.4 → 0.1.5
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.
- data/CHANGELOG.md +8 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +2 -26
- data/VERSION +1 -1
- data/lib/vendor/api.rb +1 -1
- data/lib/vendor/cli/app.rb +2 -2
- data/lib/vendor/cli/auth.rb +1 -1
- data/lib/vendor/extensions/string.rb +8 -1
- data/lib/vendor/vendor_file/source.rb +1 -1
- data/lib/vendor/xcode/project.rb +22 -8
- data/lib/vendor/xcode/proxy.rb +2 -0
- data/lib/vendor/xcode/proxy/pbx_aggregate_target.rb +11 -0
- data/lib/vendor/xcode/proxy/unknown.rb +8 -0
- data/spec/lib/vendor/vendor_file/loader_spec.rb +1 -1
- data/spec/lib/vendor/vendor_file/source_spec.rb +1 -1
- data/spec/lib/vendor/xcode/project_spec.rb +20 -3
- data/spec/lib/vendor/xcode/proxy/pbx_project_spec.rb +4 -1
- data/spec/support/api_stubs.rb +13 -13
- data/spec/support/resources/projects/MultipleTargets/MultipleTargets.xcodeproj/project.pbxproj +36 -0
- data/spec/support/resources/projects/ProjectWithSpecs/ProjectWithSpecs.xcodeproj/project.pbxproj +38 -2
- data/spec/support/resources/projects/ProjectsToTestParsing/TestWithFamilyString.xcodeproj/project.pbxproj +295 -0
- data/spec/support/resources/projects/ProjectsToTestParsing/TestWithUnknownObject.xcodeproj/project.pbxproj +295 -0
- data/vendor.gemspec +2 -2
- metadata +41 -29
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                vendor (0.1. | 
| 4 | 
            +
                vendor (0.1.5)
         | 
| 5 5 | 
             
                  highline
         | 
| 6 6 | 
             
                  json
         | 
| 7 7 | 
             
                  rake
         | 
| @@ -13,9 +13,7 @@ PATH | |
| 13 13 | 
             
            GEM
         | 
| 14 14 | 
             
              remote: http://rubygems.org/
         | 
| 15 15 | 
             
              specs:
         | 
| 16 | 
            -
                archive-tar-minitar (0.5.2)
         | 
| 17 16 | 
             
                bond (0.4.1)
         | 
| 18 | 
            -
                columnize (0.3.4)
         | 
| 19 17 | 
             
                diff-lcs (1.1.2)
         | 
| 20 18 | 
             
                fakeweb (1.3.0)
         | 
| 21 19 | 
             
                growl (1.0.3)
         | 
| @@ -24,14 +22,9 @@ GEM | |
| 24 22 | 
             
                guard-rspec (0.5.0)
         | 
| 25 23 | 
             
                  guard (>= 0.8.4)
         | 
| 26 24 | 
             
                highline (1.6.2)
         | 
| 27 | 
            -
                json (1.6. | 
| 28 | 
            -
                linecache (0.46)
         | 
| 29 | 
            -
                  rbx-require-relative (> 0.0.4)
         | 
| 30 | 
            -
                linecache19 (0.5.12)
         | 
| 31 | 
            -
                  ruby_core_source (>= 0.1.4)
         | 
| 25 | 
            +
                json (1.6.5)
         | 
| 32 26 | 
             
                mime-types (1.17.2)
         | 
| 33 27 | 
             
                rake (0.9.2.2)
         | 
| 34 | 
            -
                rbx-require-relative (0.0.5)
         | 
| 35 28 | 
             
                rest-client (1.6.7)
         | 
| 36 29 | 
             
                  mime-types (>= 1.16)
         | 
| 37 30 | 
             
                ripl (0.5.1)
         | 
| @@ -44,21 +37,6 @@ GEM | |
| 44 37 | 
             
                rspec-expectations (2.6.0)
         | 
| 45 38 | 
             
                  diff-lcs (~> 1.1.2)
         | 
| 46 39 | 
             
                rspec-mocks (2.6.0)
         | 
| 47 | 
            -
                ruby-debug (0.10.4)
         | 
| 48 | 
            -
                  columnize (>= 0.1)
         | 
| 49 | 
            -
                  ruby-debug-base (~> 0.10.4.0)
         | 
| 50 | 
            -
                ruby-debug-base (0.10.4)
         | 
| 51 | 
            -
                  linecache (>= 0.3)
         | 
| 52 | 
            -
                ruby-debug-base19 (0.11.25)
         | 
| 53 | 
            -
                  columnize (>= 0.3.1)
         | 
| 54 | 
            -
                  linecache19 (>= 0.5.11)
         | 
| 55 | 
            -
                  ruby_core_source (>= 0.1.4)
         | 
| 56 | 
            -
                ruby-debug19 (0.11.6)
         | 
| 57 | 
            -
                  columnize (>= 0.3.1)
         | 
| 58 | 
            -
                  linecache19 (>= 0.5.11)
         | 
| 59 | 
            -
                  ruby-debug-base19 (>= 0.11.19)
         | 
| 60 | 
            -
                ruby_core_source (0.1.5)
         | 
| 61 | 
            -
                  archive-tar-minitar (>= 0.5.2)
         | 
| 62 40 | 
             
                rubyzip (0.9.4)
         | 
| 63 41 | 
             
                thor (0.14.6)
         | 
| 64 42 |  | 
| @@ -71,6 +49,4 @@ DEPENDENCIES | |
| 71 49 | 
             
              guard
         | 
| 72 50 | 
             
              guard-rspec
         | 
| 73 51 | 
             
              rspec
         | 
| 74 | 
            -
              ruby-debug
         | 
| 75 | 
            -
              ruby-debug19
         | 
| 76 52 | 
             
              vendor!
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.1. | 
| 1 | 
            +
            0.1.5
         | 
    
        data/lib/vendor/api.rb
    CHANGED
    
    
    
        data/lib/vendor/cli/app.rb
    CHANGED
    
    | @@ -35,7 +35,7 @@ module Vendor | |
| 35 35 | 
             
                      end
         | 
| 36 36 | 
             
                    end
         | 
| 37 37 |  | 
| 38 | 
            -
                    desc "library push VENDOR_FILE", "Push a vendor package to  | 
| 38 | 
            +
                    desc "library push VENDOR_FILE", "Push a vendor package to vendorkit.com"
         | 
| 39 39 | 
             
                    def push(file)
         | 
| 40 40 | 
             
                      begin
         | 
| 41 41 | 
             
                        Vendor::CLI::Auth.with_api_key do |api_key|
         | 
| @@ -105,7 +105,7 @@ module Vendor | |
| 105 105 | 
             
                    Vendor::Template.copy "Vendorfile"
         | 
| 106 106 | 
             
                  end
         | 
| 107 107 |  | 
| 108 | 
            -
                  desc "auth", "Login to your  | 
| 108 | 
            +
                  desc "auth", "Login to your vendorkit.com account"
         | 
| 109 109 | 
             
                  def auth
         | 
| 110 110 | 
             
                    begin
         | 
| 111 111 | 
             
                      Vendor::CLI::Auth.with_api_key do |api_key|
         | 
    
        data/lib/vendor/cli/auth.rb
    CHANGED
    
    | @@ -17,7 +17,7 @@ module Vendor | |
| 17 17 | 
             
                  end
         | 
| 18 18 |  | 
| 19 19 | 
             
                  def fetch_api_key
         | 
| 20 | 
            -
                    Vendor.ui.warn "Please enter your  | 
| 20 | 
            +
                    Vendor.ui.warn "Please enter your vendorkit.com login and password"
         | 
| 21 21 |  | 
| 22 22 | 
             
                    username = ask("Login: ")
         | 
| 23 23 | 
             
                    password = ask("Password: ") { |q| q.echo = false }
         | 
| @@ -4,7 +4,14 @@ class String | |
| 4 4 | 
             
                if length == 0
         | 
| 5 5 | 
             
                  "\"\""
         | 
| 6 6 | 
             
                else
         | 
| 7 | 
            -
                   | 
| 7 | 
            +
                  # This is really fucking ugly. So the thing is, I hae no idea what
         | 
| 8 | 
            +
                  # triggers quotes around string values in an ascii plist. If
         | 
| 9 | 
            +
                  # anyone knows how, please let me know. I can't just put quotes
         | 
| 10 | 
            +
                  # around everything, because for some reason, it doesn't work. So
         | 
| 11 | 
            +
                  # as I find characters that seem to trigger quotes, I drop them in
         | 
| 12 | 
            +
                  # here. Yes, this isn't a sustainable solution, but it works for
         | 
| 13 | 
            +
                  # now.
         | 
| 14 | 
            +
                  match(/\-|\s|\+|\<|\$|\"|\[|\=|\*|@|\,|\./) ? self.inspect : self
         | 
| 8 15 | 
             
                end
         | 
| 9 16 | 
             
              end
         | 
| 10 17 |  | 
    
        data/lib/vendor/xcode/project.rb
    CHANGED
    
    | @@ -34,7 +34,7 @@ module Vendor::XCode | |
| 34 34 | 
             
                  # because the custom implementation isn't very reliable. We use it mainly
         | 
| 35 35 | 
             
                  # so the gem can run on systems that don't have plutil installed (like our
         | 
| 36 36 | 
             
                  # CI server). The plutil app is far more reliable.
         | 
| 37 | 
            -
                  if RUBY_PLATFORM  | 
| 37 | 
            +
                  if RUBY_PLATFORM !~ /darwin/ || ENV['PARSER'] == 'custom'
         | 
| 38 38 | 
             
                    contents = File.readlines(@pbxproject).join("\n")
         | 
| 39 39 | 
             
                    parsed = Vendor::Plist.parse_ascii(contents)
         | 
| 40 40 | 
             
                  else
         | 
| @@ -47,7 +47,11 @@ module Vendor::XCode | |
| 47 47 | 
             
                  @objects_by_id = {}
         | 
| 48 48 |  | 
| 49 49 | 
             
                  @objects = parsed['objects'].map do |id, attributes|
         | 
| 50 | 
            -
                     | 
| 50 | 
            +
                    begin
         | 
| 51 | 
            +
                      klass = Vendor::XCode::Proxy.const_get(attributes['isa'])
         | 
| 52 | 
            +
                    rescue NameError => e
         | 
| 53 | 
            +
                      klass = Vendor::XCode::Proxy::Unknown
         | 
| 54 | 
            +
                    end
         | 
| 51 55 |  | 
| 52 56 | 
             
                    @objects_by_id[id] = klass.new(:project => self, :id => id, :attributes => attributes)
         | 
| 53 57 | 
             
                  end
         | 
| @@ -163,8 +167,10 @@ module Vendor::XCode | |
| 163 167 | 
             
                end
         | 
| 164 168 |  | 
| 165 169 | 
             
                def add_framework(framework, options = {})
         | 
| 166 | 
            -
                  # Find targets
         | 
| 167 | 
            -
                   | 
| 170 | 
            +
                  # Find targets and filter out aggregate targets (we can't add files to
         | 
| 171 | 
            +
                  # those bad boys)
         | 
| 172 | 
            +
                  targets = targets_from_options(options, :ignore_aggregates => true)
         | 
| 173 | 
            +
             | 
| 168 174 | 
             
                  Vendor.ui.debug %{Adding #{framework} to targets "#{targets.map(&:name)}"}
         | 
| 169 175 |  | 
| 170 176 | 
             
                  path = if framework.match(/\.dylib/)
         | 
| @@ -262,8 +268,9 @@ module Vendor::XCode | |
| 262 268 | 
             
                    raise StandardError.new("Could not find file `#{options[:file]}`") unless File.exists?(options[:file])
         | 
| 263 269 | 
             
                  end
         | 
| 264 270 |  | 
| 265 | 
            -
                  # Find targets
         | 
| 266 | 
            -
                   | 
| 271 | 
            +
                  # Find targets and filter out aggregate targets (we can't add files to
         | 
| 272 | 
            +
                  # those bad boys)
         | 
| 273 | 
            +
                  targets = targets_from_options(options, :ignore_aggregates => true)
         | 
| 267 274 |  | 
| 268 275 | 
             
                  # Create the group
         | 
| 269 276 | 
             
                  group = create_group(options[:path])
         | 
| @@ -433,6 +440,7 @@ module Vendor::XCode | |
| 433 440 | 
             
                  rescue Vendor::Plist::AsciiParser::ParseError => e
         | 
| 434 441 | 
             
                    Vendor.ui.error "There was an error converting the XCode project back to a Plist"
         | 
| 435 442 | 
             
                    Vendor.ui.error e.inspect
         | 
| 443 | 
            +
                    Vendor.ui.debug to_ascii_plist
         | 
| 436 444 |  | 
| 437 445 | 
             
                    false
         | 
| 438 446 | 
             
                  end
         | 
| @@ -468,8 +476,8 @@ module Vendor::XCode | |
| 468 476 | 
             
                    keys.each { |k| raise StandardError.new("Missing :#{k} option") unless options[k] }
         | 
| 469 477 | 
             
                  end
         | 
| 470 478 |  | 
| 471 | 
            -
                  def targets_from_options(options)
         | 
| 472 | 
            -
                    if options[:targets]
         | 
| 479 | 
            +
                  def targets_from_options(options, opts = {})
         | 
| 480 | 
            +
                    targets = if options[:targets]
         | 
| 473 481 | 
             
                      [ *options[:targets] ].map do |t|
         | 
| 474 482 | 
             
                        if t == :all
         | 
| 475 483 | 
             
                          root_object.targets
         | 
| @@ -482,6 +490,12 @@ module Vendor::XCode | |
| 482 490 | 
             
                    else
         | 
| 483 491 | 
             
                      root_object.targets
         | 
| 484 492 | 
             
                    end
         | 
| 493 | 
            +
             | 
| 494 | 
            +
                    if opts[:ignore_aggregates]
         | 
| 495 | 
            +
                      targets.reject { |t| t.kind_of? Vendor::XCode::Proxy::PBXAggregateTarget }
         | 
| 496 | 
            +
                    else
         | 
| 497 | 
            +
                      targets
         | 
| 498 | 
            +
                    end
         | 
| 485 499 | 
             
                  end
         | 
| 486 500 |  | 
| 487 501 | 
             
              end
         | 
    
        data/lib/vendor/xcode/proxy.rb
    CHANGED
    
    | @@ -5,6 +5,7 @@ module Vendor | |
| 5 5 | 
             
                module Proxy
         | 
| 6 6 |  | 
| 7 7 | 
             
                  autoload :Base,                      "vendor/xcode/proxy/base"
         | 
| 8 | 
            +
                  autoload :PBXAggregateTarget,        "vendor/xcode/proxy/pbx_aggregate_target"
         | 
| 8 9 | 
             
                  autoload :PBXProject,                "vendor/xcode/proxy/pbx_project"
         | 
| 9 10 | 
             
                  autoload :PBXFileReference,          "vendor/xcode/proxy/pbx_file_reference"
         | 
| 10 11 | 
             
                  autoload :PBXGroup,                  "vendor/xcode/proxy/pbx_group"
         | 
| @@ -21,6 +22,7 @@ module Vendor | |
| 21 22 | 
             
                  autoload :XCBuildConfiguration,      "vendor/xcode/proxy/xc_build_configuration"
         | 
| 22 23 | 
             
                  autoload :XCConfigurationList,       "vendor/xcode/proxy/xc_configuration_list"
         | 
| 23 24 | 
             
                  autoload :XCVersionGroup,            "vendor/xcode/proxy/xc_version_group"
         | 
| 25 | 
            +
                  autoload :Unknown,                   "vendor/xcode/proxy/unknown"
         | 
| 24 26 |  | 
| 25 27 | 
             
                end
         | 
| 26 28 |  | 
| @@ -22,7 +22,7 @@ describe Vendor::VendorFile::Loader do | |
| 22 22 | 
             
                end
         | 
| 23 23 |  | 
| 24 24 | 
             
                it "should load all the sources" do
         | 
| 25 | 
            -
                  @sources.map(&:uri).should == [ "http:// | 
| 25 | 
            +
                  @sources.map(&:uri).should == [ "http://vendorkit.com", "http://vendorage.com" ]
         | 
| 26 26 | 
             
                end
         | 
| 27 27 |  | 
| 28 28 | 
             
                it "should load all the libraries" do
         | 
| @@ -11,7 +11,7 @@ describe Vendor::VendorFile::Source do | |
| 11 11 | 
             
              it "should allow you to set a uri via a symbol" do
         | 
| 12 12 | 
             
                source = Vendor::VendorFile::Source.new(:vendorforge)
         | 
| 13 13 |  | 
| 14 | 
            -
                source.uri.should == "http:// | 
| 14 | 
            +
                source.uri.should == "http://vendorkit.com"
         | 
| 15 15 | 
             
              end
         | 
| 16 16 |  | 
| 17 17 | 
             
            end
         | 
| @@ -11,7 +11,7 @@ describe Vendor::XCode::Project do | |
| 11 11 | 
             
                context "ProjectWithSpecs.xcodeproj" do
         | 
| 12 12 |  | 
| 13 13 | 
             
                  it "should load all the objects" do
         | 
| 14 | 
            -
                    @project.objects.length.should ==  | 
| 14 | 
            +
                    @project.objects.length.should == 52
         | 
| 15 15 | 
             
                  end
         | 
| 16 16 |  | 
| 17 17 | 
             
                  it "should load the object version" do
         | 
| @@ -52,6 +52,23 @@ describe Vendor::XCode::Project do | |
| 52 52 |  | 
| 53 53 | 
             
                end
         | 
| 54 54 |  | 
| 55 | 
            +
                context "other projects in the ProjectsToTestParsing folder" do
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                  projects = Dir[File.join(PROJECT_RESOURCE_PATH, "ProjectsToTestParsing/*.xcodeproj")]
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                  projects.each do |p|
         | 
| 60 | 
            +
                    it "should correctly load and save '#{p}'" do
         | 
| 61 | 
            +
                      project = Vendor::XCode::Project.new(p)
         | 
| 62 | 
            +
                      contents = File.readlines(File.join(p, "project.pbxproj")).join("\n")
         | 
| 63 | 
            +
                      original = Vendor::Plist.parse_ascii(contents)
         | 
| 64 | 
            +
                      saved = Vendor::Plist.parse_ascii(project.to_ascii_plist)
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                      original.should == saved
         | 
| 67 | 
            +
                    end
         | 
| 68 | 
            +
                  end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                end
         | 
| 71 | 
            +
             | 
| 55 72 | 
             
              end
         | 
| 56 73 |  | 
| 57 74 | 
             
              context "#name" do
         | 
| @@ -244,7 +261,7 @@ describe Vendor::XCode::Project do | |
| 244 261 | 
             
                                                                 :path => "Frameworks", :name => "KeithPitt.framework",
         | 
| 245 262 | 
             
                                                                 :source_tree => :sdkroot })
         | 
| 246 263 |  | 
| 247 | 
            -
                  @temp_project.add_framework "KeithPitt.framework", :targets => "Integration"
         | 
| 264 | 
            +
                  @temp_project.add_framework "KeithPitt.framework", :targets => [ "Integration", "AggregateTarget" ]
         | 
| 248 265 | 
             
                end
         | 
| 249 266 |  | 
| 250 267 | 
             
                it "should add the dylibs to the right targets" do
         | 
| @@ -563,7 +580,7 @@ describe Vendor::XCode::Project do | |
| 563 580 | 
             
                end
         | 
| 564 581 |  | 
| 565 582 | 
             
                it "should raise an error if there is an invalid format" do
         | 
| 566 | 
            -
                  @project.should_receive(:to_ascii_plist).and_return { "asd; { f5him" }
         | 
| 583 | 
            +
                  @project.should_receive(:to_ascii_plist).twice.and_return { "asd; { f5him" }
         | 
| 567 584 |  | 
| 568 585 | 
             
                  @project.valid?.should be_false
         | 
| 569 586 | 
             
                end
         | 
| @@ -20,7 +20,10 @@ describe Vendor::XCode::Proxy::PBXProject do | |
| 20 20 | 
             
              end
         | 
| 21 21 |  | 
| 22 22 | 
             
              it "should reference the targets" do
         | 
| 23 | 
            -
                @pbx_project.targets.should == [ | 
| 23 | 
            +
                @pbx_project.targets.should == [
         | 
| 24 | 
            +
                  @project.find_object("5378749E14010A0A00D9B746"),
         | 
| 25 | 
            +
                  @project.find_object("53BD73C714D0AF9A00E30313")
         | 
| 26 | 
            +
                ]
         | 
| 24 27 | 
             
              end
         | 
| 25 28 |  | 
| 26 29 | 
             
            end
         | 
    
        data/spec/support/api_stubs.rb
    CHANGED
    
    | @@ -24,47 +24,47 @@ VENDOR_JSON[:LibWithError] = { :name => "LibWithError", | |
| 24 24 | 
             
                                           :versions => [ [ "0.1", { :dependencies => [ ] } ] ]
         | 
| 25 25 | 
             
                                        }
         | 
| 26 26 |  | 
| 27 | 
            -
            FakeWeb.register_uri :get, "http://keithpitt:password@ | 
| 27 | 
            +
            FakeWeb.register_uri :get, "http://keithpitt:password@vendorkit.com/users/keithpitt/api_key.json",
         | 
| 28 28 | 
             
                                 :body => { :api_key => "secret" }.to_json
         | 
| 29 29 |  | 
| 30 | 
            -
            FakeWeb.register_uri :get, "http://keithpitt:wrong@ | 
| 30 | 
            +
            FakeWeb.register_uri :get, "http://keithpitt:wrong@vendorkit.com/users/keithpitt/api_key.json",
         | 
| 31 31 | 
             
                                 :status => 401
         | 
| 32 32 |  | 
| 33 | 
            -
            FakeWeb.register_uri :get, "http://keithpitt:error@ | 
| 33 | 
            +
            FakeWeb.register_uri :get, "http://keithpitt:error@vendorkit.com/users/keithpitt/api_key.json",
         | 
| 34 34 | 
             
                                 :status => 500
         | 
| 35 35 |  | 
| 36 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 36 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/DKBenchmark.json",
         | 
| 37 37 | 
             
                                 :body => VENDOR_JSON[:DKBenchmark].to_json
         | 
| 38 38 |  | 
| 39 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 39 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/DKBenchmark-With-Some-Crazy-Number-Name-.json",
         | 
| 40 40 | 
             
                                 :body => VENDOR_JSON[:DKBenchmarkCrazyName].to_json
         | 
| 41 41 |  | 
| 42 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 42 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/WithAnError.json",
         | 
| 43 43 | 
             
                                 :status => 500
         | 
| 44 44 |  | 
| 45 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 45 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/DoesNotExist.json",
         | 
| 46 46 | 
             
                                 :status => 404
         | 
| 47 47 |  | 
| 48 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 48 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/DKBenchmark/versions/0.1/download",
         | 
| 49 49 | 
             
                                 :body => File.read(File.join(PACKAGED_VENDOR_PATH, "DKBenchmark-0.1.vendor"))
         | 
| 50 50 |  | 
| 51 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 51 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/DKBenchmark/versions/0.2/download",
         | 
| 52 52 | 
             
                                 :body => File.read(File.join(PACKAGED_VENDOR_PATH, "DKBenchmark-0.1.vendor"))
         | 
| 53 53 |  | 
| 54 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 54 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/LibWithError.json",
         | 
| 55 55 | 
             
                                 :body => VENDOR_JSON[:LibWithError].to_json
         | 
| 56 56 |  | 
| 57 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 57 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/LibWithError/versions/0.1/download",
         | 
| 58 58 | 
             
                                 :status => 500
         | 
| 59 59 |  | 
| 60 60 | 
             
            ###
         | 
| 61 61 | 
             
            # DEPENDENCY CALLS
         | 
| 62 62 | 
             
            ###
         | 
| 63 63 |  | 
| 64 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 64 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/DKRest.json",
         | 
| 65 65 | 
             
                                 :body => %{{"name":"DKRest","description":"Classes that make it easy to work with REST Services","release":"0.1","versions":[["0.1",{"dependencies":[["DKAPIRequest","0.1"],["DKCoreData","0.1"],["DKFile","0.1"],["DKPredicateBuilder","0.1"],["DKSupport","0.1"]]}]]}}
         | 
| 66 66 |  | 
| 67 | 
            -
            FakeWeb.register_uri :get, "http:// | 
| 67 | 
            +
            FakeWeb.register_uri :get, "http://vendorkit.com/vendors/DKCoreData.json",
         | 
| 68 68 | 
             
                                 :body => %{{"name":"DKCoreData","description":"A set of classes that make it easy to work with the Core Data framework on iOS and OSX","release":"0.1","versions":[["1.5.2",{"dependencies":[["DKFile","0.1"],["DKPredicateBuilder","0.1"],["DKSupport","0.1"]]}]]}}
         | 
| 69 69 |  | 
| 70 70 | 
             
            FakeWeb.allow_net_connect = false
         | 
    
        data/spec/support/resources/projects/MultipleTargets/MultipleTargets.xcodeproj/project.pbxproj
    CHANGED
    
    | @@ -6,6 +6,19 @@ | |
| 6 6 | 
             
            	objectVersion = 46;
         | 
| 7 7 | 
             
            	objects = {
         | 
| 8 8 |  | 
| 9 | 
            +
            /* Begin PBXAggregateTarget section */
         | 
| 10 | 
            +
            		53A7DCC114D0B3AE00A4FE42 /* AggregateTarget */ = {
         | 
| 11 | 
            +
            			isa = PBXAggregateTarget;
         | 
| 12 | 
            +
            			buildConfigurationList = 53A7DCC414D0B3AE00A4FE42 /* Build configuration list for PBXAggregateTarget "AggregateTarget" */;
         | 
| 13 | 
            +
            			buildPhases = (
         | 
| 14 | 
            +
            			);
         | 
| 15 | 
            +
            			dependencies = (
         | 
| 16 | 
            +
            			);
         | 
| 17 | 
            +
            			name = AggregateTarget;
         | 
| 18 | 
            +
            			productName = AggregateTarget;
         | 
| 19 | 
            +
            		};
         | 
| 20 | 
            +
            /* End PBXAggregateTarget section */
         | 
| 21 | 
            +
             | 
| 9 22 | 
             
            /* Begin PBXBuildFile section */
         | 
| 10 23 | 
             
            		53F42B5E14667527006B8F7C /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53F42B5D14667527006B8F7C /* UIKit.framework */; };
         | 
| 11 24 | 
             
            		53F42B6014667527006B8F7C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53F42B5F14667527006B8F7C /* Foundation.framework */; };
         | 
| @@ -285,6 +298,7 @@ | |
| 285 298 | 
             
            				53F42B8014667530006B8F7C /* MultipleTargets-iPad */,
         | 
| 286 299 | 
             
            				53F42B9B14667536006B8F7C /* Specs */,
         | 
| 287 300 | 
             
            				53F42BAF1466753B006B8F7C /* Integration */,
         | 
| 301 | 
            +
            				53A7DCC114D0B3AE00A4FE42 /* AggregateTarget */,
         | 
| 288 302 | 
             
            			);
         | 
| 289 303 | 
             
            		};
         | 
| 290 304 | 
             
            /* End PBXProject section */
         | 
| @@ -423,6 +437,20 @@ | |
| 423 437 | 
             
            /* End PBXVariantGroup section */
         | 
| 424 438 |  | 
| 425 439 | 
             
            /* Begin XCBuildConfiguration section */
         | 
| 440 | 
            +
            		53A7DCC214D0B3AE00A4FE42 /* Debug */ = {
         | 
| 441 | 
            +
            			isa = XCBuildConfiguration;
         | 
| 442 | 
            +
            			buildSettings = {
         | 
| 443 | 
            +
            				PRODUCT_NAME = "$(TARGET_NAME)";
         | 
| 444 | 
            +
            			};
         | 
| 445 | 
            +
            			name = Debug;
         | 
| 446 | 
            +
            		};
         | 
| 447 | 
            +
            		53A7DCC314D0B3AE00A4FE42 /* Release */ = {
         | 
| 448 | 
            +
            			isa = XCBuildConfiguration;
         | 
| 449 | 
            +
            			buildSettings = {
         | 
| 450 | 
            +
            				PRODUCT_NAME = "$(TARGET_NAME)";
         | 
| 451 | 
            +
            			};
         | 
| 452 | 
            +
            			name = Release;
         | 
| 453 | 
            +
            		};
         | 
| 426 454 | 
             
            		53F42B7B14667527006B8F7C /* Debug */ = {
         | 
| 427 455 | 
             
            			isa = XCBuildConfiguration;
         | 
| 428 456 | 
             
            			buildSettings = {
         | 
| @@ -573,6 +601,14 @@ | |
| 573 601 | 
             
            /* End XCBuildConfiguration section */
         | 
| 574 602 |  | 
| 575 603 | 
             
            /* Begin XCConfigurationList section */
         | 
| 604 | 
            +
            		53A7DCC414D0B3AE00A4FE42 /* Build configuration list for PBXAggregateTarget "AggregateTarget" */ = {
         | 
| 605 | 
            +
            			isa = XCConfigurationList;
         | 
| 606 | 
            +
            			buildConfigurations = (
         | 
| 607 | 
            +
            				53A7DCC214D0B3AE00A4FE42 /* Debug */,
         | 
| 608 | 
            +
            				53A7DCC314D0B3AE00A4FE42 /* Release */,
         | 
| 609 | 
            +
            			);
         | 
| 610 | 
            +
            			defaultConfigurationIsVisible = 0;
         | 
| 611 | 
            +
            		};
         | 
| 576 612 | 
             
            		53F42B5314667526006B8F7C /* Build configuration list for PBXProject "MultipleTargets" */ = {
         | 
| 577 613 | 
             
            			isa = XCConfigurationList;
         | 
| 578 614 | 
             
            			buildConfigurations = (
         |