Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Highlighted
New Developer
Posts: 7
Registered: ‎02-27-2009
My Device: Bold

Unreachable code error while invoking rapc (double semicolon)

Hi ,

 

I am trying to build set of library and 1 cldc project outside ide/eclipse for build automation.  I am using ant bb-ant-tool for this

 

Now the issue i am facing is this :-

1. When i build the projects in eclipse , every  things works well , all cod files are generated  etc.

 

2. But when i try to use rapc task (bb-ant-tool) for same projects i get following error

 

[rapc] C:\professional\projects\UMP\build-workbench\cvs\src\MainProject\model\AddressBook.java:337: unreachable statement
[rapc]             ;

 

Error!: Error: java compiler failed: javac -source 1.3 -target 1.3 -g -O -d C:\DOCUME~1\TCS\LOCALS~1\Temp\rapc_1dc1f514.dir -bootclasspa ...

 

3. I looked at the location of error and found that there duplicate semicolons ;; which are causing this error. if i remove this it complies ok. (but i can not do that bcs using 3rd party project having lots of these spread across the code)

4.I can not understand how eclipse can tolerates this but bb-ant-tool rapc cannot , both use the same tools.

 

Has any one  face similar problem

 

pls help !!!!!!!!

 

 

Following is my build file :

 

<?xml version="1.0" encoding="ISO-8859-1"?>


<project basedir=".">
    <property file="project.properties" />
    <typedef classpath="./lib/bb-ant-tools1.jar" resource="bb-ant-defs.xml" />
    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
        <classpath>
            <pathelement location="./lib/ant-contrib-1.0b3.jar" />
        </classpath>
    </taskdef>

    <macrodef>
        <attribute />
        <attribute />
        <attribute />
        <attribute default="nolibs" />
        <attribute default="nolibs" />
        <sequential>
            <if>
                <equals arg1="@{deplibs}" arg2="nolibs" />
                <then>
                    <rapc output="@{output}" destdir="@{destdir}">
                        <src>
                            <fileset dir="@{srcdir}" />
                        </src>
                        <jdp />
                    </rapc>
                </then>
                <else>
                    <rapc output="@{output}" destdir="@{destdir}">
                        <src>
                            <fileset dir="@{srcdir}" />
                        </src>
                        <import>
                            <path>
                                <fileset dir="@{libdir}" includes="@{deplibs}" />
                            </path>
                        </import>
                        <jdp />
                    </rapc>
                </else>
            </if>
        </sequential>
    </macrodef>


    <macrodef>
        <attribute />
        <attribute />
        <attribute />
        <attribute />
        <attribute />
        <attribute />
        <attribute name = "iconfilename" />

        <attribute />
        <attribute />
        <attribute />
        <sequential>
            <copy file="@{iconfile}" todir="@{destdir}" />
            <rapc output="@{output}" destdir="@{destdir}" quiet="true" generatesourcelist="true"
                jdkhome="C:/Program Files/Java/jdk1.6.0_18/">
                <src>
                    <fileset dir="@{srcdir}" />
                </src>
                <import>
                    <path>
                        <fileset dir="@{libdir}" includes="@{deplibs}" />
                    </path>
                </import>
                <jdp version="@{app.version}" vendor="@{app.vendor}" title="@{app.title}" icon="@{iconfilename}" />
            </rapc>
        </sequential>
    </macrodef>


    <!-- __________________________________________________________________________________________________________ -->

    <macrodef>
        <attribute />
        <attribute />
        <sequential>
            <sigtool password="*****">
                <fileset dir="codedir" includes="includesPattern" />
            </sigtool>
        </sequential>
    </macrodef>
    <macrodef>
        <attribute />
        <attribute />
        <attribute />
        <sequential>
            <delete dir="@{distdir}" />
            <mkdir dir="@{distdir}" />
            <jadtool input="@{jadcoddir}/@{jadfilename}" destdir="@{distdir}">
                <fileset dir="@{jadcoddir}" includes="*.cod" />
            </jadtool>
        </sequential>
    </macrodef>

    <macrodef>
        <attribute name="env" />
        <attribute name="envUrl" />
        <sequential>
            <mkdir dir="${build.dir}" />
       
            <build-lib output="abc" srcdir="${src.dir}/xyz/src" destdir="${build.dir}" />
            <build-lib output="xyz" srcdir="${src.dir}/abc/src" destdir="${build.dir}" />
            <build-lib output="pqr" srcdir="${src.dir}/pqr/src" destdir="${build.dir}" />
           

            <build-cldc app.title="${app.title}" app.vendor="${app.vendor}" app.version="${app.version}"
                iconfile="${src.dir}/icon.png"
                iconfilename = "icon.png"
                output="MainProject"
                srcdir="${src.dir}/MainProject/src"
                destdir="${build.dir}"
                libdir="${build.dir}"
                deplibs="abc.jar,xyz.jar,pqr.jar" />

            <!-- signcode codedir="${build.dir}" includespattern="*.cod"/ -->
            <dist-ota distdir="${dist.dir}/@{env}" jadcoddir="${build.dir}" jadfilename="MainProject.jad" />
            <cleandir dir ="${build.dir}"/>
        </sequential>
    </macrodef>

    <macrodef>
            <attribute />
        <sequential>
            <delete failonerror="false" dir="@{dir}" />
        </sequential>
    </macrodef>

    <macrodef>
        <attribute />
        <attribute />
        <attribute />
        <sequential>
            <replaceregexp file="@file" match="@matchPattern" replace="@replacePattern" />
        </sequential>
    </macrodef>



   <target name="build">
    <echo message ="jde.home = ${jde.home}"/>
        <build-project env="dit" envurl="${dit.server.endpoint}" />
        <build-project env="sit" envurl="${sit.server.endpoint}" />
        <build-project env="prod" envurl="${prod.server.endpoint}" />
    </target>

</project>