# Handling various types of dependencies

**URL:** https://discourse.julialang.org/t/handling-various-types-of-dependencies/27850
**Category:** General Usage
**Created:** [August 22, 2019, 2:45pm UTC](https://discourse.julialang.org/t/handling-various-types-of-dependencies/27850 "2019-08-22T14:45:38Z")
**Posts on this page:** 1
**Showing post:** 5

<div class="post-metadata">

### Author: ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)
#### Post date: [August 23, 2019, 9:10am UTC](https://discourse.julialang.org/t/handling-various-types-of-dependencies/27850/5 "2019-08-23T09:10:22Z")

</div>

I’m not following Pkg.jl development very closely but given that [Julia 1.2 started supporting `test/Project.toml`](https://julialang.github.io/Pkg.jl/v1/creating-packages/#Test-specific-dependencies-in-Julia-1.2-and-above-1) I guess `[extras]` is going to fade away.

FYI, I also wanted to ease `$subproject/Project.toml` handling so I created a “task runner” package [Run.jl](https://github.com/tkf/Run.jl) ([documentation](https://tkf.github.io/Run.jl/dev/)). The API is that `Run.script("DIRECTORY/SCRIPT.jl")` automatically activate/instantiate `DIRECTORY/Project.toml` then run the script in an isolated environment. There are quick shortcuts `Run.test()` and `Run.docs()` but its useful for general “tasks”; e.g., [running benchmarks in CI](https://discourse.julialang.org/t/pkgbenchmark-jl-workflow/24472/3). All these sub-projects automatically `Pkg.dev`s the parent directory so you can instantiate it even if your main project is not in the registry or does not have URL.

---

_[View the full topic](https://discourse.julialang.org/t/handling-various-types-of-dependencies/27850)._
