<?xml version="1.0" encoding="utf-8"?>
<!-- License: GPL. For details, see LICENSE file. -->
<ivy-module version="2.0" xmlns:maven="http://ant.apache.org/ivy/maven">
    <info organisation="org.openstreetmap" module="josm"/>
    <configurations>
        <!--  configurations that should be used when specifying dependencies -->
        <conf name="implementation" description="All libs JOSM uses that plugins should not use"/>
        <conf name="api" description="All libs that JOSM uses and are available for plugins"/>
        <conf name="runtimeOnly" description="The libs shipped with JOSM that we do not need during compilation"/>
        <conf name="provided" description="The libs we need during compilation but not on application start"/>
        <!-- Special configurations used to retrieve jar files of test lib/tools referred by file path -->
        <conf name="commonslang" description="Apache Commons Lang test library"/>
        <conf name="jmockit" description="JMockit test library"/>
        <conf name="jacocoant" description="Jacoco Ant test library"/>
        <conf name="junit5-system-exit" description="Everything needed for running junit5-system-exit as a javaagent"/>
        <!--  Meta configurations used in build scripts -->
        <conf name="runtime" description="Libraries only needed at runtime" extends="implementation,api,runtimeOnly"/>
        <conf name="compile" description="Libraries needed only for compilation" extends="implementation,api,provided"/>
        <conf name="test" description="Libraries only needed for testing" extends="compile,runtime,commonslang,jmockit,junit5-system-exit"/>
        <conf name="sources" description="Source code of used libraries"/>
    </configurations>
    <dependencies>
        <!-- api->default -->
        <dependency conf="api->default" org="org.openstreetmap.jmapviewer" name="jmapviewer" rev="2.25"/>
        <dependency conf="api->default" org="jakarta.json" name="jakarta.json-api" rev="2.1.3"/>
        <!-- parsson is an implementation for jakarta.json -->
        <dependency conf="runtimeOnly->default" org="org.eclipse.parsson" name="parsson" rev="1.1.7"/>
        <dependency conf="api->default" org="org.apache.commons" name="commons-jcs3-core" rev="3.2.1"/>
        <dependency conf="api->default" org="org.apache.commons" name="commons-compress" rev="1.28.0"/>
        <dependency conf="api->default" org="jakarta.annotation" name="jakarta.annotation-api" rev="3.0.0" />
        <dependency conf="api->default" org="org.tukaani" name="xz" rev="1.11"/>
        <dependency conf="api->default" org="com.adobe.xmp" name="xmpcore" rev="6.1.11"/>
        <dependency conf="api->default" org="com.drewnoakes" name="metadata-extractor" rev="2.19.0" transitive="false"/>
        <dependency conf="api->default" org="com.github.weisj" name="jsvg" rev="2.1.0"/>
        <dependency conf="api->default" org="org.jetbrains" name="annotations" rev="24.1.0"/>
        <dependency conf="api->default" org="ch.poole" name="OpeningHoursParser" rev="0.29.0"/>
        <!-- Don't forget to update org.openstreetmap.josm.tools.Tag2Link#PREF_SOURCE -->
        <dependency conf="api->default" org="org.webjars.npm" name="tag2link" rev="2026.6.26"/>
        <!-- sources->sources -->
        <dependency conf="sources->sources" org="org.openstreetmap.jmapviewer" name="jmapviewer" rev="2.25"/>
        <dependency conf="sources->sources" org="jakarta.json" name="jakarta.json-api" rev="2.1.3"/>
        <dependency conf="sources->sources" org="org.eclipse.parsson" name="parsson" rev="1.1.7"/>
        <dependency conf="sources->sources" org="org.apache.commons" name="commons-jcs3-core" rev="3.2.1"/>
        <dependency conf="sources->sources" org="org.apache.commons" name="commons-compress" rev="1.28.0"/>
        <dependency conf="sources->sources" org="jakarta.annotation" name="jakarta.annotation-api" rev="2.1.1" />
        <dependency conf="sources->sources" org="org.tukaani" name="xz" rev="1.11"/>
        <dependency conf="sources->sources" org="com.adobe.xmp" name="xmpcore" rev="6.1.11"/>
        <dependency conf="sources->sources" org="com.drewnoakes" name="metadata-extractor" rev="2.19.0" transitive="false"/>
        <dependency conf="sources->sources" org="com.formdev" name="svgSalamander" rev="1.1.4"/>
        <dependency conf="sources->sources" org="ch.poole" name="OpeningHoursParser" rev="0.29.0"/>
        <dependency conf="sources->default" org="org.webjars.npm" name="tag2link" rev="2026.6.26"/><!-- sources->default sic! (tag2link-sources.jar is empty, see #19335) -->
        <!-- commonslang->default -->
        <dependency conf="commonslang->default" org="org.apache.commons" name="commons-lang3" rev="3.18.0"/>
        <!-- jacocoant->default -->
        <dependency conf="jacocoant->default" org="org.jacoco" name="org.jacoco.ant" rev="0.8.13">
            <artifact name="org.jacoco.ant" type="jar" maven:classifier="nodeps"/>
        </dependency>
        <dependency conf="jmockit->default" org="org.jmockit" name="jmockit" rev="${versions.jmockit}"/>
        <dependency conf="junit5-system-exit->default" org="com.ginsberg" name="junit5-system-exit" rev="${versions.junit5-system-exit}"/>
        <!-- test->default -->
        <dependency conf="test->default" org="com.github.spotbugs" name="spotbugs-annotations" rev="4.9.8"/>
        <dependency conf="test->default" org="org.wiremock" name="wiremock" rev="3.13.2"/>
        <dependency conf="test->default" org="io.github.classgraph" name="classgraph" rev="4.8.184"/>
        <dependency conf="test->default" org="org.junit.platform" name="junit-platform-launcher" rev="1.14.2"/>
        <dependency conf="test->default" org="org.junit.platform" name="junit-platform-suite" rev="1.14.2"/>
        <dependency conf="test->default" org="org.junit.vintage" name="junit-vintage-engine" rev="5.14.2"/>
        <dependency conf="test->default" org="org.junit.jupiter" name="junit-jupiter-params" rev="5.14.2"/>
        <dependency conf="test->default" org="org.junit.jupiter" name="junit-jupiter-api" rev="5.14.2"/>
        <dependency conf="test->default" org="org.junit.jupiter" name="junit-jupiter-engine" rev="5.14.2"/>
        <dependency conf="test->default" org="org.junit.jupiter" name="junit-jupiter-migrationsupport" rev="5.14.2"/>
        <dependency conf="test->default" org="net.trajano.commons" name="commons-testing" rev="2.1.0"/>
        <dependency conf="test->default" org="nl.jqno.equalsverifier" name="equalsverifier" rev="${versions.equalsverifier}"/>
        <dependency conf="test->default" org="org.apache.commons" name="commons-lang3" rev="3.20.0"/>
        <dependency conf="test->default" org="org.awaitility" name="awaitility" rev="4.3.0"/>
    </dependencies>
</ivy-module>
