2 apply plugin: 'application'
3 apply plugin: 'eclipse'
5 sourceCompatibility = JavaVersion.VERSION_1_7
6 targetCompatibility = JavaVersion.VERSION_1_7
8 mainClassName = 'org.asamk.signal.Main'
12 compileJava.options.encoding = 'UTF-8'
17 url "https://raw.github.com/AsamK/maven/master/releases/"
23 compile 'com.github.turasa:signal-service-java:2.7.5_unofficial_1'
24 compile 'org.bouncycastle:bcprov-jdk15on:1.59'
25 compile 'net.sourceforge.argparse4j:argparse4j:0.8.1'
26 compile 'org.freedesktop.dbus:dbus-java:2.7.0'
32 'Implementation-Title': project.name,
33 'Implementation-Version': project.version,
34 'Main-Class': project.mainClassName,
39 // Find any 3rd party libraries which have released new versions
40 // to the central Maven repo since we last upgraded.
41 // http://daniel.gredler.net/2011/08/08/gradle-keeping-libraries-up-to-date/
42 task checkLibVersions << {
45 configurations.each { configuration ->
46 configuration.allDependencies.each { dependency ->
47 def version = dependency.version
48 if (!version.contains('SNAPSHOT') && !checked[dependency]) {
49 def group = dependency.group
50 def path = group.replace('.', '/')
51 def name = dependency.name
52 def url = "http://repo1.maven.org/maven2/$path/$name/maven-metadata.xml"
54 def metadata = new XmlSlurper().parseText(url.toURL().text)
55 def versions = metadata.versioning.versions.version.collect { it.text() }
56 versions.removeAll { it.toLowerCase().contains('alpha') }
57 versions.removeAll { it.toLowerCase().contains('beta') }
58 versions.removeAll { it.toLowerCase().contains('rc') }
59 def newest = versions.max()
60 if (version != newest) {
61 println "$group:$name $version -> $newest"
63 } catch (FileNotFoundException e) {
64 logger.debug "Unable to download $url: $e.message"
65 } catch (org.xml.sax.SAXParseException e) {
66 logger.debug "Unable to parse $url: $e.message"
68 checked[dependency] = true