To be able to use GRDB.swift from Package Manager, we need correct semantic versioning.
Meaning, instead of tagging v3.0.0 you want to tag 3.0.0 so that SPM can automatically infer the correct version.
This is especially important since transitive dependencies cannot target anything else than the master branch. If you use a framework which itself uses GRDB, the embedded framework is only allowed to use semantic versioning on the master branch of GRDB and cannot use a specific branch or revision instead to fix the issue of tags not adhering to the semver conventions.
$ git for-each-ref --format '%(refname) %(authorname)' refs/tags
refs/tags/3.0.0-beta2 Florent Pillet
refs/tags/v0.1.0 Gwendal Rou茅
...
refs/tags/v2.8.0 Gwendal Rou茅
refs/tags/v2.9.0 Gwendal Rou茅
refs/tags/v3.0.0 Gwendal Rou茅
refs/tags/v3.0.0-beta2 Florent Pillet
Regular GRDB tags start with a v.
SPM is totally happy with that. But SPM breaks horribly whenever there is a mix of conventions.
I don't know how your tags has ended up in there, but they are the sources of your issues. And now the issues of everybody, since I did push them to the main GRDB repo (with some stupid git command I guess) 馃槄 .
I'll clean up this. And you have to start using v-prefixed tags whenever your tag GRDB commits.
Man! How did this tag end up in your repo ? Sorry about that, I'll be more careful in the future. I was supposed to have pushed this to my own remote only :(
Thanks for cleaning up my abominations, Gwendal 馃憤
This is a dupe of #364, actually.
I guess they came with your recent pull request, and an over-friendly git GUI (Gitbox) 馃槚. So it's all my fault, not yours!
Still you may need to run the following command on your local repo:
git tag -d 3.0.0-beta2
git tag -d v3.0.0-beta2
git push origin :refs/tags/3.0.0-beta2
git push origin :refs/tags/v3.0.0-beta2
This should be fixed now! Does everything works for you Florent?
Yes, works great, thanks for the fast fix!!
Yet again, SPM support is broken because of this :(
Certainly SPM should fix this as well.
Thanks @klaas. 馃槖 Something is broken in my workflow...
My fork is clean for now 馃槂 I would rather deploy to our production systems with the main repo though:)
I'll do something about it. Sincere apologies.
I'm so happy with GRDB that there is no need to apologise! By now I know what to do :)