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,
40 if (project.hasProperty("appArgs")) {
45 // Find any 3rd party libraries which have released new versions
46 // to the central Maven repo since we last upgraded.
47 // http://daniel.gredler.net/2011/08/08/gradle-keeping-libraries-up-to-date/
48 task checkLibVersions << {
51 configurations.each { configuration ->
52 configuration.allDependencies.each { dependency ->
53 def version = dependency.version
54 if (!version.contains('SNAPSHOT') && !checked[dependency]) {
55 def group = dependency.group
56 def path = group.replace('.', '/')
57 def name = dependency.name
58 def url = "http://repo1.maven.org/maven2/$path/$name/maven-metadata.xml"
60 def metadata = new XmlSlurper().parseText(url.toURL().text)
61 def versions = metadata.versioning.versions.version.collect { it.text() }
62 versions.removeAll { it.toLowerCase().contains('alpha') }
63 versions.removeAll { it.toLowerCase().contains('beta') }
64 versions.removeAll { it.toLowerCase().contains('rc') }
65 def newest = versions.max()
66 if (version != newest) {
67 println "$group:$name $version -> $newest"
69 } catch (FileNotFoundException e) {
70 logger.debug "Unable to download $url: $e.message"
71 } catch (org.xml.sax.SAXParseException e) {
72 logger.debug "Unable to parse $url: $e.message"
74 checked[dependency] = true