kylef / Spectre

BDD Framework and test runner for Swift projects and playgrounds
BSD 2-Clause "Simplified" License
404 stars 41 forks source link

Bump the 0.8.0 to avoid problems with missed files in the playground #35

Closed yeswolf closed 4 years ago

yeswolf commented 6 years ago

Playground sources a still not available when using 0.8.0 as a dependency. More - various samples (like https://github.com/IBM/FoodTrackerBackend) cannot be correctly configured when using the Swift PM in the CLion (we are currently using CMake for integrating it and CMake complains about files missed). Please, bump the version so the most recent sources are included.

kylef commented 6 years ago

That's interesting, I wasn't aware that Swift PM would even know about the playground file. Is there some integration?

yeswolf commented 6 years ago

No, Swift PM itself does not check the playground contents. So if you build from console, or if you're using the Swift PM directly with Spectre as a dependency, everything is fine.

This problem is specific for the CLion's Swift integration. CLion uses CMake as a project model, e.g. resolves all the code dependencies using it.

For the moment it uses a CMake wrapper for Swift PM commands to perform the code resolution, building code symbols tree etc. It's a workaround until the full Swift PM integration will be done. The CMake itself needs all the directories containing Swift source code to be specified as SOURCES for particular build phase. And the issue is that CMake checks all the files including symlinks specified as sources and if some of them not found - it does not generate its config, next we can't generate build configuration correctly in IDE.

I just understood that most probably we can just exclude the playground directory in this case and will try to do it, but still I think it makes sense to update the version.

yeswolf commented 6 years ago

Well, even if can exclude it, we can't deploy the application using Docker - and it's not related to the IDE functionality, but to Docker that also checks if all the files exist when building the image. So, it still can affect even those who are not using our IDEs at all and just wants to run the Kitura sample in a Docker container.