Navigation Menu

Skip to content
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

[SR-14259] Compatibility with Windows Symlink #4447

Closed
stevapple opened this issue Feb 19, 2021 · 4 comments
Closed

[SR-14259] Compatibility with Windows Symlink #4447

stevapple opened this issue Feb 19, 2021 · 4 comments
Assignees
Labels

Comments

@stevapple
Copy link
Contributor

Previous ID SR-14259
Radar None
Original Reporter @stevapple
Type Bug
Status Resolved
Resolution Done
Environment

Windows

Additional Detail from JIRA
Votes 1
Component/s Package Manager
Labels Bug, windows
Assignee @stevapple
Priority Medium

md5: 5f8d10e712d19459b1bf4dfce123e6a7

Issue Description:

Swift Package Manager cannot handle Unix symlinks on Windows. We need to either implement *nix symlink support on Windows or enable the conversion between the two styles.

@compnerd
Copy link
Collaborator

How do you intend to implement Unix symlink support on Windows? There is symbolic link support on Windows, but it is a restricted feature requiring a GPO application to enable it for the user.

@swift-ci
Copy link
Contributor

Comment by Stefan Springer (JIRA)

@compnerd: I do not know enough to tell if it is really "necessary" for the SPM to use symbolic links, but at least it should be noted on the [Getting Started|https://swift.org/getting-started/)] page that the user needs "special" privileges to use the SPM on Windows, e.g. with a text like the following:

The Swift Package Manager (SPM) uses symbolic links so you need the SeCreateSymbolicLinkPrivilege privilege to use the SPM on Windows. You could gain this privilege by activating the Developer Mode on Windows (in the Windows settings, search "Developer" to find the according setting). Note that it is possible that the domain policy is overriding the local policy you set.

@swift-ci
Copy link
Contributor

Comment by Stefan Springer (JIRA)

@compnerd: Turns out SeCreateSymbolicLinkPrivilege is not set in Developer mode, but it "circumvents" ist, cf. [Creating Symbolic Links in Windows 10](https://decoder.cloud/2019/01/04/creating-symbolic-links-in-windows-10/), so a better text could be:

The Swift Package Manager (SPM) uses symbolic links so you need the SeCreateSymbolicLinkPrivilege privilege to use the SPM on Windows. You could instead activate the Developer Mode on Windows (in the Windows settings, search "Developer" to find the according setting). According to [Enable your device for development](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development), Microsoft recommends the Developer Mode for software development. Note that it is possible that the domain policy is overriding the local policy you set.

@stevapple
Copy link
Contributor Author

Solved by apple/swift-package-manager#3406

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@shahmishal shahmishal transferred this issue from apple/swift May 4, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants