plugins { id 'org.igniterealtime.smack.java-common-conventions' } 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-java11') api project(':smack-legacy') api project(':smack-omemo') api project(':smack-openpgp') api project(':smack-resolver-minidns') api project(':smack-resolver-minidns-dox') // TODO: Change this to smack-websocket-java11 once it arrives. api project(':smack-websocket-okhttp') api project(':smack-tcp') testImplementation(testFixtures(project(":smack-core"))) testImplementation 'org.jgrapht:jgrapht-io:1.3.1' testImplementation "org.reflections:reflections:${orgReflectionsVersion}" } 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()}" } copyJavadocDocFiles.dependsOn convertModularXmppClientToServerConnectionStateGraphDotToPng task cleanGeneratedFiles(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 cleanGeneratedFiles