heremaps / here-sbt-bom

SBT BOM is the plugin for SBT for dealing with Maven BOM in SBT projects
Other
19 stars 5 forks source link

Failed to resolve ${project.version} with slf4j-bom #17

Closed gaeljw closed 7 months ago

gaeljw commented 7 months ago

When using the following in a build.sbt file:

lazy val slf4jDeps = Bom.dependencies("org.slf4j" % "slf4j-bom" % "2.0.12")

lazy val root = (project in file("."))
  .settings(slf4jDeps)
  .settings(dependencyOverrides ++= slf4jDeps.key.value)

The following warnings are displayed when loading the sbt project and the SLF4J BOM is completely ignored (has no effect on the versions of the dependencies):

[info] welcome to sbt 1.9.8 (Red Hat, Inc. Java 17.0.9)
...
[info] loading settings for project root from build.sbt ...
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
[warn] Failed to resolve ${project.version}. Ignoring this element.
gaeljw commented 7 months ago

It's likely related to the fact that this BOM uses Maven properties replacement:

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-bom</artifactId>
    <version>2.0.12</version>
    <packaging>pom</packaging>
    <url>http://www.slf4j.org</url>
    <name>SLF4J BOM</name>
    <description>SLF4J project BOM</description>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${project.version}</version>
            </dependency>
molekyla commented 7 months ago

@gaeljw Fix was release in version 1.0.11. Feel free to reopen the issue if you still see the error

gaeljw commented 7 months ago

Thanks @molekyla . I may have another case with a custom property but I'll open another issue the next time I see it (can't remember which BOM it was!).