Commit 237a88d6 authored by Marius Rackwitz's avatar Marius Rackwitz

Merge remote-tracking branch 'origin/master' into clintegracon

Conflicts:
	CHANGELOG.md
parents b0d8c6b8 4965bade
......@@ -2,12 +2,11 @@
To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides/installing_cocoapods.html).
## Master
##### Enhancements
* Display indication for deprecated pods when searching for pods
* Display indication for deprecated pods when searching for Pods.
[Hugo Tunius][k0nserv]
[#2180](https://github.com/CocoaPods/CocoaPods/issues/2180)
......@@ -17,11 +16,12 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
##### Bug Fixes
* Fixed pod repo push to first check if Specs directory exists and if so push there.
* Fixed pod repo push to first check if Specs directory exists and if so push
there.
[Edward Valentini](edwardvalentini)
[#2060](https://github.com/CocoaPods/CocoaPods/issues/2060)
* Fixed `pod outdated` to not include subspecs.
* Fixed `pod outdated` to not include subspecs.
[Ash Furrow](ashfurrow)
[#2136](https://github.com/CocoaPods/CocoaPods/issues/2136)
......@@ -35,10 +35,18 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
[Fabio Pelosin][irrationalfab]
[Core#132](https://github.com/CocoaPods/Core/issues/132)
* Fixed missing XCTest framework in Xcode 6
* Fixed `pod init` so that it doesn't recurse when checking for Podfiles.
[Paddy O'Brien](tapi)
[#2181](https://github.com/CocoaPods/CocoaPods/issues/2181)
* Fixed missing XCTest framework in Xcode 6.
[Paul Williamson](squarefrog)
[#2296](https://github.com/CocoaPods/CocoaPods/issues/2296)
* Support multiple values in ARCHS.
[Robert Zuber](https://github.com/z00b)
[#1904](https://github.com/CocoaPods/CocoaPods/issues/1904)
## 0.33.1
......@@ -245,12 +253,11 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
[Fabio Pelosin][irrationalfab]
[#1021](https://github.com/CocoaPods/CocoaPods/issues/1021)
* Warn when including deprecated pods
[Samuel E. Giddins](https://github.com/segiddins)
[#2003](https://github.com/CocoaPods/CocoaPods/issues/2003)
## 0.31.1
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.31.1...0.31.0)
[CocoaPods-Core](https://github.com/CocoaPods/Core/compare/0.31.1...0.31.0)
......@@ -487,7 +494,7 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
[Joshua Kalpin](https://github.com/Kapin)
[Core#39](https://github.com/CocoaPods/Core/pull/39)
[#1610](https://github.com/CocoaPods/CocoaPods/issues/1610)
* Having the silent flag enabled in the config will no longer cause issues
with `pod search`. In addition, the flag `--silent` is no longer supported
for the command.
......@@ -511,9 +518,9 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
[Carson McDonald](https://github.com/carsonmcdonald)
[#1628](https://github.com/CocoaPods/CocoaPods/issues/1628)
* Fixed all issues caused by `/tmp` being a symlink to `/private/tmp`.
This affected mostly `pod lib lint`, causing it to fail when the
Pod used `prefix_header_*` or when the pod headers imported headers
* Fixed all issues caused by `/tmp` being a symlink to `/private/tmp`.
This affected mostly `pod lib lint`, causing it to fail when the
Pod used `prefix_header_*` or when the pod headers imported headers
using the namespaced syntax (e.g. `#import <MyPod/Header.h>`).
[kra Larivain/OpenTable](https://github.com/opentable)
[#1514](https://github.com/CocoaPods/CocoaPods/pull/1514)
......@@ -643,7 +650,7 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
[Noah McCann](https://github.com/nmccann)
[#29](https://github.com/CocoaPods/Core/pull/29)
* The developer dir relative to the SDK is not added anymore if testing
* The developer dir relative to the SDK is not added anymore if testing
frameworks are detected in OS X targets, as it doesn't exists, avoiding the
presentation of the relative warning in Xcode.
[Fabio Pelosin](https://github.com/irrationalfab)
......@@ -803,7 +810,7 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
* Added `pod init` command which generates a Podfile according to the
targets of the project stored in the working directory and to the templates
stored in the `~/.cocoapods/templates` folder. Two templates are supported:
stored in the `~/.cocoapods/templates` folder. Two templates are supported:
- the `Podfile.default` template for regular targets.
- and the `Podfile.test` template for test targets.
[Ian Ynda-Hummel](https://github.com/ianyh)
......@@ -2466,4 +2473,3 @@ allowing you to automate Xcode related tasks.
[neonichu]: (https://github.com/neonichu)
[mrackwitz]: https://github.com/mrackwitz
[k0nserv]: https://github.com/k0nserv
......@@ -7,7 +7,7 @@ GIT
GIT
remote: https://github.com/CocoaPods/Core.git
revision: b264007943718f32c314e72952d312e92f1626c3
revision: 54327d78336f93e2301d1e8bf1c637c1a3271892
branch: master
specs:
cocoapods-core (0.33.1)
......
......@@ -30,7 +30,7 @@ module Pod
def validate!
super
raise Informative, "Existing Podfile found in directory" unless config.podfile.nil?
raise Informative, "Existing Podfile found in directory" unless config.podfile_path_in_dir(Pathname.pwd).nil?
if @project_path
help! "Xcode project at #{@project_path} does not exist" unless File.exist? @project_path
project_path = @project_path
......
......@@ -320,6 +320,8 @@ module Pod
'Podfile',
]
public
# Returns the path of the Podfile in the given dir if any exists.
#
# @param [Pathname] dir
......
......@@ -494,12 +494,8 @@ module Pod
end
archs = archs.compact.uniq.sort
if archs.count > 1
UI.warn "Found multiple values (`#{archs.join('`, `')}`) for the " \
"architectures (`ARCHS`) build setting for the " \
"`#{target_definition}` target definition. Using the first."
end
archs.first
UI.puts("Using `ARCHS` setting to build architectures: (`#{archs.join('`, `')}`)")
archs.length > 1 ? archs : archs.first
end
# Precompute the platforms for each target_definition in the Podfile
......
......@@ -163,7 +163,7 @@ module Pod
else
pod = Specification::Set::Presenter.new(set, statistics_provider)
title = "\n-> #{pod.name} (#{pod.version})"
if pod.deprecated?
if pod.spec.deprecated?
title += " #{pod.deprecation_description}"
colored_title = title.red
else
......
......@@ -364,20 +364,20 @@ module Pod
it "handles an Array of ARCHs defined in a single user target" do
user_project = Xcodeproj::Project.new('path')
target = user_project.new_target(:application, 'Target', :ios)
target.build_configuration_list.set_setting('ARCHS', 'armv7')
target.build_configuration_list.set_setting('ARCHS', ['armv7', 'i386'])
target_definition = Podfile::TargetDefinition.new(:default, nil)
target_definition.set_platform(:ios, '4.0')
user_targets = [target]
archs = @analyzer.send(:compute_archs_for_target_definition, target_definition, user_targets)
archs.should == 'armv7'
['armv7', 'i386'].each { |a| archs.should.include a }
end
it "handles an Array of ARCHs defined multiple user targets" do
user_project = Xcodeproj::Project.new('path')
targeta = user_project.new_target(:application, 'Target', :ios)
targeta.build_configuration_list.set_setting('ARCHS', 'armv7')
targeta.build_configuration_list.set_setting('ARCHS', ['armv7', 'armv7s'])
targetb = user_project.new_target(:application, 'Target', :ios)
targetb.build_configuration_list.set_setting('ARCHS', ['armv7', 'i386'])
......@@ -386,9 +386,8 @@ module Pod
user_targets = [targeta, targetb]
archs = @analyzer.send(:compute_archs_for_target_definition, target_definition, user_targets)
archs.should == 'armv7'
['armv7', 'armv7s', 'i386'].each { |a| archs.should.include a }
end
end
#--------------------------------------#
......
......@@ -195,8 +195,104 @@ module Pod
end
end
#-------------------------------------------------------------------------#
describe "Pre-release versions" do
it "resolves explicitly requested pre-release versions" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '1.0RC3'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should == ["AFNetworking (1.0RC3)"]
end
xit "resolves to latest minor version even when explicitly requesting pre-release versions when using ~>" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '~> 1.0RC3'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should != ["AFNetworking (1.0RC3)"]
specs.should == ["AFNetworking (1.2.0)"]
end
it "does not resolve to a pre-release version implicitly when matching exact version" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '1.0'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should != ["AFNetworking (1.0RC3)"]
specs.should == ["AFNetworking (1.0)"]
end
xit "does not resolve to a pre-release version implicitly when using <" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '< 1.0'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should != ["AFNetworking (1.0RC3)"]
specs.should == ["AFNetworking (0.10.1)"]
end
it "does not resolve to a pre-release version implicitly when using <=" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '<= 1.0'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should != ["AFNetworking (1.0RC3)"]
specs.should == ["AFNetworking (1.0)"]
end
it "does not resolve to a pre-release version implicitly when using >" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '> 1.0', '< 1.3'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should != ["AFNetworking (1.0RC3)"]
specs.should == ["AFNetworking (1.2.1)"]
end
it "does not resolve to a pre-release version implicitly when using >=" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '>= 1.0', '< 1.3'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should != ["AFNetworking (1.0RC3)"]
specs.should == ["AFNetworking (1.2.1)"]
end
it "does not resolve to a pre-release version implicitly when using ~>" do
@podfile = Podfile.new do
platform :ios, '6.0'
pod 'AFNetworking', '~> 1.0', '< 1.3'
end
resolver = Resolver.new(config.sandbox, @podfile)
specs = resolver.resolve.values.flatten.map(&:to_s).sort
specs.should != ["AFNetworking (1.0RC3)"]
specs.should == ["AFNetworking (1.2.1)"]
end
end
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment