swiftlang/swift-package-manager

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

Open

#5.057 aberto em 28 de mar. de 2017

Ver no GitHub
 (4 comments) (0 reactions) (0 assignees)Swift (1.462 forks)batch import
enhancementgood first issue

Métricas do repositório

Stars
 (10.145 stars)
Métricas de merge de PR
 (Mesclagem média 9d 13h) (90 fundiu PRs em 30d)

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.

Guia do colaborador