X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/b91abad2b53d74ba5549c95f09835b2f426912ea..e490604d4320352531dc53570962de8f48341c26:/build.gradle diff --git a/build.gradle b/build.gradle index 2e3252fa..ecd2a889 100644 --- a/build.gradle +++ b/build.gradle @@ -1,26 +1,83 @@ apply plugin: 'java' apply plugin: 'application' +apply plugin: 'eclipse' -sourceCompatibility = "1.8"; +sourceCompatibility = JavaVersion.VERSION_1_8 +targetCompatibility = JavaVersion.VERSION_1_8 -mainClassName = 'cli.Main' +mainClassName = 'org.asamk.signal.Main' + +version = '0.6.3' + +compileJava.options.encoding = 'UTF-8' repositories { + mavenLocal() + maven { + url "https://raw.github.com/AsamK/maven/master/releases/" + } mavenCentral() } dependencies { - compile 'org.whispersystems:textsecure-java:1.8.0' - compile 'com.madgag.spongycastle:prov:1.52.0.0' - compile 'org.json:json:20141113' - compile 'commons-io:commons-io:2.4' - compile 'net.sourceforge.argparse4j:argparse4j:0.5.0' + compile 'com.github.turasa:signal-service-java:2.13.7_unofficial_1' + compile 'org.bouncycastle:bcprov-jdk15on:1.62' + compile 'net.sourceforge.argparse4j:argparse4j:0.8.1' + compile 'org.freedesktop.dbus:dbus-java:2.7.0' } jar { - baseName = 'textsecure-cli' - version = '0.0.2' manifest { - attributes 'Main-Class': 'cli.Main' + attributes( + 'Implementation-Title': project.name, + 'Implementation-Version': project.version, + 'Main-Class': project.mainClassName, + ) + } +} + +run { + if (project.hasProperty("appArgs")) { + // allow passing command-line arguments to the main application e.g.: + // $ gradle run -PappArgs="['-u', '+...', 'daemon', '--json']" + args Eval.me(appArgs) + } +} + +// Find any 3rd party libraries which have released new versions +// to the central Maven repo since we last upgraded. +// http://daniel.gredler.net/2011/08/08/gradle-keeping-libraries-up-to-date/ +task checkLibVersions { + doLast { + def checked = [:] + allprojects { + configurations.each { configuration -> + configuration.allDependencies.each { dependency -> + def version = dependency.version + if (!version.contains('SNAPSHOT') && !checked[dependency]) { + def group = dependency.group + def path = group.replace('.', '/') + def name = dependency.name + def url = "http://repo1.maven.org/maven2/$path/$name/maven-metadata.xml" + try { + def metadata = new XmlSlurper().parseText(url.toURL().text) + def versions = metadata.versioning.versions.version.collect { it.text() } + versions.removeAll { it.toLowerCase().contains('alpha') } + versions.removeAll { it.toLowerCase().contains('beta') } + versions.removeAll { it.toLowerCase().contains('rc') } + def newest = versions.max() + if (version != newest) { + println "$group:$name $version -> $newest" + } + } catch (FileNotFoundException e) { + logger.debug "Unable to download $url: $e.message" + } catch (org.xml.sax.SAXParseException e) { + logger.debug "Unable to parse $url: $e.message" + } + checked[dependency] = true + } + } + } + } } }