1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2025-09-09 18:29:45 +02:00

Introduce Smack's Modular Connection Architecture

This is a complete redesign of what was previously
XmppNioTcpConnection. The new architecture allows to extend an XMPP
client to server (c2s) connection with new transport bindings and
other extensions.
This commit is contained in:
Florian Schmaus 2020-04-04 13:03:31 +02:00
parent cec312fe64
commit cc636fff21
142 changed files with 6819 additions and 4068 deletions

View file

@ -0,0 +1,48 @@
description = """\
Full Smack library for Java SE."""
dependencies {
api project(':smack-bosh')
api project(':smack-debug')
api project(':smack-experimental')
api project(':smack-extensions')
api project(':smack-java7')
api project(':smack-legacy')
api project(':smack-omemo')
api project(':smack-omemo-signal')
api project(':smack-openpgp')
api project(':smack-resolver-minidns')
api project(':smack-resolver-minidns-dox')
api project(':smack-tcp')
testImplementation project(path: ":smack-core", configuration: "testRuntime")
}
task printModularXmppClientToServerConnectionStateGraph(type: JavaExec) {
classpath sourceSets.main.runtimeClasspath
main 'org.jivesoftware.smack.full.ModularXmppClientToServerConnectionTool'
}
task generateModularXmppClientToServerConnectionStateGraph(type: JavaExec) {
// TODO: Filter out all files which do not contain the String
// StateDescriptor.
inputs.files file('..').listFiles().findAll {it.name.endsWith('.java')}
outputs.files 'src/javadoc/org/jivesoftware/smack/full/doc-files/ModularXmppClientToServerConnectionStateGraph.dot'
classpath sourceSets.main.runtimeClasspath
main 'org.jivesoftware.smack.full.ModularXmppClientToServerConnectionTool'
args outputs.files
}
task convertModularXmppClientToServerConnectionStateGraphDotToPng(type: Exec) {
dependsOn generateModularXmppClientToServerConnectionStateGraph
inputs.files 'src/javadoc/org/jivesoftware/smack/full/doc-files/ModularXmppClientToServerConnectionStateGraph.dot'
outputs.files 'src/javadoc/org/jivesoftware/smack/full/doc-files/ModularXmppClientToServerConnectionStateGraph.png'
executable 'dot'
args "-Tpng", "-o", "${outputs.files.first()}", "${inputs.files.first()}"
}
task cleanGenerateFiles(type: Delete) {
delete 'src/javadoc/org/jivesoftware/smack/full/doc-files/ModularXmppClientToServerConnectionStateGraph.dot', 'src/javadoc/org/jivesoftware/smack/full/doc-files/ModularXmppClientToServerConnectionStateGraph.png'
}
clean.dependsOn cleanGenerateFiles