onekiloparsec / SwiftAA

The most comprehensive collection of accurate astronomical algorithms in (C++, Objective-C and) Swift.
http://www.onekiloparsec.dev/
MIT License
171 stars 31 forks source link

"Invalid Exclude" warnings in XCode 13.1 #109

Closed Saturnyn closed 2 years ago

Saturnyn commented 2 years ago

Hi,

I've just updated XCode to the most recent version, and I now get some warnings when building my project (which includes SwiftAA via the Swift package manager in XCode): Invalid Exclude '.../SourcePackages/checkouts/SwiftAA/Sources/AA+/Sources/AA+/AA+.htm': File not found. Invalid Exclude .../SourcePackages/checkouts/SwiftAA/Sources/AA+/Sources/AA+/naughter.css': File not found. Invalid Exclude '.../SourcePackages/checkouts/SwiftAA/Sources/AA+/Sources/AA+/CMakeLists.txt': File not found. It looks like the problem is caused by the Package.swift files referencing files that aren't present in the project any more.

Those are only warnings, so it is not really a problem and the project builds correctly, but it would be nice if they could be silenced :)

Thanks

onekiloparsec commented 2 years ago

Hi. Thanks for the report. I agree. :-) I won't have time before Christmas though. But I keep an eye on it.

sepw commented 2 years ago

We're experiencing the same warnings with Xcode 13.2.1:

Invalid Exclude '/Users/.../Library/Developer/Xcode/DerivedData/.../SourcePackages/checkouts/SwiftAA/Sources/AA+/Sources/AA+/naughter.css': File not found.
Invalid Exclude '/Users/.../Library/Developer/Xcode/DerivedData/.../SourcePackages/checkouts/SwiftAA/Sources/AA+/Sources/AA+/CMakeLists.txt': File not found.
Invalid Exclude '/Users/.../Library/Developer/Xcode/DerivedData/.../SourcePackages/checkouts/SwiftAA/Sources/AA+/Sources/AA+/AA+.htm': File not found.

As stated by @Saturnyn, the project builds correctly, but it would be preferable if the warnings could be fixed. Swift PM doesn't currently allow for warnings to be disabled for package dependencies, which is a problem for our project as we have a zero warning policy...

sepw commented 2 years ago

These warnings can be fixed by making the exclude paths relative to the value of path property for the AAplus package, i.e.

.target(
    name: "AAplus",
    dependencies: [],
    path: "Sources/AA+",
    exclude: ["Sources/AA+/naughter.css", "Sources/AA+/CMakeLists.txt", "Sources/AA+/AA+.htm"]

becomes:

.target(
    name: "AAplus",
    dependencies: [],
    path: "Sources/AA+",
    exclude: ["naughter.css", "CMakeLists.txt", "AA+.htm"]
onekiloparsec commented 2 years ago

Thanks for the tip! If I understand well, I just need to make this change, and a release, and that's it? Will do this evening (I'm at work right now)

onekiloparsec commented 2 years ago

A new tag 2.3.2 is now available. Let me know if it is OK for you. I'd love to hear about a project using SwiftAA (the one mentionned in the README hasn't been refreshed since a long time...)

Saturnyn commented 2 years ago

I updated the lib and can confirm the warning disappeared and everything seems to be working fine. Thank you :)

sepw commented 2 years ago

Thanks for the tip! If I understand well, I just need to make this change, and a release, and that's it? Will do this evening (I'm at work right now)

I implemented this fix in a fork and it built correctly and passed all unit tests, so you should probably be able to integrate and release.

sepw commented 2 years ago

A new tag 2.3.2 is now available. Let me know if it is OK for you. I'd love to hear about a project using SwiftAA (the one mentionned in the README hasn't been refreshed since a long time...)

Thank you for releasing this fix so quickly. Much appreciated!