https://github.com/swift/stroke
Java XMPP library
https://github.com/swift/stroke
Last synced: 7 months ago
JSON representation
Java XMPP library
- Host: GitHub
- URL: https://github.com/swift/stroke
- Owner: swift
- License: other
- Created: 2015-03-09T18:04:44.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-10T09:57:54.000Z (about 8 years ago)
- Last Synced: 2024-03-27T04:59:49.112Z (about 1 year ago)
- Language: Java
- Homepage: http://swift.im/stroke/
- Size: 1.19 MB
- Stars: 9
- Watchers: 5
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# Stroke
Stroke is a port of the C++ Swift library ( http://swift.im/swiften/ )
The source is available from the Git repository at http://swift.im/git/stroke/For XML parsing, Stroke depends on the Aalto XML Parser and the STAX2 API, from http://wiki.fasterxml.com/AaltoHome
It also depends upon http://www.jcraft.com/jzlib/, which is passed to ant in the jzlib-dir parameter. The passed folder should contain a jar called jzlib.jar.
It also depends upon icu4j from http://site.icu-project.org/
It also depends upon dnsjava from http://www.dnsjava.org/
To build, run:
ant -Dxpp-dir=third-party/xpp -Djzlib-dir=third-party/jzlib -Dicu4j-dir=third-party/ -Dstax2-dir=third-party/stax2/ -Daalto-dir=third-party/aalto/
Changing the paths to the relevant paths for the dependencies on your systemEasy version:
The included Makefile should, on Unixes with make/curl installed, grab the dependencies (once only) and build.For development:
If you want to commit changes to Stroke, first run `make .git/hooks/commit-msg` to download a script that will generate change-ids needed by our review system.## Differences from Swiften
Stroke tries to be a clean and accurate port of Swiften, in order to facilitate mirroring changes. Sometimes differences are either necessary or desirable.
* `VCard.getPhoto()` returns *null* instead of an empty `ByteArray` when there is no photo.
* `VCard` does not allocate empty collections for unused members.
The way a VCard is used, pessimistic allocation puts an undue load on the Java GC.
Callers have to check for *null* not just `isEmpty()`.