swiftlang/swift-package-manager

[SR-4385] Enable SPM to describe which packages are edited

Open

#5 057 ouverte le 28 mars 2017

Voir sur GitHub
 (4 commentaires) (0 réactions) (0 assignés)Swift (1 462 forks)batch import
enhancementgood first issue

Métriques du dépôt

Stars
 (10 145 stars)
Métriques de merge PR
 (Merge moyen 9j 13h) (90 PRs mergées en 30 j)

Description

Previous ID SR-4385
Radar None
Original Reporter djones6 (JIRA User)
Type New Feature
Votes 0
Component/s Package Manager
Labels New Feature, StarterBug
Assignee None
Priority Medium

md5: cd414a7c57207ae4a22460897a82f609

Issue Description:

As of Swift 3.1, if I put a package into editable mode, the source for that package ends up in Packages/ and so it is easy to see which packages are currently considered 'edited'.

However, this isn't so easy when combined with the --build-path option. For example:

swift package --build-path=build1 fetch
swift package --build-path=build1 edit <package> --revision master
swift package --build-path=build2 fetch

...results in build1 using the source in Packages/<package> but build2 does not.

The existing command show-dependencies gives clues as to which packages are being edited - in the example above, a package would be shown as <package>.git@unspecified in build1 but a tagged version in build 2.

It would be useful to have a way to definitively list which sources are being used to build a given build directory.

This is particularly the case as of SE-0149 because a package could be linked to source elsewhere via --path. For convenience, a symlink is placed in Packages/ but if multiple builds used a different path for the same dependency, the link would only reflect the state of one of those builds.

Guide contributeur