0
|
1 apply plugin:'java'
|
|
2 apply plugin: 'eclipse'
|
16
|
3 apply plugin: 'maven'
|
0
|
4
|
|
5 sourceCompatibility = 1.8
|
|
6 targetCompatibility = 1.8
|
|
7 version = '2.7.2'
|
|
8
|
|
9 project.ext.baseName = 'tightvnc-jviewer'
|
|
10 def buildNo = processBuildNo(version)
|
16
|
11 group = 'com.glavsoft.viewer'
|
0
|
12 defaultTasks 'clean', 'dist'
|
|
13
|
|
14 configurations {
|
|
15 viewerSwingCompile { extendsFrom compile }
|
|
16 viewerSwingRuntime { extendsFrom viewerSwingCompile, runtime }
|
|
17 }
|
|
18
|
|
19 sourceSets {
|
|
20 viewerSwing {
|
|
21 java {
|
|
22 srcDir 'src/viewer_swing/java'
|
|
23 }
|
|
24 resources {
|
|
25 srcDir 'src/viewer_swing/resources'
|
|
26 }
|
|
27 }
|
|
28 main {
|
|
29 java.srcDirs += viewerSwing.java.srcDirs
|
|
30 resources.srcDirs += viewerSwing.resources.srcDirs
|
|
31 }
|
|
32 }
|
|
33
|
|
34 repositories {
|
16
|
35 maven(){
|
|
36 url 'http://www.cr.ie.u-ryukyu.ac.jp/hg/maven/raw-file/cd1aa6cb6d9d/'
|
|
37 }
|
0
|
38 flatDir {
|
|
39 dirs 'src/libs/'
|
|
40 }
|
|
41 }
|
|
42
|
|
43 dependencies {
|
6
|
44 compile fileTree(dir: 'src/libs', include: '*.jar')
|
16
|
45 compile group: 'cr.ie.u_ryukyu.ac.jp', name: 'Alice', version: '1.0', ext: 'jar'
|
|
46 viewerSwingCompile group: 'cr.ie.u_ryukyu.ac.jp', name: 'Alice', version: '1.0', ext: 'jar'
|
0
|
47 viewerSwingCompile group: 'com.jcraft', name: 'jsch', version: '0.1.+', ext: 'jar'
|
|
48 viewerSwingRuntime configurations.viewerSwingCompile
|
|
49 }
|
|
50
|
|
51 def manifestAttributes = ['Main-Class': 'com.glavsoft.viewer.Viewer',
|
|
52 'Implementation-Version': "${project.version} (${buildNo})",
|
|
53 'Implementation-Title': 'TightVNC Viewer',
|
|
54 'Implementation-Vendor': 'GlavSoft LLC.']
|
|
55
|
|
56 jar {
|
|
57 baseName = project.baseName
|
|
58 version = null
|
|
59 manifest {
|
|
60 attributes manifestAttributes
|
|
61 }
|
|
62 def runtimeDeps = configurations.viewerSwingRuntime.collect {
|
|
63 it.isDirectory() ? it : zipTree(it)
|
|
64 }
|
|
65 from(runtimeDeps) {
|
|
66 exclude 'META-INF/**'
|
|
67 }
|
|
68 }
|
|
69
|
|
70 task noSshJar (type: Jar, dependsOn: classes) {
|
|
71 baseName = 'nossh/' + project.baseName
|
|
72 version = null
|
|
73 manifest {
|
|
74 attributes manifestAttributes
|
|
75 }
|
|
76 from sourceSets.main.output
|
|
77 }
|
|
78
|
|
79 artifacts {
|
16
|
80 //archives file('src/web/viewer-applet-example.html')
|
|
81 //archives noSshJar
|
|
82 }
|
|
83
|
|
84 ext {
|
|
85 mavenRepository = System.getenv()['HOME']+'/workspace/maven'
|
0
|
86 }
|
|
87
|
|
88 uploadArchives {
|
|
89 repositories {
|
16
|
90 mavenDeployer {
|
|
91 repository(url: uri(mavenRepository))
|
0
|
92 }
|
|
93 }
|
|
94 }
|
|
95
|
|
96 task dist(dependsOn: uploadArchives)
|
|
97
|
|
98 def processBuildNo(currentVersion) {
|
|
99 final String VERSION = 'version'
|
|
100 final String BUILD = 'build'
|
|
101
|
|
102 def lastVersion = currentVersion
|
|
103 def lastBuild = 0
|
|
104 def buildNoFile = new File('.build_no')
|
|
105 if ( ! buildNoFile.exists()) {
|
|
106 buildNoFile.createNewFile()
|
|
107 buildNoFile << "${VERSION}=${lastVersion}\n${BUILD}=${lastBuild}"
|
|
108 }
|
|
109 def versions = [:]
|
|
110 buildNoFile.eachLine {
|
|
111 def splitted = it.split('=')
|
|
112 if (splitted.size() == 2) {
|
|
113 def (key, value) = splitted
|
|
114 switch(key.trim()) {
|
|
115 case VERSION:
|
|
116 lastVersion = value.trim()
|
|
117 break
|
|
118 case BUILD:
|
|
119 try {
|
|
120 lastBuild = value != null ? value.trim() as Integer : 0
|
|
121 } catch (NumberFormatException) {}
|
|
122 versions[lastVersion] = lastBuild
|
|
123 break
|
|
124 }
|
|
125 }
|
|
126 }
|
|
127 lastVersion = versions[currentVersion]
|
|
128 if (null == lastVersion) {
|
|
129 versions[currentVersion] = 0
|
|
130 }
|
|
131 ++versions[currentVersion]
|
|
132 def outString = ''
|
|
133 versions.each { v, b ->
|
|
134 outString += "${VERSION}=${v}\n${BUILD}=${b}\n\n"
|
|
135 }
|
|
136 buildNoFile.write(outString)
|
|
137 versions[currentVersion]
|
|
138 }
|