Developers (#1) - cannnot build 6.0 with ANT - unknown constructor (#199) - Message List

cannnot build 6.0 with ANT - unknown constructor

When I try to build current trunk for BB 6.0, I get the following error:

D:\logicmail\LogicMail>ant dist
Buildfile: D:\logicmail\LogicMail\build.xml
build:
     [copy] Copying 1 file to D:\logicmail\LogicMail\dist\BB450
   [delete] Deleting: D:\logicmail\LogicMail\dist\BB450\logicmail.png
     [copy] Copying 1 file to D:\logicmail\LogicMail\dist\BB460
   [delete] Deleting: D:\logicmail\LogicMail\dist\BB460\logicmail.png
     [copy] Copying 1 file to D:\logicmail\LogicMail\dist\BB470
   [delete] Deleting: D:\logicmail\LogicMail\dist\BB470\logicmail.png
     [copy] Copying 1 file to D:\logicmail\LogicMail\dist\BB500
   [delete] Deleting: D:\logicmail\LogicMail\dist\BB500\logicmail.png
     [rapc] Compiling 398 source files to LogicMail.cod
     [rapc] D:\logicmail\LogicMail\src\org\logicprobe\LogicMail\util\AbstractNetworkConnector.java:229: cannot find symbol
     [rapc] symbol  : constructor Connection(net.rim.device.api.crypto.tls.tls10.TLS10Connection,int)
     [rapc] location: class org.logicprobe.LogicMail.util.Connection
     [rapc]             Connection tlsConnection = new Connection(tlsSocket, connection.getConnectionType());
     [rapc]                                        ^
     [rapc] Note: Some input files use or override a deprecated API.
     [rapc] Note: Recompile with -Xlint:deprecation for details.
     [rapc] 1 error
     [rapc] Error!: Error: java compiler failed: javac @C:\Users\Adam\AppData\Local\Temp\rapc_5cecd1e5.dir\options
BUILD FAILED
D:\logicmail\LogicMail\build.xml:170: The following error occur
red while executing this line:
D:\logicmail\LogicMail\build.xml:70: Java returned: 97
Total time: 5 seconds

From my analysis of the problem, [  http://www.blackberry.com/developers/docs/6.0.0api/net/rim/device/api/crypto/tls/tls10/TLS10Connection.html net.rim.device.api.crypto.tls.tls10.TLS10Connection] in JDK 6.0 no longer implements javax.microedition.io.SocketConnection, which is used in the constructor public Connection(SocketConnection socket, int connectionType) throws IOException.

So my question is, how does this work? I've noticed that your committed build.properties are on net.rim.ejde.componentpack6.0.0_6.0.0.29, while the ones I'm using are net.rim.ejde.componentpack6.0.0_6.0.0.30. Would this be the difference? Can you verify in Eclipse that your TLS10Connection from JRE 6.0.0 looks like this:

public class net.rim.device.api.crypto.tls.tls10.TLS10Connection implements
net.rim.device.api.io.ParentStreamProvider,
net.rim.device.api.io.ConnectionCloseProvider,
net.rim.device.api.io.ConnectionCloseListener,
net.rim.device.api.io.SocketConnectionEnhanced

or is it different? How does this compile in your ant build?

  • Message #576

    When I change the settings for LogicMail project in Eclipse to require BB JRE 6.0.0, the error is also present in Eclipse, so this is in no way ant-specific.

    Is it possible that RIM changed TLS10Connection from 6.0.0.29 to 6.0.0.30 this way? If so, what are your plans for this? SDK 7.0.0.21 also has TLS10Connection looking like this, i.e. not implementing javax.microedition.io.SocketConnection.

  • Message #577

    I just checked the build server, which is based off the first release of the 6.0 component pack, and I haven't updated since.

    On there, TLS10Connection implements net.rim.device.cldc.io.ssl.SSLConnection, which implements javax.microedition.io.SecureConnection, which implements SocketConnection. Of course this entire chain is undocumented, and I had to un-jar and jad (java decompiler) TLS10Connection to find it.

    Then I just checked with net_rim_api.jar from the component pack you mentioned (6.0.0.30), and I can confirm that "SSLConnection" is no longer on the list of implemented interfaces. However, all the methods that were ultimately provided through that interface are still there.

    Now I want to see what sort of connection object is actually returned in 6.0 for a pure SSL socket (it was TLS10Connection in the past).

    But anyways, I'll need to fix this, and may wind up just wrapping TLS10Connection in a decorator that actually implements SocketConnection.

    • Message #579

      Sorry for the late reply - this got into spam for an unknown reason :)

      I think it will need to be fixed, since in 6.0 they did this change, and this is also the case in 7.0, so I guess it's an intentional change on RIM's part.

      PS. Is there a ticket I can follow? :)

      Never mind, found [946]. Thanks :)

Subscriptions

Moderation