OpenHFT / Chronicle-Map

Replicate your Key Value Store across your network, with consistency, persistance and performance.
http://chronicle.software/products/chronicle-map/
Apache License 2.0
2.73k stars 467 forks source link

Non-snapshot build has dependency on snapshot artifacts #532

Closed jbellis closed 2 months ago

jbellis commented 2 months ago
        <dependency>
            <groupId>net.openhft</groupId>
            <artifactId>chronicle-map</artifactId>
            <version>3.23.5</version>
        </dependency>

->

$ ./mvnw dependency:tree
[...]
Downloading from chronicle-enterprise-release: https://nexus.chronicle.software/content/repositories/releases/net/openhft/third-party-bom/3.22.4-SNAPSHOT/maven-metadata.xml
Downloading from chronicle-enterprise-snapshots: https://nexus.chronicle.software/content/repositories/snapshots/net/openhft/third-party-bom/3.22.4-SNAPSHOT/maven-metadata.xml
16:45:39,064 [WARNING] Could not transfer metadata net.openhft:third-party-bom:3.22.4-SNAPSHOT/maven-metadata.xml from/to chronicle-enterprise-snapshots (https://nexus.chronicle.software/content/repositories/snapshots): Authentication failed for https://nexus.chronicle.software/content/repositories/snapshots/net/openhft/third-party-bom/3.22.4-SNAPSHOT/maven-metadata.xml 401 Unauthorized
16:45:39,066 [WARNING] Could not transfer metadata net.openhft:third-party-bom:3.22.4-SNAPSHOT/maven-metadata.xml from/to chronicle-enterprise-release (https://nexus.chronicle.software/content/repositories/releases): Authentication failed for https://nexus.chronicle.software/content/repositories/releases/net/openhft/third-party-bom/3.22.4-SNAPSHOT/maven-metadata.xml 401 Unauthorized
Downloading from chronicle-enterprise-snapshots: https://nexus.chronicle.software/content/repositories/snapshots/net/openhft/third-party-bom/3.22.4-SNAPSHOT/third-party-bom-3.22.4-SNAPSHOT.pom
Downloading from chronicle-enterprise-release: https://nexus.chronicle.software/content/repositories/releases/net/openhft/third-party-bom/3.22.4-SNAPSHOT/third-party-bom-3.22.4-SNAPSHOT.pom
16:45:40,102 [INFO] ------------------------------------------------------------------------
16:45:40,102 [INFO] BUILD FAILURE
16:45:40,102 [INFO] ------------------------------------------------------------------------
16:45:40,103 [INFO] Total time:  2.405 s
16:45:40,104 [INFO] Finished at: 2024-04-11T16:45:40-05:00
16:45:40,104 [INFO] ------------------------------------------------------------------------
16:45:40,104 [ERROR] Failed to execute goal on project colbert-pq: Could not resolve dependencies for project org.example:colbert-pq:jar:1.0-SNAPSHOT: Failed to collect dependencies at net.openhft:chronicle-map:jar:3.23.5 -> net.openhft:affinity:jar:3.23ea1: Failed to read artifact descriptor for net.openhft:affinity:jar:3.23ea1: Could not transfer artifact net.openhft:third-party-bom:pom:3.22.4-SNAPSHOT from/to chronicle-enterprise-snapshots (https://nexus.chronicle.software/content/repositories/snapshots): Authentication failed for https://nexus.chronicle.software/content/repositories/snapshots/net/openhft/third-party-bom/3.22.4-SNAPSHOT/third-party-bom-3.22.4-SNAPSHOT.pom 401 Unauthorized -> [Help 1]
JerryShea commented 2 months ago

hello @jbellis the best way to manage chronicle dependencies is with chronicle-bom. I would use bom 2.23.143 to get that version of Chronicle Map, although there are later boms in the 2.23 stable release stream. 2.23 is pretty old too, so worth considering upgrading to 2.24 or even 2.25ea (early access)

jbellis commented 2 months ago

Please consider this a request to make Chronicle libraries work with standard Java tooling, then, as implied by the docs https://github.com/OpenHFT/Chronicle-Map/blob/ea/docs/CM_Download.adoc

JerryShea commented 2 months ago

haha good point about the example in the docs. Our recommendation is to use the chronicle-bom, and we will update the docs.

That snapshot dependency was fixed so a later Map version may resolve it, otherwise using the bom definitely will.