default version

Tommy Pham tommyhp2 at gmail.com
Wed Mar 18 04:14:04 UTC 2020


Hello everyone,

Is there way to specify explicitly the desired Java version to build?  This
is a list of ports that I found using Java:

https://pastebin.com/PEFPyJTM

I've tried using JAVA_VERSION in make.conf based on some of the internet
search but no effect.  I resorted to patching both Mk/
bsd.default-versions.mk and Mk/bsd.java.mk.  Now I can use below in my
make.conf:

.if ${HOST_NAME} == 12_1-RELEASE-amd64-default-test
  DEFAULT_VERSIONS+=java=10
.elif ${HOST_NAME} == 12_1-RELEASE-amd64-default-test8
  DEFAULT_VERSIONS+=java=18
.elif ${HOST_NAME} == 12_1-RELEASE-amd64-default-test11
  DEFAULT_VERSIONS+=java=11
.elif ${HOST_NAME} == 12_1-RELEASE-amd64-default-test12
  DEFAULT_VERSIONS+=java=12
.elif ${HOST_NAME} == 12_1-RELEASE-amd64-default-test13
  DEFAULT_VERSIONS+=java=13
.else
  DEFAULT_VERSIONS+=java=11
.endif

to checkout any JDK as needed in poudriere:

poudriere bulk -j 12_1-RELEASE-amd64 -p default -z test13

Here are some of the random spot check of 'make java-debug':

/usr/ports/devel/apache-commons-daemon

# User specified parameters:
JAVA_VERSION=                           (7 8 11 12 13)
JAVA_OS=                        native  (native)
JAVA_VENDOR=                            (openjdk oracle)
JAVA_BUILD=                     jdk
JAVA_RUN=                       jre
JAVA_EXTRACT=
JAVA_DEFAULT=                   11

# JDK port dependency selection process:
_JAVA_PORTS_POSSIBLE=           JAVA_PORT_NATIVE_OPENJDK_JDK_8
JAVA_PORT_NATIVE_OPENJDK_JDK_11 JAVA_PORT_NATIVE_OPENJDK_JDK_12
JAVA_PORT_NATIVE_OPENJDK_JDK_13 JAVA_PORT_NATIVE_OPENJDK_JDK_7
_JAVA_PORTS_INSTALLED=
_JAVA_PORTS_INSTALLED_POSSIBLE=
_JAVA_PORT=                     JAVA_PORT_NATIVE_OPENJDK_JDK_11
_JAVA_PORT_INFO=                PORT=java/openjdk11
HOME=/usr/local/openjdk11 VERSION=11 OS=native VENDOR=openjdk
_JAVA_VERSION_MIN=

# Selected JDK port:
JAVA_PORT=                      java/openjdk11
JAVA_HOME=                      /usr/local/openjdk11
JAVA_PORT_VERSION=              11
JAVA_PORT_OS=                   native  (Native)
JAVA_PORT_VENDOR=               openjdk (OpenJDK BSD Porting Team)

# Additional variables:
JAVAC=                          /usr/local/openjdk11/bin/javac
JAVA_CLASSES=                   /usr/local/openjdk11/jre/lib/rt.jar
*********************************************************************
/usr/ports/java/apache-commons-dbcp

# User specified parameters:
JAVA_VERSION=                   8       (8)
JAVA_OS=                                (native linux)
JAVA_VENDOR=                            (openjdk oracle)
JAVA_BUILD=
JAVA_RUN=                       jre
JAVA_EXTRACT=
JAVA_DEFAULT=                   11

# JDK port dependency selection process:
_JAVA_PORTS_POSSIBLE=           JAVA_PORT_NATIVE_OPENJDK_JDK_8
JAVA_PORT_LINUX_ORACLE_JDK_8
_JAVA_PORTS_INSTALLED=
_JAVA_PORTS_INSTALLED_POSSIBLE=
_JAVA_PORT=                     JAVA_PORT_LINUX_ORACLE_JDK_8
_JAVA_PORT_INFO=                PORT=java/linux-oracle-jdk18
HOME=/usr/local/linux-oracle-jdk1.8.0 VERSION=8 OS=linux VENDOR=oracle
_JAVA_VERSION_MIN=              8

# Selected JDK port:
JAVA_PORT=                      java/linux-oracle-jdk18
JAVA_HOME=                      /usr/local/linux-oracle-jdk1.8.0
JAVA_PORT_VERSION=              8
JAVA_PORT_OS=                   linux   (Linux)
JAVA_PORT_VENDOR=               oracle  (Oracle)

# Additional variables:
JAVAC=
JAVA_CLASSES=
/usr/local/linux-oracle-jdk1.8.0/jre/lib/rt.jar


If there isn't a way to specify the desired Java version, should I submit a
PR for this?  All of the ports needing Java that I'm using (Tomcat9,
Wildfly18, etc) all have Java 1.8+ and would build openjdk8 even though I
built openjdk11 first.


Thanks,
Tommy


More information about the freebsd-java mailing list