JuliaSpace / SatelliteToolbox.jl

A toolbox for satellite analysis written in julia language.
MIT License
249 stars 33 forks source link

Dependency compatibility #52

Closed fgasdia closed 3 years ago

fgasdia commented 3 years ago

I had a version conflict with another package that required Interpolations 0.13 while SatelliteToolbox requires 0.12. I could open a PR for Satellite Toolbox to update Interpolations to 0.13, but it requires changing the definition of _space_indices_itp_constant{T} in a backwards-incompatible way (we could not have a compat entry for Interpolations with 0.12, 0.13).

While looking at SatelliteToolbox's Project.toml file, I realized StaticArrays compat entry is also set to 0.12 instead of 1 (or possibly 0.12,1). This cannot be updated at this time because ReferenceFrameRotations compat for StaticArrays is also set to 0.12.

The new versions of these packages are only a few months old, but it might be worthwhile to add the GitHub action for CompatHelper to keep track of these updates.

fgasdia commented 3 years ago

PolynomialRoots has also been on v1 for almost 9 months. All SatelliteToolbox tests pass after changing the compat line to PolynomialRoots = "0.2,1" and updating to v1.

ronisbr commented 3 years ago

Thanks @fgasdia ! I will update everything and add the CompatHelper

ronisbr commented 3 years ago

Done! Can you please test? You will need to dev ReferenceFrameRotations.jl I think.

fgasdia commented 3 years ago

Thanks @ronisbr for addressing this quickly. It seems to work.

I know you have already merged e533352, but if you wanted you could have probably kept the compatibility requirements a little loose. I tested with PolynomialRoots = "0.2,1", this would allow people with either version level to continue using SatelliteToolbox without requiring them to upgrade their dependencies unless they want to. I didn't try it, but I bet StaticArrays = "0.12,1" would work too. Interpolations was the only tricky one because v0.13 wasn't backwards compatible with v0.12 in the way it's used in SatelliteToolbox.