Age | Commit message (Collapse) | Author |
|
This is a change that was made in the isode repository some months ago
(as part of some other isode-specific changes) which did not get
propagated into the swift repository.
If you're on a system with Java7, then by default when you build
Stroke you'll get classfiles that only for for Java7 and later (you
can't run them under Java6 for example). This causes problems in two
specific cases:
1) some unit tests fail with java.lang.VerifyError
2) stroke's jar file will not be compatible with Android
The unit tests which fail show errors like this:
<error message="Instruction type does not match stack map in method com.isode.stroke.base.ByteArrayTest.byteify([I)[B at offset 31" type="java.lang.VerifyError">java.lang.VerifyError: Instruction type does not match stack map in method com.isode.stroke.base.ByteArrayTest.byteify([I)[B at offset 31
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
</error>
this appears to be due to a limitation of Cobertura 1.9, and is
supposedly fixed with Cobertura 2.0.3
https://github.com/stevesaliman/gradle-cobertura-plugin/issues/2
However, when I tried using the updated version of cobertura there
appear to be other issues, so I think that needs looking at
separately.
The other problem with 1.7 is that Android doesn't yet support 1.7
format class files, and so you need to build with -target=1.6 if you
want to be able to use the resultant stroke.jar on Android.
So for these reasons, and because Stroke has no need of any 1.7
features, it seems pragmatic to change the "source" and "target"
parameters of the build files to use 1.6.
I'll look at the cobertura thing separately.
Test-information:
Checked out stroke, added this change, did a build/test to make sure
things worked ok. Unit tests work ok (before this change, they fail
with java.lang.* errors)
Change-Id: I8ad3b8e341eebef13ae647d6e66706e4265432ca
|
|
Change-Id: I373469fa7a7ba8d5c639d4a1f2d4e07182eeb953
|
|
Change-Id: Ib4717891c591911e68a5b27b7af4e666b6296d48
|
|
Change-Id: Ic7adcf9790429c23b9493ec22324198bfc474b6f
|
|
Change-Id: I0e333781b140a97788e35d401e054a413af0ab76
|
|
Change-Id: Ia1460c62f0bce645248b2412a60a6ad7420ae849
|
|
Also adds a 'make test' target for the Makefile. Set the JUNIT environment variable to point to your jar if it doesn't find it.
|
|
|
|
|
|
|
|
|
|
This change adds a javadoc target to the build file for stroke, so
that you can do
% cd build/stroke
% ant javadoc
I have not updated any of the other build infrastructure (Makefile
etc.). Nor have I added any intelligence to the "javadoc" task so
that it won't bother creating documentation if the doc is already up
to date etc..
Note that I've not used the "linkoffline" directive, which means that
if you try to generate doc when the Oracle web pages are offline,
things may hang until the connection times out.
Test-information:
"ant javadoc" works as expected
"isodebuild clean -component=stroke" gets rid of any javadoc
|
|
Also updates build.xml so the path to the xpp library can be specified,
rather than needing the same layout as my build tree.
|
|
|