Package Search build system support limitations
Package Search supports many cases in searching and managing dependencies in your project. However, there are some limitations depending on a build tool used in your project.
Gradle
For Gradle only a top level dependencies { }
block is supported in the build script. Dependencies set from other places (such as a subprojects
block in the root build script) are not supported. Also note, that Gradle modules without the build.gradle[.kts]
file are not currently supported.
Anything not listed in the following table is not supported (but may be in the future).
Use Cases | Support | |
---|---|---|
Kotlin | Groovy | |
Full string in dependencies: |
|
|
Full string with a direct variable:
|
|
|
Full string with the delegate variable to |
|
|
Ext properties:
|
|
|
Split GAV dependency: |
|
|
Version catalogs (experimental, refer to Gradle documentation. |
|
|
Invoke function for version: |
|
|
If you encounter any problems with the supported styles, report them to Gradle subsystem.
Maven
All types of dependencies are supported for Maven. All dependencies can be updated if the version is defined using the regular syntax, or it is defined using properties and the ${}
syntax. Recursive property declarations (when a property value is defined using another property) are not supported yet.
Use cases | Support |
---|---|
Simple project, the dependency is defined in the file itself:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
</dependency>
|
A new dependency is created as simple dependency if this dependency is not declared in the parent |
Dependency defined in the parent |
A new dependency is created as a managed dependency if this dependency declared in the parent |
Dependency declared in a the parent section as a dependency and inherited in a project. |
|
Dependency declared in BOM and imported into a project |
|
If you encounter any problems with the supported styles, report them to Maven subsystem.
sbt
Using simple data flow analysis, it is possible to capture some of the common patterns for libraries. However, dependencies with more complex patterns, for example, generated from functions, are not supported.
Use Cases | Support |
---|---|
Inline library dependencies: |
|
Library dependencies created using |
|
Sequence of library dependencies: |
|
Library dependencies inside top-level subprojects: |
|
Library dependencies inside top-level subprojects that are generated by functions: |
|
Library dependencies are generated by functions: |
|
sbt plugins: |
|
If you encounter any problems with the supported styles, report them to Scala plugin.
Repositories
Only a selection of public Maven repositories are included in the Package Search index. You can check the list of indexed repositories at the Package Search website.
The private Maven repositories are not supported. If you use private Maven repositories and need for Package Search to add support for on-premises instances, upvote this issue. Note that comments are not counted as upvotes.
Private proxies of public repositories are not currently supported. If you use proxies and would like to get support in the Package Search plugin, upvote this issue. Note that comments are not counted as upvotes.