aboutsummaryrefslogtreecommitdiffstats
path: root/www/jmeter/Makefile
blob: 31a5117649b79c6f5dd76c90d4f0ea1158effea9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Created by: Ernst de Haan <znerd@FreeBSD.org>
# $FreeBSD$

PORTNAME=   apache-jmeter
PORTVERSION=    2.11
CATEGORIES= www benchmarks java
MASTER_SITES=   ${MASTER_SITE_APACHE}
MASTER_SITE_SUBDIR= jmeter/binaries
EXTRACT_SUFX=   .tgz

MAINTAINER= mi@aldan.algebra.com
COMMENT=    Functional behaviour load and performance test application

LICENSE=    APACHE20

# These are JAR-files installed by other ports. The list should keep
# growing until all Java applications install just their own JARs -- not
# the 3rd-party ones:
RUN_DEPENDS=    ${JAVAJARDIR}/activation.jar:${PORTSDIR}/java/jaf   \
        ${JAVAJARDIR}/avalon-framework.jar:${PORTSDIR}/devel/avalon-framework   \
        ${JAVAJARDIR}/commons-codec.jar:${PORTSDIR}/java/jakarta-commons-codec  \
        ${JAVALIBDIR}/commons-collections.jar:${PORTSDIR}/java/jakarta-commons-collections  \
        ${JAVALIBDIR}/commons-httpclient.jar:${PORTSDIR}/java/jakarta-commons-httpclient    \
        ${JAVALIBDIR}/commons-io.jar:${PORTSDIR}/devel/jakarta-commons-io \
        ${JAVALIBDIR}/commons-lang.jar:${PORTSDIR}/java/jakarta-commons-lang    \
        ${JAVAJARDIR}/commons-logging.jar:${PORTSDIR}/java/jakarta-commons-logging  \
        ${JAVAJARDIR}/commons-net.jar:${PORTSDIR}/net/jakarta-commons-net   \
        ${JAVAJARDIR}/httpclient.jar:${PORTSDIR}/www/httpclient \
        ${JAVAJARDIR}/httpcore.jar:${PORTSDIR}/www/httpcore \
        ${JAVAJARDIR}/httpmime.jar:${PORTSDIR}/www/httpclient   \
        ${JAVAJARDIR}/jakarta-oro.jar:${PORTSDIR}/java/jakarta-oro  \
        ${JAVAJARDIR}/jdom.jar:${PORTSDIR}/java/jdom    \
        ${JAVAJARDIR}/junit.jar:${PORTSDIR}/java/junit  \
        ${JAVAJARDIR}/mail.jar:${PORTSDIR}/java/javamail    \
        ${JAVAJARDIR}/serializer.jar:${PORTSDIR}/textproc/xalan-j   \
        ${JAVAJARDIR}/slf4j-api.jar:${PORTSDIR}/devel/slf4j \
        ${LOCALBASE}/share/slf4j/slf4j-nop.jar:${PORTSDIR}/devel/slf4j  \
        ${JAVAJARDIR}/xalan.jar:${PORTSDIR}/textproc/xalan-j    \
        ${JAVAJARDIR}/xercesImpl.jar:${PORTSDIR}/textproc/xerces-j  \
        ${JAVAJARDIR}/xml-apis.jar:${PORTSDIR}/textproc/xerces-j    \
        ${JAVAJARDIR}/xmlgraphics-commons.jar:${PORTSDIR}/graphics/xmlgraphics-commons  \
        ${JAVAJARDIR}/xstream.jar:${PORTSDIR}/textproc/xstream  \
        ${JAVASHAREDIR}/rhino/rhino.jar:${PORTSDIR}/lang/rhino

USE_JAVA=   yes
JAVA_VERSION=   1.6+
NO_BUILD=   yes
DATADIR=    ${JAVASHAREDIR}/${PORTNAME}
SUB_FILES=  jmeter.sh
DATAFILES=  bin extras lib
# Do not even extract the MS-DOS files nor the JARs,
# that are already provided by other ports:
EXTRACT_AFTER_ARGS= --exclude '*.bat' --exclude '*.cmd' \
    ${RUN_DEPENDS:M*.jar*:C|.*/(.+).jar:.*|--exclude '\1-*.jar'|}   \
    --exclude 'oro-*.jar'

.if !defined(NOPORTDOCS)
PORTDOCS=   docs printable_docs README LICENSE
.endif

.include <bsd.port.pre.mk>

do-configure:
    ${PRINTF} '\nuser.classpath=' >> ${WRKSRC}/bin/system.properties
.for j in ${RUN_DEPENDS:C/:.*//:M*.jar}
    ${PRINTF} '$j:' >> ${WRKSRC}/bin/system.properties
.endfor
    ${PRINTF} '\n' >> ${WRKSRC}/bin/system.properties

do-install:
    cd ${WRKSRC} \
      && ${FIND} ${DATAFILES} -type d -exec ${MKDIR} ${STAGEDIR}/${DATADIR}/{} \;
    cd ${WRKSRC} \
      && ${FIND} ${DATAFILES} -type f -not -name '*.orig' -exec ${INSTALL_DATA} {} ${STAGEDIR}${DATADIR}/{} \;
.if !defined(NOPORTDOCS)
    cd ${WRKSRC} \
      && ${FIND} ${PORTDOCS} -type d -exec ${MKDIR} ${STAGEDIR}${DOCSDIR}/{} \;
    cd ${WRKSRC} \
      && ${FIND} ${PORTDOCS} -type f -exec ${INSTALL_DATA} {} ${STAGEDIR}${DOCSDIR}/{} \;
.endif
    ${INSTALL_SCRIPT} ${WRKDIR}/jmeter.sh ${STAGEDIR}${PREFIX}/bin/jmeter

# For some reason, it is not enough for these three to simply be listed in
# jmeter.properties file. JMeter refuses to start, unless they are found in lib/
BOOTSTRAP_JARS= avalon-framework xstream commons-io
post-install:
    @${LN} -s ${BOOTSTRAP_JARS:C|.*|${JAVAJARDIR}/&.jar|} ${STAGEDIR}${DATADIR}/lib/

.include <bsd.port.post.mk>