Skip to content

Instantly share code, notes, and snippets.

@fabiopelosin
Created March 15, 2012 10:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fabiopelosin/2043581 to your computer and use it in GitHub Desktop.
Save fabiopelosin/2043581 to your computer and use it in GitHub Desktop.
Errno::ENOENT: No such file or directory - /Users/fabio/Documents/GitHub/CocoaPods/tmp/Pods/JSONKit/CHANGELOG.md
$ rake spec --trace
** Invoke spec (first_time)
** Invoke spec:all (first_time)
** Invoke ext:cleanbuild (first_time)
** Invoke ext:clean (first_time)
** Execute ext:clean
cd ./external/Xcodeproj && rake ext:clean
[!] Install the required dependencies to generate documentation: $ bundle install
cd ext/xcodeproj && rm -f Makefile *.o *.bundle
** Invoke ext:build (first_time)
** Execute ext:build
cd ./external/Xcodeproj && rake ext:build
[!] Install the required dependencies to generate documentation: $ bundle install
ruby extconf.rb
checking for -std=c99 option to compiler... yes
checking for CoreFoundation... yes
checking for CoreFoundation/CoreFoundation.h... yes
checking for CoreFoundation/CFStream.h... yes
checking for CoreFoundation/CFPropertyList.h... yes
checking for ruby/st.h... yes
creating extconf.h
creating Makefile
make
gcc -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0 -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common -std=c99 -c xcodeproj_ext.c
cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup -o xcodeproj_ext.bundle xcodeproj_ext.o -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L. -arch i386 -arch x86_64 -ObjC -framework CoreFoundation -lruby -lpthread -ldl
** Execute ext:cleanbuild
** Execute spec:all
bacon spec/unit/installer_spec.rb spec/unit/dependency_spec.rb spec/unit/project_spec.rb spec/unit/config_spec.rb spec/unit/downloader_spec.rb spec/unit/source_spec.rb spec/integration_spec.rb spec/unit/command_spec.rb spec/unit/local_pod_spec.rb spec/unit/sandbox_spec.rb spec/unit/specification_spec.rb spec/functional/command_spec.rb spec/functional/downloader_spec.rb spec/unit/specification/set_spec.rb spec/unit/generator/bridge_support_spec.rb spec/unit/target_installer_spec.rb spec/unit/podfile_spec.rb spec/functional/project_integration_spec.rb spec/unit/resolver_spec.rb spec/unit/platform_spec.rb
Pod::Installer
, by default,
- sets the header search paths where installed Pod headers can be found
- configures the project to load categories from the static library
- generates a BridgeSupport metadata file from all the pod headers
- omits empty target definitions
Pod::Dependency
- merges dependencies (taken from newer RubyGems version)
- is equal to another dependency if `part_of_other_pod' is the same
- returns the name of the dependency, or the name of the pod of which this is a subspec
- returns a copy of the dependency but for the top level spec, if it's a subspec
- is equal to another dependency if `external_source' is the same
- is equal to another dependency if `specification' is equal
- raises if created without either valid name/version/external requirements or a block
Pod::Dependency defined with a block
- it identifies itself as an inline dependency
- attaches a custom spec to the dependency, configured by the block
Pod::Dependency with a hash of external source settings
- it identifies itself as an external dependency
Pod::Project
- adds a group to the `Pods' group
- creates a copy build header phase which will copy headers to a specified path
for the :ios platform
- adds a Debug and Release build configuration
- sets VALIDATE_PRODUCT to YES for the Release configuration
for the :ios platform with a deployment target
- sets ARCHS to 'armv6 armv7' for both configurations if the deployment target is less than 4.3
- uses standard ARCHs if deployment target is 4.3 or above
- sets IPHONEOS_DEPLOYMENT_TARGET for both configurations
Pod::Config
- returns the singleton config instance
- returns the path to the spec-repos dir
concerning a user's project, which is expected in the current working directory
- returns the path to the project root
- returns the path to the project Podfile if it exists
- returns the path to an existing podspec file if a Podfile doesn't exist
- returns the path to the Pods directory that holds the dependencies
concerning default settings
- prints out normal information
- does not print vebose information
- cleans SCM dirs in dependency checkouts
Pod::Downloader
- returns a git downloader with parsed options
- returns a github downloader when the :git URL is on github
Pod::Downloader::GitHub
- can convert public HTTP repository URLs to the tarball URL
- can convert private HTTP repository URLs to the tarball URL
- can convert private SSH repository URLs to the tarball URL
- can convert public git protocol repository URLs to the tarball URL
Pod::Source
- returns a specification set by name from any spec repo
- returns a specification set by top level spec name
- raises if a specification set can't be found
- raises if a subspec can't be found
A full (integration spec) installation for platform `ios'
- installs a Pod directly from its repo
- installs a library with a podspec outside of the repo
- installs a library with a podspec defined inline [ERROR: Errno::ENOENT]
- runs the optional post_install callback defined in the Podfile _before_ the project is saved to disk
- activates required pods and create a working static library xcode project
[!] Compiling static library...
- does not activate pods that are only part of other pods
- adds resources to the xcode copy script
- overwrites an existing project.pbxproj file
- creates a project with multiple targets
[!] Compiling static library `Pods'...
[!] Compiling static library `Pods-debug'...
[!] Compiling static library `Pods-test'...
- sets up an existing project with pods
- should prevent duplication cleaning headers symlinks with multiple targets
A full (integration spec) installation for platform `osx'
- runs the optional post_install callback defined in the Podfile _before_ the project is saved to disk
- activates required pods and create a working static library xcode project
[!] Compiling static library...
- adds resources to the xcode copy script
- overwrites an existing project.pbxproj file
- creates a project with multiple targets
[!] Compiling static library `Pods'...
[!] Compiling static library `Pods-debug'...
[!] Compiling static library `Pods-test'...
- sets up an existing project with pods
- should prevent duplication cleaning headers symlinks with multiple targets
Pod::Command
- returns the proper command class
Pod::Command::Setup
- complains about unknown arguments
- returns the URL of the `master' spec-repo
Pod::Command::Repo
- complains about unknown arguments
Pod::Command::Install
- tells the user that no Podfile or podspec was found in the current working dir
Pod::LocalPod
- returns the Pod root directory path
- creates it's own root directory if it doesn't exist
- can execute a block within the context of it's root
- can delete itself
- returns an expanded list of source files, relative to the sandbox root
- returns an expanded list of absolute clean paths
- returns an expanded list of resources, relative to the sandbox root
- returns a list of header files
- can clean up after itself
- can link it's headers into the sandbox
- can add it's source files to an Xcode project target
- can add it's source files to a target with any specially configured compiler flags
Pod::Sandbox
- automatically creates the TMP_POD_ROOT if it doesn't exist
- deletes the entire root directory on implode
- returns it's headers root
- can add namespaced headers to it's header path using symlinks and return the relative path
- can add multiple headers at once and return the relative symlink paths
- keeps a list of unique header search paths when headers are added
- always adds the Headers root to the header search paths
- clears out its headers root when preparing for install
A Pod::Specification loaded from a podspec
- returns that it's not loaded from a podfile
- returns the path to the podspec
- returns the directory where the pod should be checked out to
- returns the pod's name
- returns the pod's version
- returns a list of authors and their email addresses
- returns the pod's homepage
- returns the pod's summary
- returns the pod's description
- returns the pod's source
- returns the pod's source files
- returns the pod's dependencies
- returns the pod's xcconfig settings
- has a shortcut to add frameworks to the xcconfig
- has a shortcut to add libraries to the xcconfig
- returns that it's equal to another specification if the name and version are equal
- never equals when it's from a Podfile
- adds compiler flags if ARC is required
A Pod::Specification that's part of another pod's source
- adds a dependency on the other pod's source, but not the library
- adds a dependency on the other pod's source *and* the library
A Pod::Specification, with installed source,
- returns the list of files that the source_files pattern expand to
- returns the list of headers
- returns a hash of mappings from the pod's destroot to its header dirs, which by default is just the pod's header dir
- allows for customization of header mappings by overriding copy_header_mapping
- returns a hash of mappings with a custom header dir prefix
- returns the user header search paths
- returns the user header search paths with a custom header dir prefix
- returns the list of files that the resources pattern expand to
A Pod::Specification, in general,
- raises if the specification does not contain the minimum required attributes
- raises if the platform is unrecognized
- returns the platform that the static library should be build for
- returns the license of the Pod
- returns the license of the Pod specified in the old format
- returns the documentation of the Pod
- takes a list of paths to clean
- takes any object for clean_paths as long as it responds to #glob (we provide this for Rake::FileList)
A Pod::Specification subspec
- makes a parent spec a wrapper if it has no source files of its own
- returns the top level parent spec
- is named after the parent spec
- is a `part_of' the top level parent spec
- depends on the parent spec, if it is a subspec
- automatically forwards undefined attributes to the top level parent
- returns subspecs by name
A Pod::Specification with :local source
- is marked as local
- it returns the expanded local path
- returns the list of files that the source_files pattern expand to within the local path
- returns the list of headers that the source_files pattern expand to within the local path
Pod::Command
- creates the local spec-repos directory and creates a clone of the `master' repo
- adds a spec-repo
- updates a spec-repo
- updates all the spec-repos
- creates a new podspec stub file
- searches for a pod with name matching the given query ignoring case
- searches for a pod with name, summary, or description matching the given query ignoring case
Pod::Downloader
for Git
- check's out a specific commit
- check's out a specific tag
- removes the .git directory when cleaning
for Github repositories, with :download_only set to true
- downloads HEAD with no other options specified
- downloads a specific tag when specified
- downloads a specific commit when specified
- deletes the downloaded tarball after unpacking it
for Mercurial
- check's out a specific revision
- removes the .hg directory when cleaning
for Subversion
- check's out a specific revision
- check's out a specific tag
- removes the .svn directories when cleaning
Pod::Specification::Set
- returns the name of the pod
- returns the versions available for this pod ordered from highest to lowest
- checks if the dependency of the specification is compatible with existing requirements
- raises if the required version doesn't exist
- returns that this set is only part for other pods
- returns the version required for the dependency
- returns the path to the specification for the required version
- returns the specification for the required version
- returns that this set is not only part for other pods
- ignores dotfiles when getting the version directories
Pod::Generator::BridgeSupport
- generates a metadata file with the appropriate search paths
./spec/unit/target_installer_spec.rb:3: warning: already initialized constant TMP_POD_ROOT
Pod::Installer::TargetInstaller
- adds a new static library target to the project
- adds each pod to the static library target
- tells each pod to link its headers
- adds the sandbox header search paths to the xcconfig, with quotes
- adds the -fobjc-arc to OTHER_LDFLAGS if any pods require arc (to support non-ARC projects on iOS 4.0)
Pod::Podfile
- loads from a file
- assigns the platform attribute
- adds dependencies
- adds a dependency on a Pod repo outside of a spec repo (the repo is expected to contain a podspec)
- adds a dependency on a library outside of a spec repo (the repo does not need to contain a podspec)
- adds a dependency on a library by specifying the podspec inline
- specifies that BridgeSupport metadata should be generated
- stores a block that will be called with the Installer instance once installation is finished (but the project is not written to disk yet)
concerning targets (dependency groups)
- returns wether or not a target has any dependencies
- returns all dependencies of all targets combined, which is used during resolving to enusre compatible dependencies
- adds dependencies outside of any explicit target block to the default target
- adds dependencies of the outer target to non-exclusive targets
- does not add dependencies of the outer target to exclusive targets
- adds dependencies of the outer target to nested targets
concerning validations
- raises if no platform is specified
- raises if an invalid platform is specified
- raises if no dependencies were specified
Pod::ProjectIntegration
- creates a workspace with a name matching the project
- adds the project being integrated to the workspace
- adds the Pods project to the workspace
- adds the Pods xcconfig file to the project
- sets the Pods xcconfig as the base config for each build configuration
- adds a reference to the libPods static library
- adds the libPods static library to the "Link binary with libraries" build phase of each target
- adds a Copy Pods Resources build phase to each target
Pod::Resolver
- holds the context state, such as cached specification sets
- returns all specs needed for the dependency
- does not raise if all dependencies match the platform of the root spec (Podfile)
- raises once any of the dependencies does not match the platform of the root spec (Podfile)
- resolves subspecs
Pod::Platform
- exposes it's symbolic name
- can be compared for equality with another platform with the same symbolic name
- can be compared for equality with a matching symbolic name (backwards compatibility reasons)
- uses it's name as it's string version
- uses it's name as it's symbold version
Pod::Platform with a nil value
- behaves like a nil object
Errno::ENOENT: No such file or directory - /Users/fabio/Documents/GitHub/CocoaPods/tmp/Pods/JSONKit/CHANGELOG.md
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/pathname.rb:763:in `read': A full (integration spec) installation for platform `ios' - installs a library with a podspec defined inline
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/pathname.rb:763:in `read'
./spec/integration_spec.rb:126
/Library/Ruby/Gems/1.8/gems/mocha-on-bacon-0.2.0/lib/mocha-on-bacon.rb:57:in `call'
/Library/Ruby/Gems/1.8/gems/mocha-on-bacon-0.2.0/lib/mocha-on-bacon.rb:57:in `it'
/Library/Ruby/Gems/1.8/gems/mocha-on-bacon-0.2.0/lib/mocha-on-bacon.rb:54:in `it'
./spec/integration_spec.rb:101
./spec/integration_spec.rb:31
./spec/integration_spec.rb:30:in `each'
./spec/integration_spec.rb:30
201 specifications (376 requirements), 0 failures, 1 errors
rake aborted!
Command failed with status (1): [bacon spec/unit/installer_spec.rb spec/uni...]
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `create_shell_runner'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `sh'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `sh'
/Users/fabio/Documents/GitHub/CocoaPods/Rakefile:79
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `invoke_prerequisites'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `invoke_with_call_chain'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/bin/rake:33
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
Tasks: TOP => spec => spec:all
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment