Skip to content

[Feature] Support Symbolic Links for Derived Data Directories#172

Merged
FelixHerrmann merged 1 commit into
FelixHerrmann:masterfrom
granoff:support-symbolic-links-for-relocated-derived-data
Feb 7, 2026
Merged

[Feature] Support Symbolic Links for Derived Data Directories#172
FelixHerrmann merged 1 commit into
FelixHerrmann:masterfrom
granoff:support-symbolic-links-for-relocated-derived-data

Conversation

@granoff
Copy link
Copy Markdown
Contributor

@granoff granoff commented Jan 26, 2026

For users who may have moved their DerivedData directories to a removable drive, if a symlink to that relocated directory is placed inside ~/Library/Developer/Xcode, this change allows the tool to "just work" without the user needing to use the --custom-dervied-data-path command option (a nice option, but more complexity for scripts and such).

@FelixHerrmann
Copy link
Copy Markdown
Owner

Hey @granoff, apologize the delay here. I think symlinking Derived Data is not recommended nowadays but I'm fine getting this change in because it might still be utilized.

@FelixHerrmann FelixHerrmann changed the title Follow sym links for derived data directories [Feature] Support Symbolic Links for Derived Data Directories Feb 7, 2026
@FelixHerrmann FelixHerrmann merged commit 082db22 into FelixHerrmann:master Feb 7, 2026
14 checks passed
@granoff
Copy link
Copy Markdown
Contributor Author

granoff commented Feb 8, 2026

Thanks, Felix! My use case was actually to make this utility easier to use when you've moved, through Xcode settings the DerivedData directory. By placing a symlink to your new location in ~/Library... the tools works "by default" without having to redirect with a command line option. It's a convenience, sure. But for situations where this tool is used in a larger CI workflow, the nuance of the special directory handling is one less thing to worry about. :-) Thanks for merging!

@FelixHerrmann
Copy link
Copy Markdown
Owner

Interesting, I'll have this in mind for future development of this project; another information that is not bound to the project itself but to the environment where the project is build in.

BTW, the SPM plugin does not have this problem at all because we utilize the plugin work directory (within DerivedData) as the starting point to traverse up to the SourcePackages directory:
https://github.com/FelixHerrmann/swift-package-list/blob/master/Plugins/SwiftPackageListPlugin/SwiftPackageListPlugin.swift#L57-L67

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants