A podspec I maintain fails to lint in Cocoapods 1.0.x but lints fine in cocoapods-0.39.0
Last login: Thu Aug 4 17:35:00 on ttys000
Moorea:Sprout levi$ pod trunk push Sprout.podspec
Updating spec repo `master`
CocoaPods 1.1.0.beta.1 is available.
To update use: `sudo gem install cocoapods --pre`
[!] This is a test version we'd love you to try.
For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.1.0.beta.1
Validating podspec
-> Sprout (2.2)
- ERROR | [iOS] unknown: Encountered an unknown error ([!] /Applications/Xcode.app/Contents/Developer/usr/bin/git clone https://github.com/levigroker/Sprout.git /var/folders/7b/mh8q849d64sc6r07cypfg_mh0000gn/T/d20160804-13388-17vg51v --template= --single-branch --depth 1 --branch 2.2
Cloning into '/var/folders/7b/mh8q849d64sc6r07cypfg_mh0000gn/T/d20160804-13388-17vg51v'...
warning: Could not find remote branch 2.2 to clone.
fatal: Remote branch 2.2 not found in upstream origin
) during validation.
[!] The spec did not pass validation, due to 1 error.
Moorea:Sprout levi$ pod trunk push Sprout.podspec
Updating spec repo `master`
CocoaPods 1.1.0.beta.1 is available.
To update use: `sudo gem install cocoapods --pre`
[!] This is a test version we'd love you to try.
For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.1.0.beta.1
Validating podspec
-> Sprout (2.2)
- ERROR | xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/CrashlyticsLogger.h:20:9: error: include of non-modular header inside framework module 'Sprout.CrashlyticsLogger' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:60:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:61:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:62:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/SproutDDLogAdditions.h:25:9: error: include of non-modular header inside framework module 'Sprout.SproutDDLogAdditions' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/SproutCustomLogFormatter.h:19:9: error: include of non-modular header inside framework module 'Sprout.SproutCustomLogFormatter' [-Werror,-Wnon-modular-include-in-framework-module]
- NOTE | xcodebuild: /var/folders/7b/mh8q849d64sc6r07cypfg_mh0000gn/T/CocoaPods/Lint/App/main.m:3:9: fatal error: could not build module 'Sprout'
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/CrashlyticsLogger.h:20:9: error: include of non-modular header inside framework module 'Sprout.CrashlyticsLogger' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:60:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:61:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:62:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/SproutDDLogAdditions.h:25:9: error: include of non-modular header inside framework module 'Sprout.SproutDDLogAdditions' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/SproutCustomLogFormatter.h:19:9: error: include of non-modular header inside framework module 'Sprout.SproutCustomLogFormatter' [-Werror,-Wnon-modular-include-in-framework-module]
[!] The spec did not pass validation, due to 13 errors.
Moorea:Sprout levi$ pod --version
1.0.0
Moorea:Sprout levi$ rm -rf /Users/levi/Library/Developer/Xcode/DerivedData/*
rm: /Users/levi/Library/Developer/Xcode/DerivedData/ModuleCache/V1OYP09BBM8S: Directory not empty
rm: /Users/levi/Library/Developer/Xcode/DerivedData/ModuleCache: Directory not empty
Moorea:Sprout levi$ pod spec lint Sprout.podspec
-> Sprout (2.2)
- ERROR | xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/CrashlyticsLogger.h:20:9: error: include of non-modular header inside framework module 'Sprout.CrashlyticsLogger' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:60:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:61:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:62:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/SproutDDLogAdditions.h:25:9: error: include of non-modular header inside framework module 'Sprout.SproutDDLogAdditions' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/SproutCustomLogFormatter.h:19:9: error: include of non-modular header inside framework module 'Sprout.SproutCustomLogFormatter' [-Werror,-Wnon-modular-include-in-framework-module]
- NOTE | xcodebuild: /var/folders/7b/mh8q849d64sc6r07cypfg_mh0000gn/T/CocoaPods/Lint/App/main.m:3:9: fatal error: could not build module 'Sprout'
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/CrashlyticsLogger.h:20:9: error: include of non-modular header inside framework module 'Sprout.CrashlyticsLogger' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:60:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:61:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:62:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/SproutDDLogAdditions.h:25:9: error: include of non-modular header inside framework module 'Sprout.SproutDDLogAdditions' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/SproutCustomLogFormatter.h:19:9: error: include of non-modular header inside framework module 'Sprout.SproutCustomLogFormatter' [-Werror,-Wnon-modular-include-in-framework-module]
Analyzed 1 podspec.
[!] The spec did not pass validation, due to 13 errors.
Moorea:Sprout levi$ sudo gem pod uninstall
Select gem to uninstall:
1. cocoapods-0.35.0
2. cocoapods-0.37.2
3. cocoapods-0.38.2
4. cocoapods-0.39.0
5. cocoapods-1.0.0
6. All versions
> 5
Successfully uninstalled cocoapods-1.0.0
Moorea:Sprout levi$ pod spec lint Sprout.podspec
[!] Unable to load a specification for the plugin `/Library/Ruby/Gems/2.0.0/gems/cocoapods-deintegrate-1.0.0`
[!] Unable to load a specification for the plugin `/Library/Ruby/Gems/2.0.0/gems/cocoapods-deintegrate-1.0.0`
-> Sprout (2.2)
- NOTE | xcodebuild: warning: hash mismatch: this object file was built against a different version of the module /var/folders/7b/mh8q849d64sc6r07cypfg_mh0000gn/C/org.llvm.clang.levi/ModuleCache/27DVWF511LH76/Cocoa-24L2Q5B8ONJG4.pcm
Analyzed 1 podspec.
Sprout.podspec passed validation.
Moorea:Sprout levi$ pod trunk push Sprout.podspec
Updating spec repo `master`
CocoaPods 1.1.0.beta.1 is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try.
For more information see http://blog.cocoapods.org
and the CHANGELOG for this version http://git.io/BaH8pQ.
Validating podspec
[!] Unable to load a specification for the plugin `/Library/Ruby/Gems/2.0.0/gems/cocoapods-deintegrate-1.0.0`
[!] Unable to load a specification for the plugin `/Library/Ruby/Gems/2.0.0/gems/cocoapods-deintegrate-1.0.0`
-> Sprout (2.2)
Updating spec repo `master`
CocoaPods 1.1.0.beta.1 is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try.
For more information see http://blog.cocoapods.org
and the CHANGELOG for this version http://git.io/BaH8pQ.
- Data URL: https://raw.githubusercontent.com/CocoaPods/Specs/1085cd8132709998fd1239c4c05f9eff6c9964ae/Specs/Sprout/2.2/Sprout.podspec.json
- Log messages:
- August 5th, 10:03: Push for `Sprout 2.2' initiated.
- August 5th, 10:03: Push for `Sprout 2.2' has been pushed (0.383774194 s).
Moorea:Sprout levi$ sudo gem install cocoapods
Fetching: cocoapods-core-1.0.1.gem (100%)
Successfully installed cocoapods-core-1.0.1
Fetching: xcodeproj-1.2.0.gem (100%)
Successfully installed xcodeproj-1.2.0
Fetching: cocoapods-1.0.1.gem (100%)
Successfully installed cocoapods-1.0.1
Fetching: concurrent-ruby-1.0.2.gem (100%)
Successfully installed concurrent-ruby-1.0.2
Parsing documentation for cocoapods-core-1.0.1
Installing ri documentation for cocoapods-core-1.0.1
Parsing documentation for xcodeproj-1.2.0
Installing ri documentation for xcodeproj-1.2.0
Parsing documentation for cocoapods-1.0.1
Installing ri documentation for cocoapods-1.0.1
Parsing documentation for concurrent-ruby-1.0.2
Installing ri documentation for concurrent-ruby-1.0.2
4 gems installed
Moorea:Sprout levi$ pod spec lint Sprout.podspec
-> Sprout (2.2)
- ERROR | xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/CrashlyticsLogger.h:20:9: error: include of non-modular header inside framework module 'Sprout.CrashlyticsLogger' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:60:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:61:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/Sprout.h:62:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/SproutDDLogAdditions.h:25:9: error: include of non-modular header inside framework module 'Sprout.SproutDDLogAdditions' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release-iphonesimulator/Sprout/Sprout.framework/Headers/SproutCustomLogFormatter.h:19:9: error: include of non-modular header inside framework module 'Sprout.SproutCustomLogFormatter' [-Werror,-Wnon-modular-include-in-framework-module]
- NOTE | xcodebuild: /var/folders/7b/mh8q849d64sc6r07cypfg_mh0000gn/T/CocoaPods/Lint/App/main.m:3:9: fatal error: could not build module 'Sprout'
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/CrashlyticsLogger.h:20:9: error: include of non-modular header inside framework module 'Sprout.CrashlyticsLogger' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:60:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:61:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/Sprout.h:62:9: error: include of non-modular header inside framework module 'Sprout.Sprout' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/SproutDDLogAdditions.h:25:9: error: include of non-modular header inside framework module 'Sprout.SproutDDLogAdditions' [-Werror,-Wnon-modular-include-in-framework-module]
- ERROR | [OSX] xcodebuild: /Users/levi/Library/Developer/Xcode/DerivedData/App-excebmuyqknxyvbxezyzjowjflro/Build/Products/Release/Sprout/Sprout.framework/Headers/SproutCustomLogFormatter.h:19:9: error: include of non-modular header inside framework module 'Sprout.SproutCustomLogFormatter' [-Werror,-Wnon-modular-include-in-framework-module]
Analyzed 1 podspec.
[!] The spec did not pass validation, due to 13 errors.
Moorea:Sprout levi$ pod --version
1.0.1
Moorea:Sprout levi$
Linting and trunk push to succeed in Cocoapods 1.0.x
Listing failed with many errors with include of non-modular header inside framework module
CocoaPods : 1.0.1
Ruby : ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
RubyGems : 2.0.14.1
Host : Mac OS X 10.11.6 (15G31)
Xcode : 7.3 (7D175)
Git : git version 2.8.1
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
Repositories : coradinepodspecs - [email protected]:coradine/coradinepodspecs.git @ 9208f41bfe97a1812393d5216ceabd44d21f3b5a
master - https://github.com/CocoaPods/Specs.git @ 1085cd8132709998fd1239c4c05f9eff6c9964ae
Executable Path: /usr/local/bin/pod
cocoapods-deintegrate : 1.0.0
cocoapods-plugins : 1.0.0
cocoapods-search : 1.0.0
cocoapods-stats : 1.0.0
cocoapods-trunk : 1.0.0
cocoapods-try : 1.0.0
I have a similar issue. We have a private spec repo and now that we created our first Swift pod I get the same errors.
The error seems to be caused when including headers of dependency pods.
Pod A has pods B, C and D defined as dependencies in the pod spec file, where D is a Swift pod. We previously linted with --use-libraries. Now with Swift this is not possible any more and linting fails.
This is likely a legitimate issue with your Pods build settings under 1.0, as we changed a fair bit of how search paths were set up
@segiddins Thanks for the reply... could you be more specific as to what issue you expect is causing this and suggest solutions/workarounds? I've poured over the podspec docs and do not see anything I'm doing incorrectly.
@levigroker You are using non-modular imports (#import "DDLog.h"
) for dependencies. You need to switch these to modular imports (#import <CocoaLumberjack/DDLog.h>
).
Thanks... I'll give it a try asap.
Hi @DanToml, Thanks. Referencing the headers as Framework headers does seem to address this for me.
Cheers,
Levi
@levigroker Great!
Most helpful comment
@levigroker You are using non-modular imports (
#import "DDLog.h"
) for dependencies. You need to switch these to modular imports (#import <CocoaLumberjack/DDLog.h>
).