scala_import(
name,
jars,
deps,
runtime_deps,
exports,
neverlink,
srcjar,
stamp,
)scala_import enables the use of precompiled Scala .jar files as dependencies for other Scala rules
like scala_library, similar to java_import from Java rules.
This rule reimplements java_import without support for ijars, which break Scala macros.
Generally, ijars don’t help much for external dependencies, which rarely change.
The jar's compile MANIFEST.MF is stamped with a Target-Label attribute for dependency tracking reporting.
This behaviour can be changed per scala_import target with an attribute or globally
with a setting:
bazel build //my:target --@io_bazel_rules_scala//scala/settings:stamp_scala_import=False
| Attribute name | Description |
|---|---|
| name | Name, required A unique name for this target. |
| jars | List of labels, required List of .jar files to import, usually in //external. In practice, this usually corresponds to one jar. |
| deps | List of labels, optional Compile time dependencies that were used to create the jar. |
| runtime_deps | List of labels, optional Runtime dependencies that are needed for this library. |
| exports | List of labels, optional List of targets to add to the dependencies of those that depend on this target. |
| neverlink | boolean, optional (default False) If true only use this library for compilation and not at runtime. |
| srcjar | Label, optional The source jar that was used to create the jar. |
| stamp | Label, optional Setting to control Target-Label stamping into compile jar Manifest Default value is @io_bazel_rules_scala//scala/settings:stamp_scala_import |