Project

General

Profile

build_coverage.xml

Florin Eugen Rotaru, 06/12/2025 09:39 AM

Download (3.66 KB)

 
1
<project name="hotel" default="report" basedir=".">
2
    
3
    <description>Measure Conversion Code Coverage</description>
4
    
5
    <property name="fwd.home"             value="." />
6
    <property name="app.4gl.src"          value="./abl/" />
7
    <property name="fwd.src.home"         value="${fwd.home}/p2j/src" />
8
    <property name="app.4gl.src"          value="./abl/" />
9
    <property name="app.4gl.pattern"      value="*.[pPwW]" />
10
    <property name="fwd.lib.home"         value="${fwd.home}/p2j/build/lib" />
11
    <property name="jacoco.exec"          value="${basedir}/coverage/jacoco.exec"/>
12
    <property name="deploy.home"          value="${basedir}/deploy" />
13
    <property name="fwd.build.home"       value="${fwd.home}/p2j/build" />
14
    <property name="output.dir"           value="${basedir}/coverage" />
15

    
16
    <path id="compile.classpath">
17
        <fileset dir="${fwd.lib.home}"    includes="*.jar"/>
18
    </path>
19

    
20
    <taskdef name="jacocoagent" classname="org.jacoco.ant.AgentTask">
21
        <classpath>
22
        <pathelement location="${deploy.home}/lib/org.jacoco.ant-0.8.13.jar"/>
23
        <pathelement location="${deploy.home}/lib/org.jacoco.core-0.8.13.jar"/>
24
        <pathelement location="${deploy.home}/lib/org.jacoco.agent-0.8.13.jar"/>
25
        </classpath>
26
    </taskdef>
27

    
28
    <taskdef name="jacocoreport" classname="org.jacoco.ant.ReportTask">
29
        <classpath>
30
        <pathelement location="${deploy.home}/lib/org.jacoco.ant-0.8.13.jar"/>
31
        <pathelement location="${deploy.home}/lib/org.jacoco.core-0.8.13.jar"/>
32
        <pathelement location="${deploy.home}/lib/org.jacoco.report-0.8.13.jar"/>
33
        <fileset dir="${deploy.home}/lib">
34
            <include name="asm*9.8.jar"/>
35
        </fileset>
36
        </classpath>
37
    </taskdef>
38

    
39
    <jacocoagent property="agentvmparam" destfile="${jacoco.exec}"/>
40

    
41

    
42
    <!-- create the time stamp -->
43
    <target name="init">
44
        <tstamp/>
45

    
46
        <!-- copy embedded program code -->
47
        <copy todir="${app.4gl.src}">
48
            <fileset dir="${fwd.src.home}/4gl/embedded/" includes="**" />
49
        </copy>
50
    </target>
51

    
52
    <target name="convert"
53
            depends="init"
54
            description="Convert the 4GL source code to Java source code, using a pattern as input.">
55
        <record name="cvt_${LOG_STAMP}.log" action="start"/>
56
        <java classname="com.goldencode.p2j.convert.ConversionDriver"
57
                fork="true"
58
                failonerror="true"
59
                dir="${basedir}">
60
            <jvmarg value="${agentvmparam}"/>
61
            <jvmarg value="-server"/>
62
            <jvmarg value="-Xmx4G"/>
63
            <jvmarg value="-XX:-OmitStackTraceInFastThrow"/>
64
            <jvmarg value="-DP2J_HOME=${fwd.home}"/>
65
            <arg value="-SId2"/>
66
            <arg value="f2+m0+cb"/>
67
            <arg value="${app.4gl.src}"/>
68
            <arg value="${app.4gl.pattern}"/>
69
            <classpath refid="compile.classpath"/>
70
        </java>
71
        <record name="cvt_${LOG_STAMP}.log" action="stop"/>
72
    </target>
73

    
74
    <target name="report" depends="convert">
75
        <jacocoreport>
76
            <executiondata>
77
                <file file="${jacoco.exec}"/>
78
            </executiondata>
79
        <structure name="JaCoCo Report">
80
            <classfiles>
81
                <fileset dir="${fwd.build.home}/classes/com/goldencode/p2j">
82
                    <include name="**/*.class"/>
83
                </fileset>
84
            </classfiles>
85
            <sourcefiles encoding="UTF-8">
86
                <fileset dir="${fwd.src.home}">
87
                    <include name="**/*.java"/>
88
                </fileset>
89
            </sourcefiles>
90
        </structure>
91
        <html destdir="${output.dir}"/>
92
        </jacocoreport>
93
    </target>
94

    
95
</project>
96

    
97