# Scripted pipeline dynamic library version clarification question

**URL:** <https://community.jenkins.io/t/scripted-pipeline-dynamic-library-version-clarification-question/4949>\
**Category:** Ask a question\
**Tags:** documentation\
**Created:** [December 14, 2022, 2:06pm UTC](https://community.jenkins.io/t/scripted-pipeline-dynamic-library-version-clarification-question/4949 "2022-12-14T14:06:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![martinda](https://dub1.discourse-cdn.com/flex013/user_avatar/community.jenkins.io/martinda/32/288_2.png) [@martinda](https://community.jenkins.io/u/martinda)\
**Post date:** [December 14, 2022, 2:06pm UTC](https://community.jenkins.io/t/scripted-pipeline-dynamic-library-version-clarification-question/4949/1 "2022-12-14T14:06:47Z")

</div>

Dynamic versions for pipeline libraries is supported with the `library` step:

```auto
// A Jenkins file
library "name@${VERSION}"
doSomething()

```

Where `doSomething()` is implemented in `vars/doSomething.groovy` and forms a custom step.

What is not clear to me in the [Loading libraries dynamically](https://www.jenkins.io/doc/book/pipeline/shared-libraries/#loading-libraries-dynamically) documentation is this sentence:

> Using classes from the `src/` directory is also possible, but trickier.

There are THREE places where this statement could apply:

1. In the Jenkinsfile - as it may need to import classes in `src/`
2. In the `vars/doSomething.groovy` global variable (aka “custom step”) - as they may need to import classes in `src/`
3. In the groovy files under `src/` - as they may need to import classes from `src/`

So when it says “trickier”, where is it trickier? In all three places?
