Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a8530fc
[PlistHelper] First version of old C ext ported to use Fiddle.
alloy Oct 4, 2014
ba4b3a9
[PlistHelper] Replace deprecated CoreFoundation APIs.
alloy Oct 5, 2014
e63c896
[PlistHelper] Use actual signatures for all CF functions.
alloy Oct 5, 2014
f59ba3f
[PlistHelper] Refactor importing CF functions.
alloy Oct 5, 2014
5425552
[PlistHelper] Cleanup function definitions.
alloy Oct 5, 2014
b87b39a
[PlistHelper] Re-organize and clean-up more.
alloy Oct 5, 2014
6610715
[PlistHelper] Re-organize a bit more to reduce namespace noise.
alloy Oct 5, 2014
6ee4526
[PlistHelper] Merge and clean-up tests.
alloy Oct 5, 2014
a720064
[PlistHelper] Make tests green and remove XML fixture.
alloy Oct 5, 2014
5fd4603
[PlistHelper] Make rubocop happy.
alloy Oct 5, 2014
efd4694
Remove any further reference to the CFPropertyList and libxml-ruby gems.
alloy Oct 5, 2014
d3055e9
[PlistHelper] Import build of old C ext for Ruby 1.8.7 only.
alloy Oct 6, 2014
8d65e22
[PlistHelper] Actually use old API that's used in C ext.
alloy Oct 6, 2014
8428996
[PlistHelper] Don't change name of C ext bundle as Ruby inflects the …
alloy Oct 6, 2014
c593b33
[PlistHelper] Don't reference constant at all to ensure the file is n…
alloy Oct 6, 2014
66321b0
[PlistHelper] Remove more references of new constant.
alloy Oct 6, 2014
206b6de
[PlistHelper] Remove unused code.
alloy Oct 7, 2014
004617a
[PlistHelper] Some more cleanup.
alloy Oct 7, 2014
3f3887f
[CHANGELOG] Use Fiddle API to use CoreFoundation's CFPropertyList APIs.
alloy Oct 7, 2014
0fab6ed
[CHANGELOG] Formatting fix.
alloy Oct 7, 2014
9dbb7ed
[gemspec] Include C ext for Ruby 1.8.7
alloy Oct 7, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,30 @@
# Xcodeproj Changelog

## 0.19.3

###### Bug Fixes

* `PlistHelper`: Drop usage of the `CFPropertyList` gem and `plutil` and replace
it with a version that uses the native `CFPropertyList` APIs from the OS X
`CoreFoundation` framework, like the previous C extension did. Except this
time we use Ruby's Fiddle API (MRI >= 1.9.3) to interface with it instead of
the need to compile a C extension.
This release still includes a prebuilt version of the C extension for Ruby
1.8.7 support (OS X 10.8.x), but this will soon be dropped completely.
[Eloy Durán](https://github.com/alloy)
[CocoaPods#2483](https://github.com/CocoaPods/CocoaPods/issues/2483)
[Xcodeproj#198](https://github.com/CocoaPods/Xcodeproj/issues/198)
[Xcodeproj#200](https://github.com/CocoaPods/Xcodeproj/pull/200)


## 0.19.2

###### Bug Fixes

* `PlistHelper`: Only try to use `plutil` if it's in the exact location where
we expect it to be on OS X, instead of relying on the user's `$PATH`.
[Eloy Durán](https://github.com/alloy)
[CocoaPods#2502](https://github.com/CocoaPods/CocoaPods/issues/2502)
we expect it to be on OS X, instead of relying on the user's `$PATH`.
[Eloy Durán](https://github.com/alloy)
[CocoaPods#2502](https://github.com/CocoaPods/CocoaPods/issues/2502)


## 0.19.1
Expand Down
4 changes: 0 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ group :development do
gem 'simplecov'
gem 'rubocop'
end

if RUBY_PLATFORM.include?('darwin')
gem 'libxml-ruby'
end
end

group :debugging do
Expand Down
4 changes: 0 additions & 4 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@ PATH
remote: .
specs:
xcodeproj (0.19.2)
CFPropertyList (~> 2.2)
activesupport (~> 3.0)
colored (~> 1.2)

GEM
remote: http://rubygems.org/
specs:
CFPropertyList (2.2.8)
activesupport (3.2.19)
i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
Expand All @@ -26,7 +24,6 @@ GEM
kicker (3.0.0)
listen (~> 1.3.0)
notify (~> 0.5.2)
libxml-ruby (2.7.0)
listen (1.3.1)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
Expand Down Expand Up @@ -72,7 +69,6 @@ DEPENDENCIES
bacon
codeclimate-test-reporter
kicker
libxml-ruby
mocha
mocha-on-bacon
prettybacon
Expand Down
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@ by performing the following command:

$ [sudo] gem install xcodeproj

To improve the performance of Xcodeproj it is possible to install [LibXML Ruby](http://xml4r.github.io/libxml-ruby/):

$ [sudo] gem install libxml-ruby

To make Xcodeproj output projects in the same format of Xcode (deprecated ASCII Plists format) in order to reduce the SCM noise it is possible to install [xcproj](https://github.com/0xced/xcproj):

$ brew install xcproj
Expand Down
Binary file added ext/xcodeproj/xcodeproj_ext.bundle
Binary file not shown.
11 changes: 2 additions & 9 deletions lib/xcodeproj.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,6 @@ def message
autoload :Workspace, 'xcodeproj/workspace'
autoload :XCScheme, 'xcodeproj/scheme'
autoload :XcodebuildHelper, 'xcodeproj/xcodebuild_helper'

# TODO: Delete me (compatibility with CocoaPods 0.33.1)
def self.read_plist(path)
PlistHelper.read(path)
end

def self.write_plist(hash, path)
PlistHelper.write(hash, path)
end
end

require 'xcodeproj/ext'
13 changes: 12 additions & 1 deletion lib/xcodeproj/ext.rb
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
# TODO: Delete me
begin
require 'xcodeproj/plist_helper'
rescue LoadError
require 'rbconfig'
if RUBY_VERSION == '1.8.7' && RbConfig::CONFIG['prefix'] =~ %r{^/System/Library/Frameworks/Ruby.framework/}
$:.unshift(File.expand_path('../../../ext', __FILE__))
require 'xcodeproj/xcodeproj_ext'
else
raise 'The xcodeproj gem is only supported on Ruby versions that include' \
'the Fiddle API or with Ruby 1.8.7 that came with OS X 10.8.x.'
end
end
Loading