Duplicate command in 'commands' map

i just tried building this project, which was building just fine in january, and now Swift is giving me this error:

$ make
swift build -c debug -Xswiftc "-D" -Xswiftc "DEBUG" -Xcc -I/usr/local/include -Xlinker -L/usr/local/lib
Updating https://github.com/kelvin13/swift-opengl
Updating https://github.com/kelvin13/swiftxml
Fetching https://github.com/kelvin13/maxpng
Completed resolution in 1.63s
Cloning https://github.com/kelvin13/maxpng
Resolving https://github.com/kelvin13/maxpng at master
.build/debug.yaml:86:3: error: duplicate command in 'commands' map
  "<C.tests.exe>":
  ^~~~~~~~~~~~~~~
.build/debug.yaml:201:3: error: duplicate command in 'commands' map
  "C.tests.exe":
  ^~~~~~~~~~~~~
error: terminated(1): ~/tools/swift/usr/bin/swift-build-tool -f .build/debug.yaml main output:
    

Makefile:14: recipe for target 'debug' failed
make: *** [debug] Error 1

I was able to reduce the problem down to 3 modules (you can delete everything in that repo except sources/GLFW and Package.swift and of course Makefile)

let package = Package(
    name: "cloudgen",
    products: [],
    dependencies:
    [
        .package(url: "https://github.com/kelvin13/swift-opengl", .branch("master")),
        .package(url: "https://github.com/kelvin13/maxpng", .branch("master"))
    ],
    targets:
    [
        .target(name: "GLFW", path: "sources/GLFW")
    ]
)

but strangely, removing any of the three makes the other two compile fine. also, all the git urls are consistent normal urls, without the .git extension. What is going on?

Github doesn't require .git extensions; I assume it can distinguish between clone request vs a normal request, and serves the appropriate format.

This looks like a SwiftPM bug, do you mind filing a JIRA?