CRAN keeps track of reverse dependencies on PerformanceAnalytics. see https://cran.r-project.org/web/packages/PerformanceAnalytics/index.html
now that we have a large test suite, and given our two-decade commitment to maintaining backwards compatibility, we are unlikely to break these reverse dependencies
however, "unlikely to" and "have an implied contract to not break reverse dependencies" are different things.
I would like to actually make sure that we honor the implied contract explicitly, making it a real commitment backed up by our code.
we should create a formal documented methodology supported by a new vignette on how we test reverse dependencies to make sure that we don't break functionality that other packages are relying on from PerformanceAnalytics. this commitment to maintaining backwards compativility has been something that separates PerformanceAnalytics from othere packages in R and from financial analysis code in several other languages that has (partially, and often incorrectly) ported our code.
- create a plan to thoroughly test all reverse dependencies
- identify functions in other packages that use our code
- if we already suggest or import those packages, write explicit tests using the reverse dependency functions in our tests to verify they still work the same way (we obviously can't assure correctness of other people's code, just that we don't break it)
- if we don't already depend, suggest, or import the reverse dependency, we should run
R CMD check on their package tarball after installing our version of PerformanceAnalytics and make sure we don't blow it up
- this test flow should probably not run on every push to github, we need a plan for separating it from all our other tests, maybe look at how xts tests reverse dependencies, since @joshuaulrich has already solved this problem (thanks Josh!)
CRAN keeps track of reverse dependencies on PerformanceAnalytics. see https://cran.r-project.org/web/packages/PerformanceAnalytics/index.html
now that we have a large test suite, and given our two-decade commitment to maintaining backwards compatibility, we are unlikely to break these reverse dependencies
however, "unlikely to" and "have an implied contract to not break reverse dependencies" are different things.
I would like to actually make sure that we honor the implied contract explicitly, making it a real commitment backed up by our code.
we should create a formal documented methodology supported by a new vignette on how we test reverse dependencies to make sure that we don't break functionality that other packages are relying on from PerformanceAnalytics. this commitment to maintaining backwards compativility has been something that separates PerformanceAnalytics from othere packages in R and from financial analysis code in several other languages that has (partially, and often incorrectly) ported our code.
R CMD checkon their package tarball after installing our version of PerformanceAnalytics and make sure we don't blow it up