# The lines in this file needs to be lexicographically sorted.
# Please only add direct dependencies. Overrides of transitive versions should be called out in a comment.
biz.aQute.bnd:biz.aQute.bnd.annotation=6.4.1
com.adobe.testing:s3mock-junit4=2.17.0
com.carrotsearch.randomizedtesting:*=2.8.1
com.carrotsearch:hppc=0.9.1
com.cybozu.labs:langdetect=1.1-20120112
com.fasterxml.jackson:jackson-bom=2.16.1
com.github.ben-manes.caffeine:caffeine=3.1.8
com.github.spotbugs:*=4.8.0
com.github.stephenc.jcip:jcip-annotations=1.0-1
com.google.cloud:google-cloud-bom=0.204.0
com.google.errorprone:*=2.23.0
com.google.guava:guava=32.1.3-jre
com.google.re2j:re2j=1.7
com.j256.simplemagic:simplemagic=1.17
com.jayway.jsonpath:json-path=2.9.0
com.lmax:disruptor=3.4.4
com.tdunning:t-digest=3.3
commons-cli:commons-cli=1.6.0
commons-codec:commons-codec=1.16.0
commons-collections:commons-collections=3.2.2
commons-io:commons-io=2.14.0
io.dropwizard.metrics:*=4.2.25
io.grpc:grpc-*=1.61.1
io.netty:*=4.1.104.Final
io.opentelemetry:opentelemetry-bom=1.35.0
io.prometheus:*=0.16.0
io.swagger.core.v3:*=2.2.20
jakarta.ws.rs:jakarta.ws.rs-api=3.1.0
junit:junit=4.13.2
net.sourceforge.argparse4j:argparse4j=0.9.0
net.thisptr:jackson-jq=0.0.13
no.nav.security:mock-oauth2-server=0.5.10
org.apache.calcite.avatica:avatica-core=1.23.0
org.apache.calcite:*=1.35.0
org.apache.commons:commons-collections4=4.4
org.apache.commons:commons-compress=1.25.0
org.apache.commons:commons-configuration2=2.9.0
org.apache.commons:commons-exec=1.4.0
org.apache.commons:commons-lang3=3.14.0
org.apache.commons:commons-math3=3.6.1
org.apache.curator:*=5.5.0
org.apache.hadoop.thirdparty:*=1.1.1
org.apache.hadoop:*=3.3.6
org.apache.httpcomponents:httpclient=4.5.14
org.apache.httpcomponents:httpcore=4.4.16
org.apache.httpcomponents:httpmime=4.5.14
org.apache.kerby:*=1.0.1
org.apache.logging.log4j:*=2.21.0
org.apache.lucene:*=9.10.0
org.apache.tika:*=1.28.5
org.apache.tomcat:annotations-api=6.0.53
org.apache.zookeeper:*=3.9.1
org.bitbucket.b_c:jose4j=0.9.6
org.bouncycastle:bcpkix-jdk18on=1.77
org.carrot2:carrot2-core=4.5.1
org.codehaus.woodstox:stax2-api=4.2.2
org.eclipse.jetty*:*=10.0.20
org.eclipse.jetty.toolchain:jetty-servlet-api=4.0.6
org.glassfish.hk2*:*=3.0.5
org.glassfish.hk2.external:jakarta.inject=2.6.1
org.glassfish.jersey*:*=3.1.5
org.glassfish.jersey.containers:jersey-container-jetty-http=2.39.1
org.hamcrest:*=2.2
org.hsqldb:hsqldb=2.7.2
org.immutables:value-annotations=2.10.1
org.jctools:jctools-core=4.0.1
org.mockito:mockito*=5.11.0
org.openjdk.jmh:*=1.37
org.osgi:osgi.annotation=8.1.0
org.quicktheories:quicktheories=0.26
org.semver4j:semver4j=5.2.2
org.slf4j:*=2.0.12
org.xerial.snappy:snappy-java=1.1.10.5
software.amazon.awssdk:*=2.20.155
