]> nmode's Git Repositories - signal-cli/blob - build.gradle
ecd2a88908710142f00ffaad1f7f8285d7b426da
[signal-cli] / build.gradle
1 apply plugin: 'java'
2 apply plugin: 'application'
3 apply plugin: 'eclipse'
4
5 sourceCompatibility = JavaVersion.VERSION_1_8
6 targetCompatibility = JavaVersion.VERSION_1_8
7
8 mainClassName = 'org.asamk.signal.Main'
9
10 version = '0.6.3'
11
12 compileJava.options.encoding = 'UTF-8'
13
14 repositories {
15 mavenLocal()
16 maven {
17 url "https://raw.github.com/AsamK/maven/master/releases/"
18 }
19 mavenCentral()
20 }
21
22 dependencies {
23 compile 'com.github.turasa:signal-service-java:2.13.7_unofficial_1'
24 compile 'org.bouncycastle:bcprov-jdk15on:1.62'
25 compile 'net.sourceforge.argparse4j:argparse4j:0.8.1'
26 compile 'org.freedesktop.dbus:dbus-java:2.7.0'
27 }
28
29 jar {
30 manifest {
31 attributes(
32 'Implementation-Title': project.name,
33 'Implementation-Version': project.version,
34 'Main-Class': project.mainClassName,
35 )
36 }
37 }
38
39 run {
40 if (project.hasProperty("appArgs")) {
41 // allow passing command-line arguments to the main application e.g.:
42 // $ gradle run -PappArgs="['-u', '+...', 'daemon', '--json']"
43 args Eval.me(appArgs)
44 }
45 }
46
47 // Find any 3rd party libraries which have released new versions
48 // to the central Maven repo since we last upgraded.
49 // http://daniel.gredler.net/2011/08/08/gradle-keeping-libraries-up-to-date/
50 task checkLibVersions {
51 doLast {
52 def checked = [:]
53 allprojects {
54 configurations.each { configuration ->
55 configuration.allDependencies.each { dependency ->
56 def version = dependency.version
57 if (!version.contains('SNAPSHOT') && !checked[dependency]) {
58 def group = dependency.group
59 def path = group.replace('.', '/')
60 def name = dependency.name
61 def url = "http://repo1.maven.org/maven2/$path/$name/maven-metadata.xml"
62 try {
63 def metadata = new XmlSlurper().parseText(url.toURL().text)
64 def versions = metadata.versioning.versions.version.collect { it.text() }
65 versions.removeAll { it.toLowerCase().contains('alpha') }
66 versions.removeAll { it.toLowerCase().contains('beta') }
67 versions.removeAll { it.toLowerCase().contains('rc') }
68 def newest = versions.max()
69 if (version != newest) {
70 println "$group:$name $version -> $newest"
71 }
72 } catch (FileNotFoundException e) {
73 logger.debug "Unable to download $url: $e.message"
74 } catch (org.xml.sax.SAXParseException e) {
75 logger.debug "Unable to parse $url: $e.message"
76 }
77 checked[dependency] = true
78 }
79 }
80 }
81 }
82 }
83 }