# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# List of patterns (one pair per line) to skip over in VerifyLibsAndLicenses.testBinaryUniqueness.
# Both sides of the pair must match for the pair to be skipped.
# Uses standard Ant pattern syntax, in ${nb_all} among modules included in cluster config.
# (For ZIP entries, just list the containing ZIP, not the entry path.)

# db.sql.visualeditor/external/javacc-7.0.10.jar is used at compile-time only
ide/db.sql.visualeditor/external/javacc-7.0.10.jar java/performance/external/javacc-7.0.10.jar

# bundled maven conflicts with other libraries
java/maven.embedder/external/apache-maven-3.9.11-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar
java/maven.embedder/external/apache-maven-3.9.11-bin.zip platform/libs.asm/external/asm-9.9.jar
java/maven.embedder/external/apache-maven-3.9.11-bin.zip platform/o.apache.commons.codec/external/commons-codec-1.18.0.jar
java/maven.embedder/external/apache-maven-3.9.11-bin.zip ide/c.google.guava.failureaccess/external/failureaccess-1.0.3.jar
java/maven.embedder/external/apache-maven-3.9.11-bin.zip ide/c.google.guava/external/guava-33.4.6-jre.jar
java/maven.embedder/external/apache-maven-3.9.11-bin.zip java/maven.indexer/external/javax.annotation-api-1.3.2.jar

# Used to parse data during build, but need to as a lib for ide cluster
nbbuild/external/json-simple-1.1.1.jar ide/libs.json_simple/external/json-simple-1.1.1.jar

# JFlex is used by multiple modules.
webcommon/javascript2.jade/external/jflex-1.4.3.jar webcommon/javascript2.lexer/external/jflex-1.4.3.jar

# javax.annotation-api is used by multiple modules.
enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.indexer/external/javax.annotation-api-1.3.2.jar
enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.11-bin.zip
enterprise/javaee8.api/external/javax.annotation-api-1.3.2.jar enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar
enterprise/websvc.restlib/external/javax.annotation-api-1.3.2.jar java/maven.embedder/external/apache-maven-3.9.11-bin.zip

# jaxb-api-osgi is used by multiple modules.
enterprise/javaee.api/external/jaxb-api-osgi-2.2.7.jar enterprise/javaee7.api/external/jaxb-api-osgi-2.2.7.jar

# jakarta.xml.bind-api is used by multiple modules.
enterprise/websvc.restlib/external/jakarta.xml.bind-api-2.3.3.jar ide/xml.jaxb.api/external/jakarta.xml.bind-api-2.3.3.jar

# osgi.core-8.0.0.jar is used by multiple modules.
enterprise/websvc.restlib/external/osgi.core-8.0.0.jar platform/libs.osgi/external/osgi.core-8.0.0.jar

# gradle is used at build-time, so we can ignore the duplicates
extide/gradle/external/gradle-8.11.1-bin.zip extide/o.apache.tools.ant.module/external/apache-ant-1.10.14-bin.zip
extide/gradle/external/gradle-8.11.1-bin.zip ide/o.apache.commons.lang/external/commons-lang-2.6.jar
extide/gradle/external/gradle-8.11.1-bin.zip ide/slf4j.api/external/slf4j-api-1.7.36.jar
extide/gradle/external/gradle-8.11.1-bin.zip java/maven.embedder/external/apache-maven-3.9.11-bin.zip
extide/gradle/external/gradle-8.11.1-bin.zip nbbuild/external/jsoup-1.15.3.jar
extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/hamcrest-core-1.3.jar
extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit4/external/junit-4.13.2.jar
extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.junit5/external/opentest4j-1.3.0.jar
extide/gradle/external/gradle-8.11.1-bin.zip platform/libs.testng/external/jcommander-1.78.jar

# These are the endorsed version of the javaee apis and create libraries, so they are better kept separate
enterprise/javaee.api/external/javax.annotation-api-1.2.jar enterprise/javaee7.api/external/javax.annotation-api-1.2.jar

# ide/lsp.client and java/java.lsp.server both use LSP libraries, but are independent:
ide/lsp.client/external/org.eclipse.lsp4j-0.13.0.jar java/java.lsp.server/external/org.eclipse.lsp4j-0.13.0.jar
ide/lsp.client/external/org.eclipse.lsp4j.debug-0.13.0.jar java/java.lsp.server/external/org.eclipse.lsp4j.debug-0.13.0.jar
ide/lsp.client/external/org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar java/java.lsp.server/external/org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar
ide/lsp.client/external/org.eclipse.lsp4j.generator-0.13.0.jar java/java.lsp.server/external/org.eclipse.lsp4j.generator-0.13.0.jar
ide/lsp.client/external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar java/java.lsp.server/external/org.eclipse.lsp4j.jsonrpc-0.13.0.jar
ide/lsp.client/external/org.eclipse.xtend.lib-2.24.0.jar java/java.lsp.server/external/org.eclipse.xtend.lib-2.24.0.jar
ide/lsp.client/external/org.eclipse.xtend.lib.macro-2.24.0.jar java/java.lsp.server/external/org.eclipse.xtend.lib.macro-2.24.0.jar
ide/lsp.client/external/org.eclipse.xtext.xbase.lib-2.24.0.jar java/java.lsp.server/external/org.eclipse.xtext.xbase.lib-2.24.0.jar

# Derby jar is used when run tests, so we can ignore the duplicates
ide/db/external/derby-10.14.2.0.jar ide/db.metadata.model/external/derby-10.14.2.0.jar
ide/derby/external/derby-10.14.2.0.jar ide/db.metadata.model/external/derby-10.14.2.0.jar

# Only used as testdata (not redistributed) and modules should be testable independed of each other
webcommon/javascript2.doc/external/testfiles-jsdoc-1.zip webcommon/javascript2.editor/external/testfiles-jsdoc-1.zip
webcommon/javascript2.editor/external/testfiles-jsdoc-1.zip webcommon/javascript2.extdoc/external/testfiles-jsdoc-1.zip
webcommon/javascript2.extdoc/external/testfiles-jsdoc-1.zip webcommon/javascript2.jsdoc/external/testfiles-jsdoc-1.zip
webcommon/javascript2.jsdoc/external/testfiles-jsdoc-1.zip webcommon/javascript2.sdoc/external/testfiles-jsdoc-1.zip

# not part of the product:
harness/apisupport.harness/external/launcher-external-binaries-3-282bbc032bcd.zip platform/o.n.bootstrap/external/launcher-external-binaries-3-282bbc032bcd.zip
harness/apisupport.harness/external/launcher-external-binaries-3-282bbc032bcd.zip nb/ide.launcher/external/launcher-external-binaries-3-282bbc032bcd.zip
nb/ide.launcher/external/launcher-external-binaries-3-282bbc032bcd.zip platform/o.n.bootstrap/external/launcher-external-binaries-3-282bbc032bcd.zip
nb/ide.launcher/external/launcher-external-binaries-3-282bbc032bcd.zip harness/apisupport.harness/external/launcher-external-binaries-3-282bbc032bcd.zip

# only one is part of the product:
java/libs.javacapi/external/nb-javac-jdk-25+31.1-api.jar java/libs.nbjavacapi/external/nb-javac-jdk-25+31.1-api.jar
java/libs.javacapi/external/nb-javac-jdk-25+31.1.jar java/libs.nbjavacapi/external/nb-javac-jdk-25+31.1.jar

# Used only in unittests for mysql db specific tests
ide/db.metadata.model/external/mysql-connector-j-8.0.31.jar ide/db.mysql/external/mysql-connector-j-8.0.31.jar

# Jakarta EE API doc is repackaged to align with old NetBeans format, embedded indexes are thus identically and can be ignored.
enterprise/jakartaee10.platform/external/generated-jakarta.jakartaee-api-10.0.0-javadoc.jar enterprise/jakartaee10.platform/external/jakarta.jakartaee-api-10.0.0-javadoc.jar
enterprise/jakartaee11.platform/external/generated-jakarta.jakartaee-api-11.0.0-javadoc.jar enterprise/jakartaee11.platform/external/jakarta.jakartaee-api-11.0.0-javadoc.jar

# Jakarta Servlet API is used by both servletjspapi and websvc.restlib
enterprise/servletjspapi/external/jakarta.servlet-api-4.0.4.jar enterprise/websvc.restlib/external/jakarta.servlet-api-4.0.4.jar

# The enterprise usage is for library - it is better to keep the two separate
ide/servletapi/external/jakarta.servlet-api-4.0.4.jar enterprise/websvc.restlib/external/jakarta.servlet-api-4.0.4.jar

# The library is used for compilation, but is not distributed, as graalsdk.system relies on JDK-provided packages at runtime
ide/libs.graalsdk/external/graal-sdk-20.3.0.jar ide/libs.graalsdk.system/external/graal-sdk-20.3.0.jar
ide/libs.graalsdk/external/launcher-common-20.3.0.jar ide/libs.graalsdk.system/external/launcher-common-20.3.0.jar
ide/libs.graalsdk/external/collections-24.0.0.jar ide/libs.graalsdk.system/external/collections-24.0.0.jar
ide/libs.graalsdk/external/jline-24.0.0.jar ide/libs.graalsdk.system/external/jline-24.0.0.jar
ide/libs.graalsdk/external/jniutils-24.0.0.jar ide/libs.graalsdk.system/external/jniutils-24.0.0.jar
ide/libs.graalsdk/external/launcher-common-24.0.0.jar ide/libs.graalsdk.system/external/launcher-common-24.0.0.jar
ide/libs.graalsdk/external/nativeimage-24.0.0.jar ide/libs.graalsdk.system/external/nativeimage-24.0.0.jar
ide/libs.graalsdk/external/polyglot-24.0.0.jar ide/libs.graalsdk.system/external/polyglot-24.0.0.jar
ide/libs.graalsdk/external/word-24.0.0.jar ide/libs.graalsdk.system/external/word-24.0.0.jar

# Intentionally duplicated (in web.jspparser only as unittest dependency and copied to make license handling easier)
enterprise/web.jspparser/external/jakarta.servlet.jsp.jstl-api-1.2.7.jar enterprise/libs.jstl/external/jakarta.servlet.jsp.jstl-api-1.2.7.jar
enterprise/web.jspparser/external/jakarta.servlet.jsp.jstl-1.2.6.jar enterprise/libs.jstl/external/jakarta.servlet.jsp.jstl-1.2.6.jar
enterprise/web.jspparser/external/commons-logging-1.3.1.jar platform/o.apache.commons.logging/external/commons-logging-1.3.1.jar