Commit Graph

35 Commits

Author SHA1 Message Date
Florian Schmaus f61ecb65e7 Make java(c|doc) use --release when available
In order to truely stay Java 8 compatible, declaring a source and
target compatiblity is not sufficient. Source compatiblity means that
the input, i.e. the code written in Java is compatible with that
particular version of the Java Language Specification (JLS). And
target compatibitliy means that the produced Java bytecode is
compatible with that particular version of the Java Virtual Machine
Specificiation (JVMS).

But there is actually a third dimension: the runtime
library (rt.jar). If signatures of methods change over java releases
within the runtime library, then the produced bytecode, may contain
calls to methods that do not exist with that exact same signature in
older java versions.

For example the family of Buffer subclasses changed the return value
of certain functions, for example flip() to not return Buffer, but the
concrete type of the current instance, e.g. CharBuffer.

If we compile now with a newer JDK, where the return type is
CharBuffer and not Buffer, then executing on an older JDK, where the
return type is Buffer, then we get java.lang.NoSuchMethodError(s)
thrown at us.

Fixes SMACK-651.
2020-04-24 10:15:13 +02:00
Florian Schmaus 3adb6c290a travis: use gradle 6.2 2020-02-23 19:12:54 +01:00
Florian Schmaus 89cb3f679b gradle: Switch to 'maven-publish' plugin 2019-09-15 23:21:21 +02:00
Florian Schmaus ff8d1b8299 travis: Add javadocAll to 'script' gradle targets
to ensure that javadocAll works correctly. A nice side-effect, this
also ensures that the package-info.java symbolic links are still
correct and haven't been replaced by some IDE or editor with the
content of the link target.
2019-09-01 23:13:20 +02:00
Florian Schmaus 2ac452fe1e travis: Use apt addon to install graphviz 2019-07-22 08:47:37 +02:00
Florian Schmaus 2da2633b0f travis: Update cache configuration 2019-07-20 10:26:49 +02:00
Florian Schmaus ce0ddcf69c travis: Remove "sudo: false" as recommended by travis 2019-07-20 10:26:49 +02:00
Florian Schmaus 8c69048be3 travis: Update the Ubuntu repositories 2019-07-20 10:26:49 +02:00
Florian Schmaus fcb95bf549 travis: Remove openjdk8, add openjdk(9|11) 2019-07-20 10:26:35 +02:00
Florian Schmaus ce57c952ce travis: Use Ubuntu 14.04 (Trusty) 2019-07-19 23:05:19 +02:00
Florian Schmaus 346a86dae0 travis: Use apt-get instead apt
It appears 'apt' is no longer available and the official documentation
only mentions apt-get.
2019-07-19 14:52:15 +02:00
Florian Schmaus 68e14bd897 travis: Also call 'install' target
to check if artifact creation is functional.
2019-07-19 14:23:53 +02:00
Florian Schmaus ca9fb36d09 travis: Use gradle 5.5.1 2019-07-19 14:16:19 +02:00
Florian Schmaus d2f5efcb20 Use StandardCharsets.(UTF_8|US_ASCII)
This also gets rid of a ton of UnsupportedEncodingException s.
2019-05-08 12:44:48 +02:00
Florian Schmaus 7f0dc72dab Update errorprone(-plugin) and make Unused(Variable|Method) an error 2019-05-07 23:09:00 +02:00
Florian Schmaus b17539cc41 travis: Install graphviz 2019-02-05 18:39:51 +01:00
Florian Schmaus f86eabfefe travis: Build with OpenJDK8 also 2019-02-05 18:29:22 +01:00
Florian Schmaus 3a155b0792 travis: Use gradle 5.1.1 2019-02-05 18:23:47 +01:00
Florian Schmaus ab30b0c921 Add AndroidSmackInitializer.initialize(Context)
This commit also changes the usage of the android.jar found in the
androidBootClasspath gradle variable, because
AndroidSmackInitializer.initialize(Context) pulls in

org.minidns.dnsserverlookup.android21.AndroidUsingLinkProperties

from minidns-android21, which has a @TargetApi annotation which is
only available on Android SDK API level 16 or higher. Otherwhise we
would get

> Task :smack-android:compileJava FAILED
/home/flo/.gradle/caches/modules-2/files-2.1/org.minidns/minidns-android21/0.3.0/13f273d095e51d701283062a25e867f3ff26d258/minidns-android21-0.3.0.jar(/org/minidns/dnsserverlookup/android21/AndroidUsingLinkProperties.class): warning: Cannot find annotation method 'value()' in type 'TargetApi': class file for android.annotation.TargetApi not found
/home/flo/.gradle/caches/modules-2/files-2.1/org.minidns/minidns-android21/0.3.0/13f273d095e51d701283062a25e867f3ff26d258/minidns-android21-0.3.0.jar(/org/minidns/dnsserverlookup/android21/AndroidUsingLinkProperties.class): warning: Cannot find annotation method 'value()' in type 'TargetApi'
error: warnings found and -Werror specified
1 error

when compiling smack-android.
2018-05-06 13:38:22 +02:00
Florian Schmaus a91ca2aebf Bump MiniDNS to 0.3.0-alpha1
Also add minidns-core as dependency to smack-core. This requires
increasing the minimum required Android SDK level to 9, as this is
what MiniDNS requires.
2018-04-27 10:05:25 +02:00
Florian Schmaus 701b9671dc travis: Use gradle 4.6 2018-03-28 10:57:05 +02:00
Florian Schmaus f48f0cab5b Travis-CI: Re-enable coveralls
which got accidentally disabled when we switched to Java 8 builds
only.
2017-05-16 15:52:24 +02:00
Florian Schmaus cab5596a0e Travis-CI: Use gradle 3.5 2017-05-16 15:52:24 +02:00
Florian Schmaus b436ab897d Travis CI: Remove MaxPermSize=512M
since we are using only Java8 now, where this option no longer exists.
2017-03-10 17:55:07 +01:00
Florian Schmaus bb3eeb9af0 Travis CI: Don't build with Oracle JDK 7
since the bump of Error Prone to 2.0.15, the JDK 7 javac is no longer
supported. Note that we still generate version 51 (Java 7) class
files.
2017-02-11 20:40:15 +01:00
Florian Schmaus 0679c89813 travis.yml: Add --stacktrace to 'gradle check' 2016-08-29 12:35:26 +02:00
Florian Schmaus b59356c9bf Travis-CI: Use Gradle 2.12 2016-04-08 22:29:59 +02:00
Florian Schmaus 0382581237 travis-ci: Use gradle 2.7 2015-09-24 12:59:17 +02:00
Florian Schmaus 0d6f00873f Use Travis-CI's container based infra
by adding "sudo: false" and cache maven artifacts.
2015-08-12 10:50:30 +02:00
Florian Schmaus dc373f641c Make Smack Java8's javac and javadoc ready 2015-04-04 17:16:27 +02:00
Florian Schmaus 4d9bd6f216 Add jacocoRootReport task to build.gradle
with the correct parameters to collect the jacocoReports from all
subprojects and put the jacocoTestReport.xml in the right place, so that
the coveralls plugin is able to find it.
2015-03-12 20:14:31 +01:00
Florian Schmaus 03206fcbf6 Add jacoco and coveralls gradle plugins 2015-03-12 17:22:23 +01:00
Gilles Cornu bd06e07065 Travis CI: Use Android builder 2014-10-08 16:01:19 +02:00
Florian Schmaus 89dc3a0e85 Add smack-android and redesign SASL authentication
This commit marks an important milestone with the addition of the
smack-android subproject. Smack is now able to run native on Android
without requiring any modifications, which makes the aSmack build
environment obsolete.

It was necessary to redesign the code for SASL authentication to achieve
this. Smack now comes with smack-sasl-provided for SASL implementations
that do not rely on additional APIs like javax for platforms where those
APIs are not available like Android.
2014-08-01 10:34:47 +02:00
Florian Schmaus c606530e22 Add .travis.yml 2014-05-28 08:18:45 +02:00