ba2fa185e2
The Chain API models a computation as a series of "commands" that can be combined into a "chain". The API for a command consists of a single method (execute()), which is passed a "context" parameter containing the dynamic state of the computation, and whose return value is a boolean that determines whether or not processing for the current chain has been completed (true), or whether processing should be delegated to the next command in the chain (false). Given that command implementations are designed to conform with these recommendations, it should be feasible to utilize the Chain of Responsibility APIs in the "front controller" of a web application framework (such as Struts), but also be able to use it in the business logic and persistence tiers to model complex computational requirements via composition. In addition, separation of a computation into discrete commands that operate on a general purpose context allows easier creation of commands that are unit testable, because the impact of executing a command can be directly measured by observing the corresponding state changes in the context that is supplied. WWW: http://jakarta.apache.org/commons/chain/ PR: 86800 Submitted by: Adam VanderHook <acidos@bandwidth-junkies.net>
62 lines
1.9 KiB
Makefile
62 lines
1.9 KiB
Makefile
# New ports collection makefile for: Jakarta Commons Chain
|
|
# Date created: October 3, 2005
|
|
# Whom: Adam VanderHook <acidos@bandwidth-junkies.net>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= commons-chain
|
|
PORTVERSION= 1.0
|
|
CATEGORIES= devel java
|
|
MASTER_SITES= ${MASTER_SITE_APACHE_JAKARTA}
|
|
MASTER_SITE_SUBDIR= ${PORTNAME:S,-,/,}/source
|
|
PKGNAMEPREFIX= jakarta-
|
|
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
|
|
|
|
MAINTAINER= acidos@bandwidth-junkies.net
|
|
COMMENT= API implementing Chain of Responsiblity design pattern
|
|
|
|
BUILD_DEPENDS= ${JAR_DEPENDS}
|
|
RUN_DEPENDS= ${JAR_DEPENDS}
|
|
|
|
JAR_DEPENDS= ${JAVALIBDIR}/commons-beanutils.jar:${PORTSDIR}/java/jakarta-commons-beanutils \
|
|
${JAVALIBDIR}/commons-digester.jar:${PORTSDIR}/textproc/jakarta-commons-digester \
|
|
${JAVALIBDIR}/commons-logging.jar:${PORTSDIR}/java/jakarta-commons-logging \
|
|
${JAVALIBDIR}/myfaces.jar:${PORTSDIR}/www/myfaces \
|
|
${JAVALIBDIR}/portlet-api.jar:${PORTSDIR}/devel/portlet-api \
|
|
${JAVALIBDIR}/servlet-api.jar:${PORTSDIR}/www/servlet-api
|
|
|
|
USE_JAVA= yes
|
|
USE_ANT= yes
|
|
MAKE_ENV= CLASSPATH=${MAKE_CLASSPATH}
|
|
MAKE_ARGS= -Dnoget=yes
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
MAKE_CLASSPATH!= ${ECHO_CMD} ${JAR_DEPENDS:C|:.*$||} | ${SED} 's| |:|g'
|
|
|
|
ALL_TARGET= compile
|
|
.if !defined(NOPORTDOCS)
|
|
ALL_TARGET+= javadoc
|
|
OTHERDOCS= LICENSE.txt NOTICE.txt
|
|
PORTDOCS= api ${OTHERDOCS}
|
|
.endif
|
|
PLIST_FILES= %%JAVAJARDIR%%/${PORTNAME}.jar
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
|
|
|
|
do-install:
|
|
@${ECHO_MSG} -n ">> Installing JAR as ${JAVAJARDIR}/${PORTNAME}.jar..."
|
|
@${INSTALL_DATA} ${WRKSRC}/${PORTNAME}-${PORTVERSION}.jar ${JAVAJARDIR}/${PORTNAME}.jar
|
|
@${ECHO_MSG} " [ DONE ]"
|
|
|
|
.if !defined(NOPORTDOCS)
|
|
@${ECHO_MSG} -n ">> Installing documentation in ${DOCSDIR}/..."
|
|
@cd ${WRKSRC}/dist/docs \
|
|
&& ${FIND} api -type d -exec ${MKDIR} ${DOCSDIR}/{} \; \
|
|
&& ${FIND} api -type f -exec ${INSTALL_DATA} {} ${DOCSDIR}/{} \;
|
|
@${INSTALL_DATA} ${OTHERDOCS:S,^,${WRKSRC}/,} ${DOCSDIR}/
|
|
@${ECHO_MSG} " ${PORTDOCS} [ DONE ]"
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|