]> nmode's Git Repositories - signal-cli/blob - build.gradle
Gradle option to pass command line arguments to Java application
[signal-cli] / build.gradle
1 apply plugin: 'java'
2 apply plugin: 'application'
3 apply plugin: 'eclipse'
4
5 sourceCompatibility = JavaVersion.VERSION_1_7
6 targetCompatibility = JavaVersion.VERSION_1_7
7
8 mainClassName = 'org.asamk.signal.Main'
9
10 version = '0.6.0'
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.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'
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 args Eval.me(appArgs)
42 }
43 }
44
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 << {
49 def checked = [:]
50 allprojects {
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"
59 try {
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"
68 }
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"
73 }
74 checked[dependency] = true
75 }
76 }
77 }
78 }
79 }