ports/java/apache-commons-collections/Makefile
Vladimir Druzenko 411ad89a83 java/apache-commons-collections: limit JAVA_VERSION from 8 to 20 because build fails with 21+
Build error with OpenJDK 21:
    [javac] /wrkdirs/usr/ports/java/apache-commons-collections/work/commons-collections-3.2.2-src/src/java/org/apache/commons/collections/CursorableLinkedList.java:188: error: addLast(Object) in CursorableLinkedList cannot implement addLast(E) in List
    [javac]     public boolean addLast(Object o) {
    [javac]                    ^
    [javac]   return type boolean is not compatible with void
    [javac]   where E is a type-variable:
    [javac]     E extends Object declared in interface List
    [javac] /wrkdirs/usr/ports/java/apache-commons-collections/work/commons-collections-3.2.2-src/src/java/org/apache/commons/collections/CursorableLinkedList.java:176: error: addFirst(Object) in CursorableLinkedList cannot implement addFirst(E) in List
    [javac]     public boolean addFirst(Object o) {
    [javac]                    ^
    [javac]   return type boolean is not compatible with void
    [javac]   where E is a type-variable:
    [javac]     E extends Object declared in interface List

New JDK 21 methods in java.util.List addFirst and addLast has a void
return type. This clashes with the existing boolean return from the
same method in AbstractLinkedList.
Upstream fixed this in 4.5.0 only. But this old 3.x branch isn't fixed.
Upstream issue: https://issues.apache.org/jira/browse/COLLECTIONS-842

PR:		279425
Reported by:	antoine (exp-run)
2024-06-10 01:27:04 +03:00

40 lines
1 KiB
Makefile

PORTNAME= commons-collections
PORTVERSION= 3.2.2
CATEGORIES= java devel
MASTER_SITES= APACHE_COMMONS_SOURCE
PKGNAMEPREFIX= apache-
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
MAINTAINER= ports@FreeBSD.org
COMMENT= Classes that extend/augment the Java Collections Framework
WWW= https://commons.apache.org/proper/commons-collections/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
USE_JAVA= yes
JAVA_VERSION= 8 11 17 18 19 20
USE_ANT= yes
ALL_TARGET= jar
NO_ARCH= yes
PLIST_FILES= ${JAVAJARDIR}/${PORTNAME}.jar
OTHERDOCS= DEVELOPERS-GUIDE.html PROPOSAL.html README.txt RELEASE-NOTES.txt
PORTDOCS= apidocs ${OTHERDOCS}
OPTIONS_DEFINE= DOCS
DOCS_ALL_TARGET= javadoc
do-install:
@${MKDIR} ${STAGEDIR}${JAVAJARDIR}
${INSTALL_DATA} ${WRKSRC}/build/${PORTNAME}-${PORTVERSION}.jar \
${STAGEDIR}${JAVAJARDIR}/${PORTNAME}.jar
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/build/docs && \
${COPYTREE_SHARE} apidocs ${STAGEDIR}${DOCSDIR})
${INSTALL_DATA} ${OTHERDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>