svn commit: r453438 - head/Mk
Kyle Evans
kevans at FreeBSD.org
Sat Nov 4 01:16:33 UTC 2017
Author: kevans (src committer)
Date: Sat Nov 4 01:16:31 2017
New Revision: 453438
URL: https://svnweb.freebsd.org/changeset/ports/453438
Log:
Mk/bsd.java.mk: Strict JAVA_{VERSION,VENDOR,ERROR} validation
Currently, validation of JAVA_{VERSION,VENDOR,ERROR} does not constitute an
error and make(1) will happily continue, potentially doing the wrong thing.
Adjust the behavior as follows:
- Only validate each var if it's defined
- Remain verbose about what error exists and what's expected
- Fail the build if validation fails
bsd.java.mk exhibited this behavior up until r217132 inadvertently changed
it to be non-fatal.
PR: 220737
Approved by: portmgr (bdrewery)
Modified:
head/Mk/bsd.java.mk
Modified: head/Mk/bsd.java.mk
==============================================================================
--- head/Mk/bsd.java.mk Fri Nov 3 23:58:45 2017 (r453437)
+++ head/Mk/bsd.java.mk Sat Nov 4 01:16:31 2017 (r453438)
@@ -216,33 +216,39 @@ check-makevars::
. endfor
# Error checking: JAVA_VERSION
+.if defined(JAVA_VERSION)
.if !defined(_JAVA_VERSION_LIST_REGEXP)
_JAVA_VERSION_LIST_REGEXP= ${_JAVA_VERSION_LIST:C/\+/\\+/:ts|}
.endif
check-makevars::
- @test ! -z "${JAVA_VERSION}" && ( ${ECHO_CMD} "${JAVA_VERSION}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_VERSION_LIST_REGEXP}" || \
- (${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_VERSION}\" is not a valid value for JAVA_VERSION. It should be one or more of: ${__JAVA_VERSION_LIST} (with an optional \"+\" suffix.)"; ${FALSE})) || true
+ @( test ! -z "${JAVA_VERSION}" && ( ${ECHO_CMD} "${JAVA_VERSION}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_VERSION_LIST_REGEXP}")) || \
+ (${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_VERSION}\" is not a valid value for JAVA_VERSION. It should be one or more of: ${__JAVA_VERSION_LIST} (with an optional \"+\" suffix.)"; ${FALSE})
+.endif
# Error checking: JAVA_VENDOR
+.if defined(JAVA_VENDOR)
.if !defined(_JAVA_VENDOR_LIST_REGEXP)
_JAVA_VENDOR_LIST_REGEXP= ${_JAVA_VENDOR_LIST:ts|}
.endif
check-makevars::
- @test ! -z "${JAVA_VENDOR}" && ( ${ECHO_CMD} "${JAVA_VENDOR}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_VENDOR_LIST_REGEXP}" || \
+ @( test ! -z "${JAVA_VENDOR}" && ( ${ECHO_CMD} "${JAVA_VENDOR}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_VENDOR_LIST_REGEXP}" )) || \
(${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_VENDOR}\" is not a valid value for JAVA_VENDOR. It should be one or more of: ${_JAVA_VENDOR_LIST}"; \
- ${FALSE})) || true
+ ${FALSE})
+.endif
# Error checking: JAVA_OS
+.if defined(JAVA_OS)
.if !defined(_JAVA_OS_LIST_REGEXP)
_JAVA_OS_LIST_REGEXP= ${_JAVA_OS_LIST:ts|}
.endif
check-makevars::
- @test ! -z "${JAVA_OS}" && ( ${ECHO_CMD} "${JAVA_OS}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_OS_LIST_REGEXP}" || \
+ @( test ! -z "${JAVA_OS}" && ( ${ECHO_CMD} "${JAVA_OS}" | ${TR} " " "\n" | ${GREP} -Eq "${_JAVA_OS_LIST_REGEXP}")) || \
(${ECHO_CMD} "${PKGNAME}: Makefile error: \"${JAVA_OS}\" is not a valid value for JAVA_OS. It should be one or more of: ${_JAVA_OS_LIST}"; \
- ${FALSE})) || true
+ ${FALSE})
+.endif
# Set default values for JAVA_BUILD and JAVA_RUN
# When nothing is set, assume JAVA_BUILD=jdk and JAVA_RUN=jre
More information about the svn-ports-all
mailing list