[swift-users] repo questions when using example-package-dealer
Dave Yost
Dave at Yost.com
Thu Jun 30 02:10:14 CDT 2016
Cloning these example-package-* repos and then filing pull requests for them is problematic because the github username “apple” is burned into the dependency urls in the Package.swift files.
It would be good if these packages would take a build-time argument for the github username, defaulting to “apple”. I thought this would do it, but it doesn’t work:
import Foundation
let githubUserVarName = "GITHUB_USER"
let env = ProcessInfo.processInfo().environment
let githubUser = env[githubUserVarName] ?? "apple"
print("env[\"\(githubUserVarName)\"] is \(env[githubUserVarName])")
import PackageDescription
let package = Package(
name: "Dealer",
dependencies: [
.Package(url: "https://github.com/\(githubUser)/example-package-deckofplayingcards.git", majorVersion: 1),
]
)
/*
This source file is part of the Swift.org open source project
Copyright 2015 Apple Inc. and the Swift project authors
Licensed under Apache License v2.0 with Runtime Library Exception
See http://swift.org/LICENSE.txt for license information
See http://swift.org/CONTRIBUTORS.txt for Swift project authors
*/
and then invoke like this:
GITHUB_USER=daveyostcom swift build
but for some reason only a few environment variables are visible in the env dictionary. The GITHUB_USER environment variable is not among them.
Seems like a bug against “swift build”. Yes?
> On 2016-06-29, at 11:26 PM, Daniel Dunbar <daniel_dunbar at apple.com> wrote:
>
> I wouldn't say they are "unclean", but they have not been retagged after the latest commits to them, and you are right they probably should be. Feel free to file a bug on this at http://bugs.swift.org <http://bugs.swift.org/>.
Done.
>
> - Daniel
>
>> On Jun 29, 2016, at 11:25 PM, Dave Yost <Dave at Yost.com <mailto:Dave at yost.com>> wrote:
>>
>> Dumb questions:
>>
>> These repos are not clean, tho, right? The head should be tagged with a version number, right?
>>
>>> On 2016-06-29, at 7:56 PM, Daniel Dunbar <daniel_dunbar at apple.com <mailto:daniel_dunbar at apple.com>> wrote:
>>>
>>> FYI, some of our planned workflow improvements here are covered by:
>>> https://github.com/apple/swift-evolution/blob/master/proposals/0082-swiftpm-package-edit.md <https://github.com/apple/swift-evolution/blob/master/proposals/0082-swiftpm-package-edit.md>
>>>
>>> - Daniel
>>>
>>>> On Jun 29, 2016, at 7:11 PM, Hugo Hennies via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>>>>
>>>> The swift package manager uses git tags to resolve the commit it’s going to get. So if you want to make your changes available to the package manager, you must tag your latest commit with a semantic versioning number (1.0.3 for instance) and explicitly put that as the version you want to fetch in your Package.swift file.
>>>>
>>>> You can find more information on the swift project website
>>>> https://swift.org/package-manager/ <https://swift.org/package-manager/>
>>>>
>>>> —H
>>>>
>>>>> On Jun 29, 2016, at 10:43 PM, Dave Yost via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>>>>>
>>>>> Following the example here:
>>>>> https://swift.org/package-manager/#conceptual-overview <https://swift.org/package-manager/#conceptual-overview>
>>>>>
>>>>> When I do “swift build”, as expected the dependencies are downloaded into the Packages/ subfolder. I expect them to all be up to date, but they are all behind their origin/master repos. Why?
>>>>>
>>>>> This is really a problem when I clone theses 4 projects and modify the dependencies to point to my clones. When I do that, the DeckOfPlayingCards project doesn’t download with my changes.
>>>>>
>>>>> 0 Wed 18:30:30 yost DaveBook ~/p/swift
>>>>> 421 Z% git clone git at github.com:apple/example-package-dealer.git
>>>>> Cloning into 'example-package-dealer'...
>>>>> remote: Counting objects: 21, done.
>>>>> remote: Total 21 (delta 0), reused 0 (delta 0), pack-reused 21
>>>>> Receiving objects: 100% (21/21), 7.03 KiB | 0 bytes/s, done.
>>>>> Resolving deltas: 100% (8/8), done.
>>>>> Checking connectivity... done.
>>>>> 0 Wed 18:30:40 yost DaveBook ~/p/swift
>>>>> 422 Z% cd example-package-dealer
>>>>> 0 Wed 18:30:42 yost DaveBook ~/p/swift/example-package-dealer
>>>>> 423 Z% swift build
>>>>> Cloning https://github.com/apple/example-package-deckofplayingcards.git <https://github.com/apple/example-package-deckofplayingcards.git>
>>>>> HEAD is now at 0879cff Merge pull request #1 from kostiakoval/master
>>>>> Resolved version: 1.0.4
>>>>> Cloning https://github.com/apple/example-package-fisheryates.git <https://github.com/apple/example-package-fisheryates.git>
>>>>> HEAD is now at d3752ab Merge pull request #5 from contraultra/random-for-all
>>>>> Resolved version: 1.1.0
>>>>> Cloning https://github.com/apple/example-package-playingcard.git <https://github.com/apple/example-package-playingcard.git>
>>>>> HEAD is now at 7986c83 Remove: `targets: []`
>>>>> Resolved version: 1.0.1
>>>>> Compile Swift Module 'FisherYates' (2 sources)
>>>>> Compile Swift Module 'PlayingCard' (3 sources)
>>>>> Compile Swift Module 'DeckOfPlayingCards' (1 sources)
>>>>> Compile Swift Module 'Dealer' (1 sources)
>>>>> Linking .build/debug/Dealer
>>>>> 0 Wed 18:30:52 yost DaveBook ~/p/swift/example-package-dealer
>>>>> 424 Z% .build/debug/Dealer
>>>>> ♣︎7
>>>>> ♢A
>>>>> ♡A
>>>>> ♠︎Q
>>>>> ♣︎5
>>>>> ♢6
>>>>> ♣︎8
>>>>> ♢8
>>>>> ♢Q
>>>>> ♣︎4
>>>>> 0 Wed 18:30:59 yost DaveBook ~/p/swift/example-package-dealer
>>>>> 425 Z% cd Packages/PlayingCard-1.0.1
>>>>> 0 Wed 18:31:28 yost DaveBook ~/p/swift/example-package-dealer/Packages/PlayingCard-1.0.1
>>>>> 430 Z% git status
>>>>> On branch 1.0.1
>>>>> Your branch is behind 'origin/master' by 4 commits, and can be fast-forwarded.
>>>>> (use "git pull" to update your local branch)
>>>>> nothing to commit, working directory clean
>>>>> 0 Wed 18:31:31 yost DaveBook ~/p/swift/example-package-dealer/Packages/PlayingCard-1.0.1
>>>>> 431 Z% git remote -v
>>>>> origin https://github.com/apple/example-package-playingcard.git <https://github.com/apple/example-package-playingcard.git> (fetch)
>>>>> origin https://github.com/apple/example-package-playingcard.git <https://github.com/apple/example-package-playingcard.git> (push)
>>>>> 0 Wed 18:35:57 yost DaveBook ~/p/swift/example-package-dealer/Packages/PlayingCard-1.0.1
>>>>> 432 Z% cd ../FisherYates-1.1.0
>>>>> 0 Wed 18:36:19 yost DaveBook ~/p/swift/example-package-dealer/Packages/FisherYates-1.1.0
>>>>> 433 Z% git status
>>>>> On branch 1.1.0
>>>>> Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
>>>>> (use "git pull" to update your local branch)
>>>>> nothing to commit, working directory clean
>>>>> 0 Wed 18:36:20 yost DaveBook ~/p/swift/example-package-dealer/Packages/FisherYates-1.1.0
>>>>> 434 Z% git remote -v
>>>>> origin https://github.com/apple/example-package-fisheryates.git <https://github.com/apple/example-package-fisheryates.git> (fetch)
>>>>> origin https://github.com/apple/example-package-fisheryates.git <https://github.com/apple/example-package-fisheryates.git> (push)
>>>>> 0 Wed 18:36:23 yost DaveBook ~/p/swift/example-package-dealer/Packages/FisherYates-1.1.0
>>>>> 435 Z% cd ../DeckOfPlayingCards-1.0.4
>>>>> 0 Wed 18:36:46 yost DaveBook ~/p/swift/example-package-dealer/Packages/DeckOfPlayingCards-1.0.4
>>>>> 436 Z% git status
>>>>> On branch 1.0.4
>>>>> Your branch is behind 'origin/master' by 3 commits, and can be fast-forwarded.
>>>>> (use "git pull" to update your local branch)
>>>>> nothing to commit, working directory clean
>>>>> 0 Wed 18:36:49 yost DaveBook ~/p/swift/example-package-dealer/Packages/DeckOfPlayingCards-1.0.4
>>>>> 437 Z% git remote -v
>>>>> origin https://github.com/apple/example-package-deckofplayingcards.git <https://github.com/apple/example-package-deckofplayingcards.git> (fetch)
>>>>> origin https://github.com/apple/example-package-deckofplayingcards.git <https://github.com/apple/example-package-deckofplayingcards.git> (push)
>>>>> 0 Wed 18:36:52 yost DaveBook ~/p/swift/example-package-dealer/Packages/DeckOfPlayingCards-1.0.4
>>>>> 438 Z%
>>>>>
>>>>> _______________________________________________
>>>>> swift-users mailing list
>>>>> swift-users at swift.org <mailto:swift-users at swift.org>
>>>>> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
>>>>
>>>> _______________________________________________
>>>> swift-users mailing list
>>>> swift-users at swift.org <mailto:swift-users at swift.org>
>>>> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160630/7947d383/attachment.html>
More information about the swift-users
mailing list