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
Add support for defining PRODUCT_NAME
in the manifest
#435
Conversation
3b0a960
to
958e4d2
Compare
Generated by π« Danger |
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.
π
I was testing out fixtures/ios_app_with_frameworks
- attempting to build the App, Xcode didn't build the dependencies oddly, I had to manually building each framework individually - couldn't spot the issue just yet, will take another look.
Ah, I must have missed that as my build system is set to legacy - I see the problem when switching to the new build system. I will check the build product references there's likely one broken somewhere (using target name rather than product name). |
@kwridan So it turns out there was a bug. Previously the products were store in a dictionary Interestingly enough the Legacy build system still worked which is why I didn't see it originally, the new build system complained. Thanks for raising the issue! |
Codecov Report
@@ Coverage Diff @@
## master #435 +/- ##
==========================================
+ Coverage 92.19% 92.28% +0.08%
==========================================
Files 316 316
Lines 15891 15949 +58
==========================================
+ Hits 14651 14718 +67
+ Misses 1240 1231 -9
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #435 +/- ##
==========================================
+ Coverage 92.19% 92.21% +0.01%
==========================================
Files 316 316
Lines 15891 15921 +30
==========================================
+ Hits 14651 14681 +30
Misses 1240 1240
Continue to review full report at Codecov.
|
7a4bc41
to
be27efa
Compare
β¦ architechtures when linking
fea9f62
to
1f6b89a
Compare
Updated The problem arises when the new product name to support two targets, it will look at all targets inside a manifest and embed frameworks from each target. This caused a problem when trying to support multiple platforms in one manifest. |
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.
Great work putting this together! π
Few comments / questions :) let me know if I can help with any of them.
Tests/TuistGeneratorTests/Generator/BuildPhaseGeneratorTests.swift
Outdated
Show resolved
Hide resolved
fixtures/ios_app_with_transitive_framework/Framework1/Sources/Framework1File.swift
Outdated
Show resolved
Hide resolved
β¦from a single embed phase
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.
π
XCTAssertTrue(got.contains(LintingIssue(reason: reason, severity: .error))) | ||
} | ||
|
||
let XCTAssertValidProductName: (String) -> Void = { bundleId in |
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.
π
Short description π
Specifying the product name will allow you to have a different target and product name. This is particularly useful when you want to support different versions of the same product. E.g. different platforms.
Solution π¦
Expose
productName
in the manifest.Implementation π©βπ»π¨βπ»
productName
to manifestTuistGenerator
to use new variableTest Plan π
fixtures/ios_app_with_frameworks
viatuist generate
optional: