Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Improved podspec

  • Loading branch information...
commit ac7f9c4073e0761bf27605a5936cf34bad636ddd 1 parent 6ab17fd
@jeanregisser authored
Showing with 132 additions and 10 deletions.
  1. +132 −10 Three20.podspec
View
142 Three20.podspec
@@ -1,4 +1,3 @@
-# TODO CocoaPods needs a way to easily define overrides for each subspec.
overrides = Module.new do
require 'set'
@@ -41,17 +40,85 @@ Pod::Spec.new do |s|
s.version = '1.0.11'
s.summary = 'Three20 is an Objective-C library for iPhone developers.'
s.homepage = 'http://three20.info/'
- s.author = { }
- s.source = { :git => 'git@github.com:jeanregisser/three20.git', :commit => '48180db6d0ffc8e3b3cbab507af447eb2894ded9' }
+ s.author = {
+ 'Alessandro Zummo' => 'a.zummo@towertech.it',
+ 'Alexander Saltanov' => 'a@nearbird.ru',
+ 'Adar Porat' => 'adar.porat@gmail.com',
+ 'aporat' => 'adar.porat@me.com',
+ 'Amit Snyderman' => 'amit@amitsnyderman.com',
+ 'andy.porat' => 'andy.porat@me.com',
+ 'Benedikt Meurer' => 'benedikt.meurer@googlemail.com',
+ 'beng' => 'beng@facebook.com',
+ 'Blake Watters' => 'blakewatters@gmail.com',
+ 'Brandon Walkin' => 'bwalkin@facebook.com',
+ 'Brian Chapados' => 'chapados@sciencegeeks.org',
+ 'clozach' => 'clozach+github@gmail.com',
+ 'crino' => 'cseverini@gmail.com',
+ 'David J. Hu' => 'davidjhu@gmail.com',
+ 'uprise78' => 'desaro@gmail.com',
+ 'Justin DeWind' => 'dewind@atomicobject.com',
+ 'Dima Berastau' => 'dima.berastau@gmail.com',
+ 'Holtwick' => 'dirk.holtwick@gmail.com',
+ 'Chih-Wei Lee' => 'dlackty@gmail.com',
+ 'Dan Morrow' => 'dmorrow@maned.com',
+ 'Doug Barth' => 'dougbarth@gmail.com',
+ 'drewmca' => 'drew@unitdev.com',
+ 'Emil Palm' => 'emil@x86.nu',
+ 'Eelco Lempsink' => 'eml@tupil.com',
+ 'Eric Wolfe' => 'eric.r.wolfe@gmail.com',
+ 'Eric Chamberlain' => 'eric@rf.com',
+ 'Drync Wine' => 'github@drync.com',
+ 'Greg Haines' => 'gresrun@gmail.com',
+ 'Hwee-Boon Yar' => 'hboon@motionobj.com',
+ 'Cemal Eker' => 'hello@cemaleker.com',
+ 'Jeroen Houtzager' => 'houtzager@gmail.com',
+ 'Jarno Antikainen' => 'jarno.antikainen@iki.fi',
+ 'Jason Cabot' => 'jasoncabot@gmail.com',
+ 'Jean Regisser' => 'jean.regisser@gmail.com',
+ 'Joe Hewitt' => 'joe@joehewitt.com',
+ 'Jeff Verkoeyen' => 'jverkoey@gmail.com',
+ 'John Wang' => 'jwang392@gmail.com',
+ 'Matt Crocker' => 'matt@rd.io',
+ 'Matt Newberry' => 'matt@shopify.com',
+ 'Brian Donovan' => 'me@brian-donovan.com',
+ 'Peter Steinberger' => 'me@petersteinberger.com',
+ 'Mike Morearty' => 'mike@morearty.com',
+ 'NanoTech' => 'nanotech008@gmail.com',
+ 'Joachim Bengtsson' => 'nevyn@spotify.com',
+ 'Oleguer Huguet' => 'olegueret@gmail.com',
+ 'Owen Yamauchi' => 'oyamauchi@fb.com',
+ 'Paulo Oliveira' => 'paulo@seqoy.com',
+ 'Pavel Bocharov' => 'pavel@wheely.com',
+ 'Petr Reichl' => 'petr@tapmates.com',
+ 'PEZ' => 'pez@pezius.com',
+ 'Pavel Repin' => 'prepin@gmail.com',
+ 'alexleutgoeb' => 'privat@alexleutgoeb.com',
+ 'Phillip Verheyden' => 'pverheyden@gmail.com',
+ 'Rafael Alba' => 'ralba@socialcast.com',
+ 'Rodrigo Mazzilli' => 'rodrigo@wellknown.as',
+ 'Roger Chapman' => 'roger@stormid.com',
+ 'Rusty Zarse' => 'rusty@levo.us',
+ 'Savanah Cummings' => 'savanah.cummings@gmail.com',
+ 'Shaheen Gandhi' => 'shaheen@devrs109.snc1.facebook.com',
+ 'Skotch Vail' => 'skotch.git@brushthedog.com',
+ 'Stephan Diederich' => 'stephan.diederich@googlemail.com',
+ 'Sumeru Chatterjee' => 'sumeru@ufl.edu',
+ 'Thomas Weisbach' => 'tee.aye.w@gmail.com',
+ 'Tobias Klonk' => 'tobias.klonk@tklonk.net',
+ 'Tobias Rundström' => 'tobias.rundstrom@purplescout.se',
+ 'Tony Lewis' => 'tonylewis@dailytest.portland.4tellsolutions.com',
+ 'vguerci' => 'vguerci@gmail.com',
+ 'wbailey' => 'wi11.bai1ey@facebook.com',
+ 'Wiley Kestner' => 'wiley.kestner@gmail.com',
+ }
+ s.license = { :type => 'Apache License, Version 2.0', :file => 'LICENSE' }
+ s.source = { :git => 'git@github.com:jeanregisser/three20.git' }
s.platform = :ios
s.source_files = 'src/Three20/{Sources,Headers}/*.{h,m}'
- s.dependency 'Three20/Core'
- s.dependency 'Three20/Network'
- s.dependency 'Three20/Style'
- s.dependency 'Three20/UICommon'
- s.dependency 'Three20/UINavigator'
- s.dependency 'Three20/UI'
+ s.resources = 'src/Three20.bundle'
+
+ s.preferred_dependency = 'UI'
# Workaround for a CocoaPods bug. It deletes everything at the root!
s.preserve_paths = 'src'
@@ -62,7 +129,6 @@ Pod::Spec.new do |s|
cs.source_files = 'src/Three20Core/{Sources,Headers}/*.{h,m}'
cs.private_header_files = 'src/Three20Core/Headers/TTExtensionInfoPrivate.h'
cs.header_dir = 'Three20Core'
- cs.resources = 'src/Three20.bundle'
end
# Full name: Three20/Network
@@ -122,4 +188,60 @@ Pod::Spec.new do |s|
us.dependency 'Three20/UINavigator'
end
+ # Extensions
+ s.subspec 'ext' do |ext|
+ # Full name: Three20/ext/CSSStyle
+ ext.subspec 'CSSStyle' do |css|
+ css.extend(overrides)
+ css.source_files = 'src/extThree20CSSStyle/{Sources,Headers,ThirdPart}/*.{h,m}'
+ css.private_header_files = 'src/extThree20CSSStyle/Headers/CssTokens.h'
+ css.header_dir = 'extThree20CSSStyle'
+ css.resources = 'src/extThree20CSSStyle/Resources/extThree20CSSStyle.bundle'
+ css.dependency 'Three20/Core'
+ css.dependency 'Three20/Network'
+ css.dependency 'Three20/Style'
+ end
+
+ # Full name: Three20/ext/JSON
+ ext.subspec 'JSON' do |js|
+ js.extend(overrides)
+ js.source_files = 'src/extThree20JSON/{Sources,Headers}/*.{h,m}'
+ js.header_dir = 'extThree20JSON'
+ js.dependency 'Three20/Core'
+ js.dependency 'Three20/Network'
+ end
+
+ # Full name: Three20/ext/SBJSON
+ # This extension cannot be used with Three20/ext/YAJL
+ ext.subspec 'SBJSON' do |sbs|
+ sbs.extend(overrides)
+ sbs.source_files = 'src/extThree20JSON/Vendors/JSON/*.{h,m}'
+ sbs.header_dir = 'extThree20JSON'
+ sbs.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'EXTJSON_SBJSON' }
+ sbs.dependency 'Three20/ext/JSON'
+ end
+
+ # Full name: Three20/ext/YAJL
+ # This extension cannot be used with Three20/ext/SBJSON
+ ext.subspec 'YAJL' do |ys|
+ ys.extend(overrides)
+ ys.source_files = 'src/extThree20JSON/Vendors/YAJL/*.{h,m}',
+ 'src/extThree20JSON/Vendors/YAJL/{GHKit,GTM}/*.{h,m}',
+ 'src/extThree20JSON/Vendors/YAJL/yajl/src/**/*.{h,c}'
+ ys.private_header_files = 'src/extThree20JSON/Vendors/YAJL/{GHKit,GTM}/*.h',
+ 'src/extThree20JSON/Vendors/YAJL/yajl/src/*.h'
+ ys.header_dir = 'extThree20JSON'
+ ys.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'EXTJSON_YAJL' }
+ ys.dependency 'Three20/ext/JSON'
+ end
+
+ # Full name: Three20/ext/XML
+ ext.subspec 'XML' do |xs|
+ xs.extend(overrides)
+ xs.source_files = 'src/extThree20XML/{Sources,Headers}/*.{h,m}'
+ xs.header_dir = 'extThree20XML'
+ xs.dependency 'Three20/Core'
+ xs.dependency 'Three20/Network'
+ end
+ end
end
Please sign in to comment.
Something went wrong with that request. Please try again.