# Pkg extensions backwards compatibility + Aqua = failed test

**URL:** https://discourse.julialang.org/t/pkg-extensions-backwards-compatibility-aqua-failed-test/107578
**Category:** General Usage
**Tags:** pkg, aqua, package-extensions
**Created:** [December 13, 2023, 7:17pm UTC](https://discourse.julialang.org/t/pkg-extensions-backwards-compatibility-aqua-failed-test/107578 "2023-12-13T19:17:44Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![moble](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moble/32/23535_2.png) [@moble](https://discourse.julialang.org/u/moble)
#### Post date: [December 13, 2023, 7:17pm UTC](https://discourse.julialang.org/t/pkg-extensions-backwards-compatibility-aqua-failed-test/107578/1 "2023-12-13T19:17:44Z")

</div>

I have [a package](https://github.com/moble/Quaternionic.jl/) that I’m trying to test with Aqua. This package has some extensions that I want to support on older Julia versions. So, as recommended [here in the `Pkg` docs](https://pkgdocs.julialang.org/v1/creating-packages/#Requires.jl) I have [the lines](https://github.com/moble/Quaternionic.jl/blob/2cce115909f68845c26c5096eb684cf469e30736/src/Quaternionic.jl#L45-L47)

```julia
if !isdefined(Base, :get_extension)
    using Requires
end

```

This seems to mean that I also have to have

```julia
[deps]
...
Requires = "ae029012-a4dd-5104-9daa-d747884805df"

```

in [my `Project.toml`](https://github.com/moble/Quaternionic.jl/blob/2cce115909f68845c26c5096eb684cf469e30736/Project.toml#L6-L12). That seems to work fine; everything seems to run as needed on various Julia versions.

But now, I run the Aqua tests on Julia 1.9, and get it complaining that I have a stale dependency:

```julia
Stale dependencies: Test Failed at /Users/me/.julia/packages/Aqua/9p8ck/src/stale_deps.jl:31
  Expression: isempty(stale_deps)
   Evaluated: isempty(Base.PkgId[Requires [ae029012-a4dd-5104-9daa-d747884805df]])

```

Obviously, `Requires` is never loaded in Julia 1.9, so this makes sense.

How do I handle this? Should I just disable the test for stale dependencies?

---

<div class="post-metadata">

### Author: ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)
#### Post date: [December 13, 2023, 8:44pm UTC](https://discourse.julialang.org/t/pkg-extensions-backwards-compatibility-aqua-failed-test/107578/2 "2023-12-13T20:44:15Z")

</div>

Make the Aqua test conditional on Julia version?

---

<div class="post-metadata">

### Author: ![ericphanson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ericphanson/32/215186_2.png) [@ericphanson](https://discourse.julialang.org/u/ericphanson)
#### Post date: [December 13, 2023, 9:09pm UTC](https://discourse.julialang.org/t/pkg-extensions-backwards-compatibility-aqua-failed-test/107578/3 "2023-12-13T21:09:42Z")

</div>

You can use the `ignore` keyword argument: [Stale dependencies · Aqua.jl](https://juliatesting.github.io/Aqua.jl/stable/stale_deps/#Aqua.test_stale_deps)

---

<div class="post-metadata">

### Author: ![moble](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moble/32/23535_2.png) [@moble](https://discourse.julialang.org/u/moble)
#### Post date: [December 13, 2023, 9:13pm UTC](https://discourse.julialang.org/t/pkg-extensions-backwards-compatibility-aqua-failed-test/107578/4 "2023-12-13T21:13:20Z")

</div>

Ah, yes! Thank you very much!

And now that I have a more specific search, I find the solution I’ll use [in the issues](https://github.com/JuliaTesting/Aqua.jl/issues/53):

```julia
Aqua.test_all(TestedPackage; stale_deps=(;ignore=[:Requires]))

```
