Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: CocoaPods/CocoaPods
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.8.0
Choose a base ref
...
head repository: CocoaPods/CocoaPods
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.9.0
Choose a head ref

Commits on Jul 10, 2012

  1. Unverified

    No user is associated with the committer email.
    Copy the full SHA
    2d32931 View commit details
  2. Merge pull request #384 from aanand/patch-1

    Gender-neutralise podfile.rb docs
    
    [ci skip]
    Bradley Grzesiak committed Jul 10, 2012

    Unverified

    No user is associated with the committer email.
    Copy the full SHA
    5bffd10 View commit details

Commits on Jul 11, 2012

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0d7f8c3 View commit details
  2. [Changelog] update.

    fabiopelosin committed Jul 11, 2012
    Copy the full SHA
    c0e7d6f View commit details

Commits on Jul 12, 2012

  1. Copy the full SHA
    f2cfa5f View commit details
  2. Copy the full SHA
    4ccc718 View commit details
  3. [CHANGELOG] Update.

    fabiopelosin committed Jul 12, 2012
    Copy the full SHA
    d126d38 View commit details
  4. Copy the full SHA
    d4f319b View commit details
  5. Copy the full SHA
    b08b005 View commit details
  6. Copy the full SHA
    d57bb9f View commit details
  7. Copy the full SHA
    a24b4ba View commit details

Commits on Jul 13, 2012

  1. Copy the full SHA
    573cc3f View commit details
  2. Copy the full SHA
    07773d2 View commit details
  3. Copy the full SHA
    e989ef4 View commit details
  4. [HEAD] Move logic from Specification to Installer/Downloader.

    Closes #392.
    
    Incidentally touched ALL THE FILES.
    alloy committed Jul 13, 2012
    Copy the full SHA
    f88e26c View commit details
  5. Copy the full SHA
    e0ae4a1 View commit details
  6. Merge pull request #399 from dongle/master

    Added clean output from pod spec create as an example, to be referenced in the wiki
    alloy committed Jul 13, 2012
    Copy the full SHA
    69bf9af View commit details
  7. Update bundle.

    alloy committed Jul 13, 2012
    Copy the full SHA
    115ce84 View commit details

Commits on Jul 14, 2012

  1. Merge pull request #396 from l4u/quote

    Change git clone command to use double quotes instead of single quotes
    alloy committed Jul 14, 2012
    Copy the full SHA
    0597bf7 View commit details
  2. Update CHANGELOG

    alloy committed Jul 14, 2012
    Copy the full SHA
    87bdf21 View commit details
  3. Copy the full SHA
    5a32b8f View commit details
  4. Exit early when using an old RubyGems version (< 1.4.0).

    Closes #398.
    
    Unfortunately, OS X >= 10.7 ships with 1.3.6 :(
    alloy committed Jul 14, 2012
    Copy the full SHA
    9b5788e View commit details
  5. [CHANGELOG] fix spelling

    alloy committed Jul 14, 2012
    Copy the full SHA
    98e9851 View commit details
  6. Preapre for 0.9.0

    alloy committed Jul 14, 2012
    Copy the full SHA
    4c96ee7 View commit details
  7. Release 0.9.0

    alloy committed Jul 14, 2012
    Copy the full SHA
    79bd3e2 View commit details
72 changes: 45 additions & 27 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,34 @@
## 0.9.0

[CocoaPods](http://git.io/kucJQw)[Xcodeproj](http://git.io/5eLL8g)

###### Enhancements

- Force downloading the ‘bleeding edge’ version of a pod with the `:head` flag. [#392](http://git.io/t_NVRQ)
- Support for weak frameworks. [#263](http://git.io/XZDuog)
- Use double quotes when shelling out. This makes a url like `$HOME/local/lib` work. [#396](http://git.io/DnBzhA)

###### Bug fixes

- Relaxed linter to accepts pod that only specify paths to preserve (like TuneupJS).
- Gender neutralization of podfile documentation. [#384](http://git.io/MAsHXg)
- Exit early when using an old RubyGems version (< 1.4.0). These versions contain subtle bugs
related to prerelease version comparisons. Unfortunately, OS X >= 10.7 ships with 1.3.6. [#398](http://git.io/Lr7DoA)


## 0.8.0

[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.7.0...0.8.0)[Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.2.2...0.2.3)
[CocoaPods](http://git.io/RgMF3w)[Xcodeproj](http://git.io/KBKE_Q)

###### Breaking change

Syntax change in Podfile: `dependency` has been replaced by `pod`.

```ruby
``ruby
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'Reachability', '~> 2.0.4'
```
``

###### Bug fixes

@@ -19,7 +37,7 @@ pod 'Reachability', '~> 2.0.4'

## 0.7.0

[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.6.1...0.7.0)[Xcodeproj](https://github.com/CocoaPods/Xcodeproj/compare/0.2.1...0.2.2)
[CocoaPods](http://git.io/Agia6A)[Xcodeproj](http://git.io/mlqquw)

###### Features

@@ -38,7 +56,7 @@ pod 'Reachability', '~> 2.0.4'

## 0.6.1

[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.6.0...0.6.1)[Xcodeproj](https://github.com/CocoaPods/XcodeProj/compare/0.2.0...0.2.1)
[CocoaPods](http://git.io/45wFjw)[Xcodeproj](http://git.io/rRA4XQ)

###### Bug fixes

@@ -60,7 +78,7 @@ CocoaPods can now integrate all the targets specified in your `Podfile`.
To specify which target, in your Xcode project, a Pods target should be linked
with, use the `link_with` method like so:

```ruby
``ruby
platform :ios

workspace 'MyWorkspace'
@@ -73,7 +91,7 @@ target :test, :exclusive => true do
link_with 'TestRunnerTarget'
dependency 'Kiwi'
end
```
``

_NOTE: As you can see it can take either one target name, or an array of names._

@@ -98,9 +116,9 @@ configurations are based on the `Release` configuration, to base them on the
`Debug` configuration you will have to explicitely specify them as can be seen
above in the following line:

```ruby
``ruby
xcodeproj 'TestProject', 'Test' => :debug
```
``


### Documentation
@@ -110,16 +128,16 @@ CocoaPods will now generate documentation for every library with the

You can customize the settings used like so:

```ruby
``ruby
s.documentation = { :appledoc => ['--product-name', 'My awesome project!'] }
```
``

Alternatively, you can specify a URL where an HTML version of the documentation
can be found:

```ruby
``ruby
s.documentation = { :html => 'http://example.com/docs/index.html' }
```
``

See [#149](https://github.com/CocoaPods/CocoaPods/issues/149) and
[#151](https://github.com/CocoaPods/CocoaPods/issues/151) for more info.
@@ -140,18 +158,18 @@ If you're not happy with the default boilerplate text generated for the title, h
and footnotes in the files, it's possible to customise these by overriding the methods
that generate the text in your `Podfile` like this:

```ruby
``ruby
class ::Pod::Generator::Acknowledgements
def header_text
"My custom header text"
end
end
```
``

You can even go one step further and customise the text on a per target basis by
checking against the target name, like this:

```ruby
``ruby
class ::Pod::Generator::Acknowledgements
def header_text
if @target_definition.label.end_with?("MyTargetName")
@@ -161,16 +179,16 @@ class ::Pod::Generator::Acknowledgements
end
end
end
```
``

Finally, here's a list of the methods that are available to override:

```ruby
``ruby
header_title
header_text
footnote_title
footnote_text
```
``


### Introduced two new classes: LocalPod and Sandbox.
@@ -281,7 +299,7 @@ different sets of depedencies. This means that you can create a separate
library which contains all dependencies, including extra ones that you only use
in, for instance, a debug or test build. [[docs][1]]

```Ruby
``ruby
# This Podfile will build three static libraries:
# * libPods.a
# * libPods-debug.a
@@ -302,15 +320,15 @@ target :test, :exclusive => true do
# the `libPods-test.a` library.
dependency 'Kiwi'
end
```
``

### Install libraries from anywhere

A dependency can take a git url if the repo contains a podspec file in its
root, or a podspec can be loaded from a file or HTTP location. If no podspec is
available, a specification can be defined inline in the Podfile. [[docs][2]]

```Ruby
``ruby
# From a spec repo.
dependency 'SSToolkit'

@@ -341,14 +359,14 @@ dependency do |s|
end
end
end
```
``

### Add a `post_install` hook to the Podfile class

This allows the user to customize, for instance, the generated Xcode project
_before_ it’s written to disk. [[docs][3]]

```Ruby
``ruby
# Enable garbage collection support for MacRuby applications.
post_install do |installer|
installer.project.targets.each do |target|
@@ -357,14 +375,14 @@ post_install do |installer|
end
end
end
```
``

### Manifest

Generate a Podfile.lock file next to the Podfile, which contains a manifest of
your application’s dependencies and their dependencies.

```
``
PODS:
- JSONKit (1.4)
- LibComponentLogging-Core (1.1.4)
@@ -386,7 +404,7 @@ DOWNLOAD_ONLY:
DEPENDENCIES:
- RestKit-JSON-JSONKit
- RestKit-ObjectMapping
```
``

### Generate Xcode projects from scratch

4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
GIT
remote: git://github.com/CocoaPods/Xcodeproj.git
revision: 2da2c3688dfd240b376f671e8e6525ba28729f38
revision: 11d8450ba7e8c20fe05f650c2445b462524d99a5
specs:
xcodeproj (0.2.3)
activesupport (~> 3.2.6)
@@ -74,7 +74,7 @@ GEM
ffi (>= 0.5.0)
redcarpet (2.1.1)
slop (2.4.4)
vcr (2.2.2)
vcr (2.2.3)
webmock (1.8.7)
addressable (>= 2.2.7)
crack (>= 0.1.7)
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ Now that you've got CocoaPods installed you can easily add it to your project.

1. If you're using a fresh out of the box Mac with Lion using Xcode from the Mac App Store, you will need to install the Command Line Tools for Xcode first: [here](https://developer.apple.com/downloads/index.action)

2. CocoaPods re-uses some of the RubyGems 1.3.6 classes. If you have an older version (pre OS X 10.7), you will have to update RubyGems: `$ gem update --system`.
2. CocoaPods re-uses some of the RubyGems classes. If you have a version older than 1.4.0, you will have to update RubyGems: `$ gem update --system`.


## Adding it to your project
119 changes: 119 additions & 0 deletions examples/Example.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
#
# Be sure to run `pod spec lint Example.podspec.podspec' to ensure this is a
# valid spec.
#
# Remove all comments before submitting the spec. Optional attributes are commented.
#
# For details see: https://github.com/CocoaPods/CocoaPods/wiki/The-podspec-format
#
Pod::Spec.new do |s|
s.name = "Example.podspec"
s.version = "0.0.1"
s.summary = "A short description of Example.podspec."
# s.description = <<-DESC
# An optional longer description of Example.podspec
#
# * Markdonw format.
# * Don't worry about the indent, we strip it!
# DESC
s.homepage = "http://EXAMPLE/Example.podspec"

# Specify the license type. CocoaPods detects automatically the license file if it is named
# `LICENSE*.*', however if the name is different, specify it.
s.license = 'MIT (example)'
# s.license = { :type => 'MIT (example)', :file => 'FILE_LICENSE' }
#
# Only if no dedicated file is available include the full text of the license.
#
# s.license = {
# :type => 'MIT (example)',
# :text => <<-LICENSE
# Copyright (C) <year> <copyright holders>

# All rights reserved.

# Redistribution and use in source and binary forms, with or without
# ...
# LICENSE
# }

# Specify the authors of the library, with email addresses. You can often find
# the email addresses of the authors by using the SCM log. E.g. $ git log
#
s.author = { "Jonathan Beilin" => "jbeilin@gmail.com" }
# s.authors = { "Jonathan Beilin" => "jbeilin@gmail.com", "other author" => "and email address" }
#
# If absolutely no email addresses are available, then you can use this form instead.
#
# s.author = 'Jonathan Beilin', 'other author'

# Specify the location from where the source should be retreived.
#
s.source = { :git => "http://EXAMPLE/Example.podspec.git", :tag => "0.0.1" }
# s.source = { :svn => 'http://EXAMPLE/Example.podspec/tags/1.0.0' }
# s.source = { :hg => 'http://EXAMPLE/Example.podspec', :revision => '1.0.0' }

# If this Pod runs only on iOS or OS X, then specify the platform and
# the deployment target.
#
# s.platform = :ios, '5.0'
# s.platform = :ios

# ――― MULTI-PLATFORM VALUES ――――――――――――――――――――――――――――――――――――――――――――――――― #

# If this Pod runs on both platforms, then specify the deployment
# targets.
#
# s.ios.deployment_target = '5.0'
# s.osx.deployment_target = '10.7'

# A list of file patterns which select the source files that should be
# added to the Pods project. If the pattern is a directory then the
# path will automatically have '*.{h,m,mm,c,cpp}' appended.
#
# Alternatively, you can use the FileList class for even more control
# over the selected files.
# (See http://rake.rubyforge.org/classes/Rake/FileList.html.)
#
s.source_files = 'Classes', 'Classes/**/*.{h,m}'

# A list of resources included with the Pod. These are copied into the
# target bundle with a build phase script.
#
# Also allows the use of the FileList class like `source_files does.
#
# s.resource = "icon.png"
# s.resources = "Resources/*.png"

# A list of paths to preserve after installing the Pod.
# CocoaPods cleans by default any file that is not used.
# Please don't include documentation, example, and test files.
# Also allows the use of the FileList class like `source_files does.
#
# s.preserve_paths = "FilesToSave", "MoreFilesToSave"

# Specify a list of frameworks that the application needs to link
# against for this Pod to work.
#
# s.framework = 'SomeFramework'
# s.frameworks = 'SomeFramework', 'AnotherFramework'

# Specify a list of libraries that the application needs to link
# against for this Pod to work.
#
# s.library = 'iconv'
# s.libraries = 'iconv', 'xml2'

# If this Pod uses ARC, specify it like so.
#
# s.requires_arc = true

# If you need to specify any other build settings, add them to the
# xcconfig hash.
#
# s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }

# Finally, specify any Pods that this Pod depends on.
#
# s.dependency 'JSONKit', '~> 1.4'
end
16 changes: 15 additions & 1 deletion lib/cocoapods.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
require 'rubygems'

# Better to fail early and clear then during installation of pods.
#
# RubyGems 1.3.6 (which ships with OS X >= 10.7) up to 1.4.0 have a couple of
# bugs related to comparing prerelease versions.
#
# E.g. https://github.com/CocoaPods/CocoaPods/issues/398
unless Gem::Version::Requirement.new('>= 1.4.0').satisfied_by?(Gem::Version.new(Gem::VERSION))
require 'colored'
STDERR.puts "Your RubyGems version (#{Gem::VERSION}) is too old, please update with: `gem update --system`".red
exit 1
end

module Pod
VERSION = '0.8.0'
VERSION = '0.9.0'

class PlainInformative < StandardError
end
1 change: 0 additions & 1 deletion lib/cocoapods/command/error_report.rb
Original file line number Diff line number Diff line change
@@ -2,7 +2,6 @@

require 'rbconfig'
require 'cgi'
require 'rubygems'

module Pod
class Command
Loading