today I’ve upgraded from 4.27.0 to 4.34.3. The first issue is about duplicate symbols. I have not changed anything in the project description. On 4.27.0 everything was working fine, then on 4.34.3 we’re getting duplicate symbols, suddenly. I’ve managed to get a small example project to reproduce the steps: GitHub - plu/tuist-adjust-duplicate-symbols
While working on the small example project I’ve noticed some really odd behaviour. Sometimes it takes two attempts to reproduce the issue on 4.34.3. And sometimes, after reproducing it on 4.34.3 and then going back to 4.27.0, it’s also reproducible there. But again, if you retry twice on 4.27.0, the problem disappears again.
On the Kleinanzeigen project I’ve never had this issue on 4.27.0. It only popped up today after the upgrade.
The 2nd issue is about tuist inspect implicit-imports - I still need to come up with a small example project to reproduce it.
I can reproduce the issue, but it doesn’t seem to happen with the latest version of the Adjust SDK. Is it possible for you to upgrade? I can take a look at what has changed, but it might take us a bit longer to fix. If it’s not possible, can you create a GitHub issue and attach the repro and we’ll prioritize it?
The 2nd issue is about tuist inspect implicit-imports - I still need to come up with a small example project to reproduce it.
thank you for getting back to me in lightning speed
I’ll check with the team if we can simply bump Adjust to the latest version. Also happy to hear that there’s already a PR that addresses the other issue!
In plugin/Criteo they symlink to Adjust. And in the package manifest they exclude it again:
exclude: ["Adjust"]
I guess this exclude statement is something that Tuist doesn’t support yet. I see all files in Adjust/ being added to the Criteo target. This causes duplicate symbols.
A workaround is to fork the Adjust SDK and modify the package manifest and directory layout to avoid the dependency on Tuist supporting the exclude: [...] statement.
Our workaround is to symlink everything from Criteo into the Adjust target, and extend its umbrella header. Then we have a dependency to the Adjust target, instead of Criteo.