Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 527610 | Differences between
and this patch

Collapse All | Expand All

(-)a/jpa/eclipselink.jpa.test/antbuild.xml (-42 / +33 lines)
Lines 198-204 Link Here
198
    </condition>
198
    </condition>
199
    <!-- This checks if the Application Server is JBoss -->
199
    <!-- This checks if the Application Server is JBoss -->
200
    <condition property="is.jboss">
200
    <condition property="is.jboss">
201
        <contains string="${server.name}" substring="jboss"/>
201
        <or>
202
            <contains string="${server.name}" substring="jboss"/>
203
            <contains string="${server.name}" substring="wildfly"/>
204
        </or>
202
    </condition>
205
    </condition>
203
206
204
    <!-- This checks if the Application Server is WebSphere -->
207
    <!-- This checks if the Application Server is WebSphere -->
Lines 234-248 Link Here
234
            <fileset dir="${spring.jlib.dir}" includes="${spring.jlib}"/>
237
            <fileset dir="${spring.jlib.dir}" includes="${spring.jlib}"/>
235
            <pathelement path="."/>
238
            <pathelement path="."/>
236
    </path>
239
    </path>
237
    <!-- This checks if the Apllication Server is applicable to run oracle jpa/customfeatures model on oracle db-->
240
    <!-- This checks if the Aplication Server is applicable to run oracle jpa/customfeatures model on oracle db-->
238
    <condition property="run.jpa.customfeatures.model">
241
    <condition property="run.jpa.customfeatures.model">
239
        <and>
242
        <and>
240
            <contains string="${db.driver}" substring="oracle"/>
243
            <contains string="${db.driver}" substring="oracle"/>
241
            <or>
244
            <or>
242
                <contains string="${server.name}" substring="weblogic"/>
245
                <istrue value="${is.weblogic}"/>
243
                <!--contains string="${server.name}" substring="websphere"/-->
246
                <!--istrue value="${is.websphere}"/-->
244
                <contains string="${server.name}" substring="jboss"/>
247
                <istrue value="${is.jboss}"/>
245
                <contains string="${server.name}" substring="glassfish"/>
248
                <istrue value="${is.glassfish}"/>
246
            </or>
249
            </or>
247
        </and>
250
        </and>
248
    </condition>
251
    </condition>
Lines 269-303 Link Here
269
                <isset property="is.jboss"/>
272
                <isset property="is.jboss"/>
270
            </or>
273
            </or>
271
        </condition>
274
        </condition>
272
        <condition property="SERVER.TESTRUNNER" value="${MODEL_NAME}/${server.testrunner}">
275
        <condition property="SERVER.TESTRUNNER" value="${MODEL_NAME}/${MODEL_NAME}_ejb/${server.testrunner}">
273
            <and>
276
            <isset property="is.jboss"/>
274
                <isset property="is.jboss"/>
275
            </and>
276
        </condition>
277
        </condition>
277
        <condition property="SERVER.TESTRUNNER1" value="${MODEL_NAME}/${server.testrunner1}">
278
        <condition property="SERVER.TESTRUNNER1" value="${MODEL_NAME}/${MODEL_NAME}_ejb/${server.testrunner1}">
278
            <and>
279
            <isset property="is.jboss"/>
279
                <isset property="is.jboss"/>
280
            </and>
281
        </condition>
280
        </condition>
282
        <condition property="SERVER.TESTRUNNER2" value="${MODEL_NAME}/${server.testrunner2}">
281
        <condition property="SERVER.TESTRUNNER2" value="${MODEL_NAME}/${MODEL_NAME}_ejb/${server.testrunner2}">
283
            <and>
282
            <isset property="is.jboss"/>
284
                <isset property="is.jboss"/>
285
            </and>
286
        </condition>
283
        </condition>
287
        <condition property="SERVER.TESTRUNNER3" value="${MODEL_NAME}/${server.testrunner3}">
284
        <condition property="SERVER.TESTRUNNER3" value="${MODEL_NAME}/${MODEL_NAME}_ejb/${server.testrunner3}">
288
            <and>
285
            <isset property="is.jboss"/>
289
                <isset property="is.jboss"/>
290
            </and>
291
        </condition>
286
        </condition>
292
        <condition property="SERVER.TESTRUNNER4" value="${MODEL_NAME}/${server.testrunner4}">
287
        <condition property="SERVER.TESTRUNNER4" value="${MODEL_NAME}/${MODEL_NAME}_ejb/${server.testrunner4}">
293
            <and>
288
            <isset property="is.jboss"/>
294
                <isset property="is.jboss"/>
295
            </and>
296
        </condition>
289
        </condition>
297
        <condition property="SERVER.TESTRUNNER5" value="${MODEL_NAME}/${server.testrunner5}">
290
        <condition property="SERVER.TESTRUNNER5" value="${MODEL_NAME}/${MODEL_NAME}_ejb/${server.testrunner5}">
298
            <and>
291
            <isset property="is.jboss"/>
299
                <isset property="is.jboss"/>
300
            </and>
301
        </condition>
292
        </condition>
302
        <property name="SERVER.URL" value="${server.url}${MODEL_NAME}"/>
293
        <property name="SERVER.URL" value="${server.url}${MODEL_NAME}"/>
303
        <property name="SERVER.TESTRUNNER" value="${server.testrunner}"/>
294
        <property name="SERVER.TESTRUNNER" value="${server.testrunner}"/>
Lines 308-314 Link Here
308
        <property name="SERVER.TESTRUNNER5" value="${server.testrunner5}"/>
299
        <property name="SERVER.TESTRUNNER5" value="${server.testrunner5}"/>
309
300
310
        <condition property="DS_NAME" value="java:/EclipseLinkDS">
301
        <condition property="DS_NAME" value="java:/EclipseLinkDS">
311
            <contains string="${server.name}" substring="jboss"/>
302
            <isset property="is.jboss"/>
312
        </condition>
303
        </condition>
313
        <condition property="DS_NAME" value="jdbc/EclipseLinkDS">
304
        <condition property="DS_NAME" value="jdbc/EclipseLinkDS">
314
            <not>
305
            <not>
Lines 317-323 Link Here
317
        </condition>
308
        </condition>
318
309
319
        <condition property="DS2_NAME" value="java:/EclipseLinkDS2">
310
        <condition property="DS2_NAME" value="java:/EclipseLinkDS2">
320
            <contains string="${server.name}" substring="jboss"/>
311
            <isset property="is.jboss"/>
321
        </condition>
312
        </condition>
322
        <condition property="DS2_NAME" value="jdbc/EclipseLinkDS2">
313
        <condition property="DS2_NAME" value="jdbc/EclipseLinkDS2">
323
            <not>
314
            <not>
Lines 326-332 Link Here
326
        </condition>
317
        </condition>
327
318
328
        <condition property="DS3_NAME" value="java:/EclipseLinkDS3">
319
        <condition property="DS3_NAME" value="java:/EclipseLinkDS3">
329
            <contains string="${server.name}" substring="jboss"/>
320
            <isset property="is.jboss"/>
330
        </condition>
321
        </condition>
331
        <condition property="DS3_NAME" value="jdbc/EclipseLinkDS3">
322
        <condition property="DS3_NAME" value="jdbc/EclipseLinkDS3">
332
            <not>
323
            <not>
Lines 335-341 Link Here
335
        </condition>
326
        </condition>
336
327
337
        <condition property="NONJTA_DS_NAME" value="java:/ELNonJTADS">
328
        <condition property="NONJTA_DS_NAME" value="java:/ELNonJTADS">
338
            <contains string="${server.name}" substring="jboss"/>
329
            <isset property="is.jboss"/>
339
        </condition>
330
        </condition>
340
        <condition property="NONJTA_DS_NAME" value="jdbc/ELNonJTADS">
331
        <condition property="NONJTA_DS_NAME" value="jdbc/ELNonJTADS">
341
            <not>
332
            <not>
Lines 344-350 Link Here
344
        </condition>
335
        </condition>
345
336
346
        <condition property="NONJTA_DS2_NAME" value="java:/ELNonJTADS2">
337
        <condition property="NONJTA_DS2_NAME" value="java:/ELNonJTADS2">
347
            <contains string="${server.name}" substring="jboss"/>
338
            <isset property="is.jboss"/>
348
        </condition>
339
        </condition>
349
        <condition property="NONJTA_DS2_NAME" value="jdbc/ELNonJTADS2">
340
        <condition property="NONJTA_DS2_NAME" value="jdbc/ELNonJTADS2">
350
            <not>
341
            <not>
Lines 353-359 Link Here
353
        </condition>
344
        </condition>
354
345
355
        <condition property="NONJTA_DS3_NAME" value="java:/ELNonJTADS3">
346
        <condition property="NONJTA_DS3_NAME" value="java:/ELNonJTADS3">
356
            <contains string="${server.name}" substring="jboss"/>
347
            <isset property="is.jboss"/>
357
        </condition>
348
        </condition>
358
        <condition property="NONJTA_DS3_NAME" value="jdbc/ELNonJTADS3">
349
        <condition property="NONJTA_DS3_NAME" value="jdbc/ELNonJTADS3">
359
            <not>
350
            <not>
Lines 917-929 Link Here
917
    </target>
908
    </target>
918
909
919
    <!-- Packages JPA persistent unit test jars. -->
910
    <!-- Packages JPA persistent unit test jars. -->
920
    <target name="package" depends="config-classpath, package-annotation, package-ddl, package-xml-only, package-xml-merge, package-jpa21-model, 
911
    <target name="package" depends="config-classpath, package-annotation, package-ddl, package-xml-only, package-xml-merge, package-jpa21-model,
921
    package-jpa22-model, package-xml-extended, package-validation-failed, package-jpa-advanced-field-access, package-jpa-advanced-properties, 
912
    package-jpa22-model, package-xml-extended, package-validation-failed, package-jpa-advanced-field-access, package-jpa-advanced-properties,
922
    package-jpa-pu_with_spaces, package-partitioned, package-plsql, package-jpa-performance, package-jpa-performance2, package-cascade-deletes, 
913
    package-jpa-pu_with_spaces, package-partitioned, package-plsql, package-jpa-performance, package-jpa-performance2, package-cascade-deletes,
923
    package-jpa-metamodel, package-delimited, package-beanvalidation, package-beanvalidation-dynamic, package-composite-advanced, 
914
    package-jpa-metamodel, package-delimited, package-beanvalidation, package-beanvalidation-dynamic, package-composite-advanced,
924
    package-composite-advanced-member_1, package-composite-advanced-member_2, package-composite-advanced-member_3, package-xml-composite-advanced, 
915
    package-composite-advanced-member_1, package-composite-advanced-member_2, package-composite-advanced-member_3, package-xml-composite-advanced,
925
    package-xml-composite-advanced-member_1, package-xml-composite-advanced-member_2, package-xml-composite-advanced-member_3,
916
    package-xml-composite-advanced-member_1, package-xml-composite-advanced-member_2, package-xml-composite-advanced-member_3,
926
    package-xml-extended-composite-advanced, package-xml-extended-composite-advanced-member_1, package-xml-extended-composite-advanced-member_2, 
917
    package-xml-extended-composite-advanced, package-xml-extended-composite-advanced-member_1, package-xml-extended-composite-advanced-member_2,
927
    package-xml-extended-composite-advanced-member_3, package-extensibility, package-jpa-remote, package-identity-model,
918
    package-xml-extended-composite-advanced-member_3, package-extensibility, package-jpa-remote, package-identity-model,
928
    package-xml-mapping-metadata-complete" description="build EclipseLink jar">
919
    package-xml-mapping-metadata-complete" description="build EclipseLink jar">
929
        <jar jarfile="${jpatest.basedir}/${jpatest.framework.jar}">
920
        <jar jarfile="${jpatest.basedir}/${jpatest.framework.jar}">
(-)a/jpa/eclipselink.jpa.test/resource/wildfly/eclipselink-module-template.xsl (+93 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--/*******************************************************************************
3
* Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
4
* This program and the accompanying materials are made available under the
5
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
6
* which accompanies this distribution.
7
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
8
* and the Eclipse Distribution License is available at
9
* http://www.eclipse.org/org/documents/edl-v10.php.
10
*
11
* Contributors:
12
*     Lukas - initial API and implementation
13
#******************************************************************************/-->
14
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="urn:jboss:module:1.5">
15
    <xsl:output method="xml" indent="yes" xalan:indent-amount="4" xmlns:xalan="http://xml.apache.org/xalan" />
16
    <xsl:param name="separator" select="':'"/>
17
    <!-- '$separator' delimited list of resources/jars -->
18
    <xsl:param name="resources" select="''"/>
19
    <xsl:param name="dependencies" select="''"/>
20
21
    <xsl:template match="@* | node()">
22
        <xsl:copy>
23
            <xsl:apply-templates select="@* | node()"/>
24
        </xsl:copy>
25
    </xsl:template>
26
27
    <xsl:template match="*[local-name() = 'resources']">
28
        <xsl:element name="resources">
29
            <xsl:for-each select="*[local-name() = 'resource-root']">
30
                <xsl:copy-of select="."/>
31
            </xsl:for-each>
32
            <xsl:call-template name="tokenize">
33
                <xsl:with-param name="text" select="normalize-space($resources)"/>
34
                <xsl:with-param name="elName" select="'resource-root'"/>
35
                <xsl:with-param name="attrName" select="'path'"/>
36
            </xsl:call-template>
37
        </xsl:element>
38
    </xsl:template>
39
40
    <xsl:template match="*[local-name() = 'dependencies']">
41
        <xsl:element name="dependencies">
42
            <xsl:for-each select="*[local-name() = 'module']">
43
                <xsl:copy-of select="."/>
44
            </xsl:for-each>
45
            <xsl:call-template name="tokenize">
46
                <xsl:with-param name="text" select="normalize-space($dependencies)"/>
47
                <xsl:with-param name="elName" select="'module'"/>
48
                <xsl:with-param name="attrName" select="'name'"/>
49
            </xsl:call-template>
50
        </xsl:element>
51
    </xsl:template>
52
53
    <xsl:template name="tokenize">
54
        <xsl:param name="text"/>
55
        <xsl:param name="elName"/>
56
        <xsl:param name="attrName"/>
57
        <xsl:param name="s" select="$separator"/>
58
        <xsl:if test="$text != ''">
59
            <xsl:choose>
60
                <xsl:when test="not(contains($text, $s))">
61
                    <xsl:if test="not(//*[@path=$text])">
62
                        <xsl:element name="{$elName}">
63
                            <xsl:attribute name="{$attrName}">
64
                                <xsl:value-of select="normalize-space($text)"/>
65
                            </xsl:attribute>
66
                            <xsl:if test="$elName = 'module'">
67
                                <xsl:attribute name="export">true</xsl:attribute>
68
                            </xsl:if>
69
                        </xsl:element>
70
                    </xsl:if>
71
                </xsl:when>
72
                <xsl:otherwise>
73
                    <xsl:variable name="norm" select="normalize-space(substring-before($text, $s))"/>
74
                    <xsl:if test="not(//*[@path=$norm])">
75
                        <xsl:element name="{$elName}">
76
                            <xsl:attribute name="{$attrName}">
77
                                <xsl:value-of select="$norm"/>
78
                            </xsl:attribute>
79
                            <xsl:if test="$elName = 'module'">
80
                                <xsl:attribute name="export">true</xsl:attribute>
81
                            </xsl:if>
82
                        </xsl:element>
83
                    </xsl:if>
84
                    <xsl:call-template name="tokenize">
85
                        <xsl:with-param name="text" select="normalize-space(substring-after($text, $s))"/>
86
                        <xsl:with-param name="elName" select="$elName"/>
87
                        <xsl:with-param name="attrName" select="$attrName"/>
88
                    </xsl:call-template>
89
                </xsl:otherwise>
90
            </xsl:choose>
91
        </xsl:if>
92
    </xsl:template>
93
</xsl:stylesheet>
(-)a/jpa/eclipselink.jpa.test/wildfly.properties (+37 lines)
Added Link Here
1
## JBoss Server Testing Environment Properties.
2
3
## Standard server properties.
4
server.platform=JBoss
5
server.platform.class=jboss-platform
6
server.factory=org.jboss.naming.remote.client.InitialContextFactory
7
java.naming.factory.url.pkgs=org.jboss.ejb.client.naming
8
server.depend=jboss-client.jar
9
10
wildfly.server=${wildfly.home}
11
server.lib=${wildfly.home}/bin/client
12
server.url=http-remoting://localhost:8080/
13
server.user=admin
14
server.pwd=admin
15
16
## WildFly specific properties.
17
wildfly.home=/Users/lukas/java/wildfly-11.0.0.Final
18
wildfly.config=standalone-full.xml
19
20
server.testrunner=TestRunner!org.eclipse.persistence.testing.framework.server.TestRunner
21
server.testrunner1=TestRunner1!org.eclipse.persistence.testing.framework.server.TestRunner1
22
server.testrunner2=TestRunner2!org.eclipse.persistence.testing.framework.server.TestRunner2
23
server.testrunner3=TestRunner3!org.eclipse.persistence.testing.framework.server.TestRunner3
24
server.testrunner4=TestRunner4!org.eclipse.persistence.testing.framework.server.TestRunner4
25
server.testrunner5=TestRunner5!org.eclipse.persistence.testing.framework.server.TestRunner5
26
server.testrunner.wdf=ServerTestRunner/remote-org.eclipse.persistence.testing.framework.wdf.server.ServerTestRunner
27
persistence10.jar=${jboss.home}/common/lib/ejb3-persistence.jar
28
29
# The following only for JBoss-eap 5.0 testing,and it actually point to JPA1.0 unsigned jar (javax.persistence_unsigned_for_testing_1.0.0.jar),
30
# and this jar will be added at very beginning of client classpath
31
server.persistence20.lib=${jboss.server}/lib
32
server.persistence20.jar=${persistence10.jar}
33
34
wildfly.jtaDs.name=EclipseLinkDS
35
wildfly.nonJtaDs.name=ELNonJTADS
36
wildfly.jtaDs.jndi=java:/${wildfly.jtaDs.name}
37
wildfly.nonJtaDs.jndi=java:/${wildfly.nonJtaDs.name}
(-)a/jpa/eclipselink.jpa.test/wildfly.xml (-1 / +247 lines)
Added Link Here
0
- 
1
<!--/*******************************************************************************
2
* This program and the accompanying materials are made available under the
3
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
4
* which accompanies this distribution.
5
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
6
* and the Eclipse Distribution License is available at
7
* http://www.eclipse.org/org/documents/edl-v10.php.
8
*
9
*   Ant naming conventions:
10
*   - regardless of the actual OS platform,'/' is the directory separator
11
*     (Ant will convert as appropriate).
12
*   - multi-word properties use periods '.'
13
*     - properties ending in .jar define jarfile names only (no path)
14
*     - properties ending in .lib are fully qualified jars (path and filename)
15
*     - properties ending in .dir are directory paths
16
*     - properties ending in .path are path refid names (classpath fragments)
17
*   - multi-word targets use hyphens '-'
18
*     - targets beginning with test- are reserved for high level test targets,
19
*       and are used in test results parsing
20
*     - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip)
21
*   - multi-word macros use underscores '_'
22
*   - multi-word macro attributes are concatenated
23
*     e.g. 'runpathref'
24
*   - multi-word tasks (taskdef) names are concatenated
25
*     e.g. 'validateconnection'
26
*   - OS environment variables are in ALLCAPS and have 'env' as a prefix
27
*     e.g. ${env.XXX}.
28
*   - Ant properties are lower case.
29
*
30
* Contributors:
31
*     Lukas - initial API and implementation
32
#******************************************************************************/-->
33
34
<!-- This ant project includes the following tasks:
35
        - wildfly-install : install binary and drivers on the server
36
        - wildfly-setup : creates connection pools and prepares environment for tests
37
        - wildfly-reset : removes connection pool, cleans up installation
38
        - wildfly-start : starts server
39
        - wildfly-stop : stops server
40
        - wildfly-deploy : deploys ear
41
        - wildfly-undeploy : undeploys ear
42
43
        It requires some configuration of the wildfly.properties, it should be run through antbuild.xml, not directly.
44
        To connect to the wildfly admin console use http://localhost:9990/console/App.html,
45
        this may be useful for debugging deployment failures.
46
        Sometimes if a test or deployment fails, your server gets screwed up
47
        and you need to re-install your domain (ant -f antbuld.xml server-reset server-install server-setup).
48
-->
49
50
<project name="Eclipse Persistence Services JPA Wildfly Testing" basedir=".">
51
52
    <property name="env" environment="env" value="env"/>
53
    <!-- Allows a user to overide certain user specific properties. -->
54
    <property file="${user.home}/wildfly.properties"/>
55
    <property file="./wildfly.properties"/>
56
57
    <property name="jdbc.driver.lib" value="${jdbc.driver.jar}"/>
58
    <property name="w.jpa.api.jar" value="${persistence22.jar}"/>
59
    <path id="eclipselink.lib">
60
        <fileset dir="${jpatest.basedir}/../../plugins/">
61
            <include name="org.eclipse.persistence.*"/>
62
            <exclude name="*.source_*"/>
63
        </fileset>
64
        <pathelement location="${jpatest.2.sdo.plugins.dir}/${commonj.sdo.jar}"/>
65
    </path>
66
67
    <!-- Set db name by check db.driver -->
68
    <condition property="db.name" value="oracle">
69
        <contains string="${db.driver}" substring="oracle"/>
70
    </condition>
71
72
    <condition property="db.name" value="mysql">
73
        <contains string="${db.driver}" substring="mysql"/>
74
    </condition>
75
76
    <condition property="db.name" value="mssql">
77
        <contains string="${db.driver}" substring="sqlserver"/>
78
    </condition>
79
80
    <condition property="db.name" value="db2">
81
        <contains string="${db.driver}" substring="db2"/>
82
    </condition>
83
84
    <condition property="db.name" value="sybase">
85
        <contains string="${db.driver}" substring="sybase"/>
86
    </condition>
87
88
    <condition property="is.eap">
89
        <contains string="${server.version}" substring="eap"/>
90
    </condition>
91
92
    <!-- JVM used to run tests -->
93
    <property name="test.junit.jvm" value="${env.JAVA_HOME}"/>
94
    <property name="test.junit.jvm.exec" value="${test.junit.jvm}/bin/java"/>
95
96
    <property name="wildfly.modules.dir" location="${wildfly.home}/modules/system/layers/base"/>
97
98
    <target name="-backup-init">
99
        <condition property="do.backup">
100
            <not>
101
                <available file="${wildfly.modules.dir}/org/eclipse/persistence/main/module.xml.bak"/>
102
            </not>
103
        </condition>
104
    </target>
105
106
    <target name="-do-backup" description="Backup org.eclipse.persistence module definition." depends="-backup-init" if="do.backup">
107
        <move file="${wildfly.modules.dir}/org/eclipse/persistence/main/module.xml" tofile="${wildfly.modules.dir}/org/eclipse/persistence/main/module.xml.bak"/>
108
        <copy file="${wildfly.modules.dir}/javax/persistence/api/main/module.xml" tofile="${wildfly.modules.dir}/javax/persistence/api/main/module.xml.bak"/>
109
    </target>
110
111
    <target name="-wildfly-cli-init" description="Initialize 'cli' macro for jboss-cli.">
112
        <condition property="is.windows" value="true">
113
            <os family="windows"/>
114
        </condition>
115
        <condition property="is.unix" value="true">
116
            <os family="unix"/>
117
        </condition>
118
        <condition property="suffix" value="bat">
119
            <isset property="is.windows"/>
120
        </condition>
121
        <condition property="suffix" value="sh">
122
            <isset property="is.unix"/>
123
        </condition>
124
125
        <macrodef name="cli" description="Run ${wildfly.home}/bin/jboss-cli.${suffix}">
126
            <attribute name="command"/>
127
            <sequential>
128
                <echo>Executing command: @{command}</echo>
129
                <exec executable="${wildfly.home}/bin/jboss-cli.${suffix}" dir="${basedir}" resultproperty="cli.result">
130
                    <env key="JAVA_HOME" value="${test.junit.jvm}"/>
131
                    <env key="JBOSS_HOME" value="${wildfly.home}"/>
132
                    <arg value="--connect"/>
133
                    <arg value="command=@{command}"/>
134
                </exec>
135
                <echo> ==> Execution result: ${cli.result}</echo>
136
            </sequential>
137
        </macrodef>
138
    </target>
139
140
    <target name="wildfly-install" description="Install binaries on the server." depends="-do-backup,-wildfly-cli-init">
141
        <pathconvert property="eclipselink.jars" refid="eclipselink.lib" pathsep=":">
142
            <flattenmapper/>
143
        </pathconvert>
144
        <pathconvert property="junit.jars" pathsep=":">
145
            <path path="${junit.lib}"/>
146
            <flattenmapper/>
147
        </pathconvert>
148
        <xslt style="resource/wildfly/eclipselink-module-template.xsl" in="${wildfly.modules.dir}/org/eclipse/persistence/main/module.xml.bak" out="${wildfly.modules.dir}/org/eclipse/persistence/main/module.xml" force="true">
149
            <param name="resources" expression="${eclipselink.jars}"/>
150
            <param name="dependencies" expression="com.${db.name}:junit.junit"/>
151
        </xslt>
152
        <copy todir="${wildfly.modules.dir}/org/eclipse/persistence/main" flatten="true">
153
            <path refid="eclipselink.lib"/>
154
        </copy>
155
        <replaceregexp file="${wildfly.modules.dir}/javax/persistence/api/main/module.xml" match="hibernate-.*jar" replace="${w.jpa.api.jar}" byline="true"/>
156
        <copy todir="${wildfly.modules.dir}/javax/persistence/api/main" file="${jpatest.2.jpa.plugins.dir}/${w.jpa.api.jar}" verbose="true"/>
157
158
        <antcall target="wildfly-start"/>
159
        <!-- JDBC Driver -->
160
        <cli command="module add --name=com.${db.name} --resources=${jdbc.driver.lib} --dependencies=javax.api,javax.transaction.api --module-root-dir=${wildfly.modules.dir}"/>
161
        <!-- JUnit -->
162
        <cli command="module add --name=junit.junit --resources=${junit.lib} --module-root-dir=${wildfly.modules.dir}"/>
163
164
        <cli command=":reload"/>
165
    </target>
166
167
    <target name="wildfly-setup" description="Create datasources and JDBC driver definition on the Wildfly server." depends="-wildfly-cli-init">
168
        <cli command="/subsystem=datasources/jdbc-driver=${db.name}Driver:add(driver-name=${db.name}Driver,driver-module-name=com.${db.name},driver-class-name=${db.driver})"/>
169
        <cli command=":reload"/>
170
171
        <property name="w.ds.name" value="${wildfly.jtaDs.name}${db.name}Pool"/>
172
        <echo>Setting up ${w.ds.name}</echo>
173
        <cli command="data-source add --jndi-name=${wildfly.jtaDs.jndi} --name=${w.ds.name} --connection-url=${db.url} --driver-name=${db.name}Driver --user-name=${db.user} —-password=${db.pwd} --jta=true --enabled=true"/>
174
        <cli command="/subsystem=datasources/data-source=${w.ds.name}:write-attribute(name=password,value=${db.pwd})"/>
175
176
        <property name="w.nonjtads.name" value="${wildfly.nonJtaDs.name}${db.name}Pool"/>
177
        <echo>Setting up ${w.nonjtads.name}</echo>
178
        <cli command="data-source add --jndi-name=${wildfly.nonJtaDs.jndi} --name=${w.nonjtads.name} --connection-url=${db.url} --driver-name=${db.name}Driver --user-name=${db.user} —-password=${db.pwd} --jta=true --enabled=true"/>
179
        <cli command="/subsystem=datasources/data-source=${w.nonjtads.name}:write-attribute(name=password,value=${db.pwd})"/>
180
        <cli command=":reload"/>
181
182
        <cli command="/system-property=eclipselink.archive.factory:add(value=org.jipijapa.eclipselink.JBossArchiveFactoryImpl)"/>
183
        <cli command=":reload"/>
184
    </target>
185
186
    <target name="wildfly-reset" description="Revert all modifications on the server done by install/setup." depends="-wildfly-cli-init,wildfly-start">
187
        <!-- DataSources -->
188
        <cli command="data-source remove --name=${wildfly.jtaDs.name}${db.name}Pool"/>
189
        <cli command="data-source remove --name=${wildfly.nonJtaDs.name}${db.name}Pool"/>
190
        <cli command=":reload"/>
191
192
        <cli command="/subsystem=datasources/jdbc-driver=${db.name}Driver:remove"/>
193
        <cli command="/system-property=eclipselink.archive.factory:remove"/>
194
        <cli command=":reload"/>
195
196
        <!-- JDBC Driver -->
197
        <cli command="module remove --name=com.${db.name} --module-root-dir=${wildfly.modules.dir}"/>
198
        <!-- JUnit -->
199
        <cli command="module remove --name=junit.junit --module-root-dir=${wildfly.modules.dir}"/>
200
201
        <move file="${wildfly.modules.dir}/javax/persistence/api/main/module.xml.bak" tofile="${wildfly.modules.dir}/javax/persistence/api/main/module.xml" failonerror="false" verbose="true" overwrite="true"/>
202
        <delete file="${wildfly.modules.dir}/javax/persistence/api/main/${w.jpa.api.jar}" failonerror="false"/>
203
204
        <move file="${wildfly.modules.dir}/org/eclipse/persistence/main/module.xml.bak" tofile="${wildfly.modules.dir}/org/eclipse/persistence/main/module.xml" failonerror="false" verbose="true" overwrite="true"/>
205
        <pathconvert property="delete.eclipselink.jars" refid="eclipselink.lib" pathsep=",">
206
            <flattenmapper/>
207
        </pathconvert>
208
        <delete failonerror="false">
209
            <fileset dir="${wildfly.modules.dir}/org/eclipse/persistence/main" includes="${delete.eclipselink.jars}"/>
210
        </delete>
211
        <cli command=":reload"/>
212
    </target>
213
214
    <target name="wildfly-start" description="Start the server." depends="-wildfly-cli-init">
215
        <property name="additional.server.args" value=""/>
216
        <property name="additional.server.jvmOpts" value="-Xms64m -Xmx1g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=2g -Djava.net.preferIPv4Stack=true"/>
217
        <property name="w.jvmOpts" value="-Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"/>
218
        <exec executable="${wildfly.home}/bin/standalone.${suffix}" spawn="true">
219
            <env key="JAVA_HOME" value="${test.junit.jvm}"/>
220
            <env key="JBOSS_HOME" value="${wildfly.home}"/>
221
            <env key="JBOSS_MODULES_SYSTEM_PKGS" value="org.jboss.byteman"/>
222
            <env key="JAVA_OPTS" value="${additional.server.jvmOpts} ${w.jvmOpts}"/>
223
            <arg value="--server-config=${wildfly.config}"/>
224
            <arg value="-Ddb.user=${db.user}"/>
225
            <arg value="-Ddb.pwd=${db.pwd}"/>
226
            <arg line="${additional.server.args}"/>
227
        </exec>
228
        <waitfor maxwait="3" maxwaitunit="minute" checkevery="500" timeoutproperty="wildfly.not.running">
229
            <http url="http://localhost:8080/index.html"/>
230
        </waitfor>
231
        <fail if="wildfly.not.running" message="Wildfly did not start within given time"/>
232
        <echo>Wildfly is runnig at http://localhost:8080/index.html</echo>
233
    </target>
234
235
    <target name="wildfly-stop" description="Stop the server." depends="-wildfly-cli-init">
236
        <cli command=":shutdown"/>
237
    </target>
238
239
    <target name="wildfly-deploy" description="Deploy the application ear to the server." depends="-wildfly-cli-init">
240
        <cli command="deploy ${ear.name} --force"/>
241
    </target>
242
243
    <target name="wildfly-undeploy" description="Undeploy the application ear frpm the server." depends="-wildfly-cli-init">
244
        <cli command="undeploy ${application.name}.ear"/>
245
    </target>
246
247
</project>

Return to bug 527610