-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi-project dependencies in Xcode #504
Conversation
@advayDev1 - this still needs some more work but this is close enough to be worth getting your feedback. |
@@ -18,6 +18,7 @@ Paste the results below, replacing existing contents. | |||
- [How do I develop with Xcode?](#how-do-i-develop-with-xcode) | |||
- [How can I speed up my build?](#how-can-i-speed-up-my-build) | |||
- [What libraries are linked by default?](#what-libraries-are-linked-by-default) | |||
- [What should I add to .gitignore?](what-should-i-add-to-gitignore) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs a hashtag
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
cool. 2 main comments, rest are minor:
I assume you're going to take a look at your logs as well before this is ready. |
Thanks. I'll take a look at this tomorrow. What did you mean by "look at my logs"? On Fri, Oct 9, 2015 at 11:14 PM Advay Mengle [email protected]
|
logs: you added a number of logger.error and .warns that should probably be deleted. |
@advayDev1 - PTAL. I've addressed the first major issue of using the j2objcLinkage / NativeCompilation. There's a lot of refactoring there which has put it in to a much better place. Still need to test out if no-package-dependencies is really needed. Also, please mark any logger statements that I should remove. Just look at the second commit to make it more manageable for you. |
P.S. The podspec paths are now relative rather than absolute, so no more 'brunobowden' in that file. I believe that the other 'brunobowden' mentions in the Xcode project may be unavoidable. |
c7baa3a
to
3f0400f
Compare
The 'brunobowden' mentions are completely removed. I'm still having an issue with --no-package-dependencies. I can get the j2objc builds to work. When doing the import in Xcode, it appears that CocoaPods flattens all the header includes. So doing an import of "com/example/Cube.h" fails as it has to look for "Cube.h" instead. My suggestion is to merge the PR as it stands, then work separately on this issue. Are you ok with that? If so, then do a final pass through the changes and give me an LGTM. Here's an example of the Header directory as it's copied over to Pods:
|
List<Project> getBeforeProjects() { | ||
return nativeCompilation.beforeProjects | ||
} | ||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
newline
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
String libName = "${project.name}-j2objc" | ||
|
||
// podspec creation | ||
// TODO: allow custom list of libraries |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also add a Todo for handling the OSX (x86_64) directories.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added TODO
@brunobowden - the only important thing i'd like to still understand is what you are doing with the DO NOT COMMITs. re: --no-package-directories, I guess this PR can sustain that, but I don't think we can release 0.5 until that is resolved. |
This should now be ready to go.
Main thing I'd like feedback on is the dependency changes. I noticed that j2objcPodspec wasn't being built. Curiously, j2objcBuild also doesn't depend on the j2objcAssembleResources tasks, so that was being missed too. I've changed j2objcAssemble{Debug|Release} to depend on j2objcAssembleResources, which in turn depends on j2objcPodspec. You could argue that the podspec is a 'resource to be assembled'. I'm not completely comfortable with that description but it appears the best with the existing dependencies. |
LGTM if 1 and 2 are good. |
oh you might want to add 'Handling of multi-project dependencies in Cocoa Pods' to the Changelog |
Multi-project dependencies in Xcode - j2objcXcode finds all podspecs in dependency tree and applies them to Podfile - “podFile” => “podfile” to match CocoaPods documentation - .gitignore the Pods directory for CocoaPods PodspecTask - j2objcPodspec separated from j2objcXcode to create podspec - j2objcAssemble{Debug|Release} now depends on j2objcAssembleResources - j2objcResources now depends on j2objcPodspec - Podfile podspec paths are now relative instead of absolute - Podspec headers moved from public_header_files => HEADER_SEARCH_PATHS multiProject1 test - Rename projects and workspace to match FAQ example - Project with two targets: IOS-APP and IOS-APPTests Other Changes: - FAQ: Add .gitignore entry, revise folder structure - Condense warnings on unclean git and SNAPSHOT build - Clean up a few redundant imports - Copyright notices for Xcode project Fixes j2objc-contrib#432 - Xcode podspec dependencies Fixes j2objc-contrib#502 - Split j2objcPodspec task from j2objcXcode task
Given the complexity involved, I'll wait for all the checks to pass before merging. |
Multi-project dependencies in Xcode
Multi-project dependencies in Xcode
PodspecTask
multiProject1 test
Other Changes:
Fixes #432 - Xcode podspec dependencies
Fixes #502 - Split j2objcPodspec task from j2objcXcode task