description = """\ Smack core components.""" configurations { compression dns sasl } dependencies { compile 'xpp3:xpp3:1.1.4c' compile "org.jxmpp:jxmpp-core:$jxmppVersion" // compile "org.igniterealtime.jxmpp:jxmpp-jid:$jxmppVersion" testCompile 'junit:junit:4.11' testCompile 'xmlunit:xmlunit:1.5' testCompile 'org.powermock:powermock-module-junit4:1.5.5' testCompile 'org.powermock:powermock-api-mockito:1.5.5' testCompile 'com.jamesmurty.utils:java-xmlbuilder:0.6' } task compressionJar(type: Jar) { appendix = 'compression' dependsOn classes from sourceSets.main.output include('org/jivesoftware/smack/compression/**') include('org/jivesoftware/smack/SmackConfiguration.class') } task dnsJar(type: Jar) { appendix = 'dns' dependsOn classes from sourceSets.main.output include('org/jivesoftware/smack/util/dns/**') include('org/jivesoftware/smack/util/DNSUtil.class') include('org/jivesoftware/smack/initializer/**') } task saslJar(type: Jar) { appendix = 'sasl' dependsOn classes from sourceSets.main.output include('org/jivesoftware/smack/SASLAuthentication.class') include('org/jivesoftware/smack/SmackException.class') include('org/jivesoftware/smack/XMPPConnection.class') include('org/jivesoftware/smack/sasl/**') include('org/jivesoftware/smack/initializer/**') include('org/jivesoftware/smack/util/StringUtils.class') include('org/jivesoftware/smack/util/ByteUtils.class') } artifacts { compression compressionJar dns dnsJar sasl saslJar } class CreateFileTask extends DefaultTask { @Input String fileContent @OutputFile File outputFile @TaskAction def createFile() { outputFile.text = fileContent } } task createVersionResource(type: CreateFileTask) { fileContent = version + ' (' + gitCommit + ')' outputFile = new File(projectDir, 'src/main/resources/org.jivesoftware.smack/version') } compileJava.dependsOn(createVersionResource)