1apply plugin: 'sdk-files'
2
3def basePath = "../../../out/host/maven/bundles-24.3.3-SNAPSHOT/products/"
4
5sdk {
6    linux {
7        item('monitor') {
8            notice null
9            executable true
10        }
11        item(basePath + 'lin64/monitor') {
12            into 'lib/monitor-x86_64'
13            notice null
14            builtBy 'unzipLinux64'
15        }
16        item(basePath + 'lin/monitor') {
17            into 'lib/monitor-x86'
18            notice null
19            builtBy 'unzipLinux'
20        }
21    }
22
23    mac {
24        item('monitor') {
25            notice null
26            executable true
27        }
28        item(basePath + 'mac64/monitor') {
29            into 'lib/monitor-x86_64'
30            notice null
31            builtBy 'unzipMac64'
32        }
33    }
34
35
36    windows {
37        item('monitor.bat') {
38            notice null
39            executable true
40        }
41        item(basePath + 'win64/monitor') {
42            into 'lib/monitor-x86_64'
43            notice null
44            builtBy 'unzipWin64'
45        }
46        item(basePath + 'win/monitor') {
47            into 'lib/monitor-x86'
48            notice null
49            builtBy 'unzipWin'
50        }
51    }
52}
53
54// Using PDE build, the size of monitor was 43M
55// With Tycho, we are at close to 75M. Until we figure out the proper way
56// to exclude unnecessary content, we just remove these plugins from the final build.
57def pluginsToRemove = [
58    'org.eclipse.platform.doc.user_4.2.2.v20130121-200410.jar',
59    'org.eclipse.debug.ui_3.8.2.v20130130-171415.ja',
60    'org.apache.jasper.glassfish_2.2.2.v201205150955.jar',
61    'org.eclipse.team.ui_3.6.201.v20130125-135424.jar',
62    'org.apache.lucene.core_2.9.1.v201101211721.jar',
63    'org.eclipse.help.webapp_3.6.101.v20130116-182509.jar',
64    'org.eclipse.help.ui_3.5.201.v20130108-092756.jar',
65    'org.eclipse.help.base_3.6.101.v201302041200.jar',
66    'org.eclipse.team.core_3.6.100.v20120524-0627.jar',
67    'org.eclipse.jetty.server_8.1.3.v20120522.jar',
68    'org.eclipse.ui.intro_3.4.200.v20120521-2344.jar',
69    'org.eclipse.ui.cheatsheets_3.4.200.v20120521-2344.jar',
70    'org.apache.ant_1.8.3.v201301120609/**'
71]
72
73task unzipLinux64(type: Copy) {
74    from zipTree(file(basePath + 'monitorproduct-linux.gtk.x86_64.zip'))
75    into file(basePath + 'lin64/')
76    pluginsToRemove.each {
77        exclude "**/$it"
78    }
79}
80
81task unzipLinux(type: Copy) {
82    from zipTree(file(basePath + 'monitorproduct-linux.gtk.x86.zip'))
83    into file(basePath + 'lin/')
84    pluginsToRemove.each {
85        exclude "**/$it"
86    }
87}
88
89task unzipMac64(type: Copy) {
90    from zipTree(file(basePath + 'monitorproduct-macosx.cocoa.x86_64.zip'))
91    into file(basePath + 'mac64/')
92    pluginsToRemove.each {
93        exclude "**/$it"
94    }
95}
96
97task unzipWin64(type: Copy) {
98    from zipTree(file(basePath + 'monitorproduct-win32.win32.x86_64.zip'))
99    into file(basePath + 'win64/')
100    pluginsToRemove.each {
101        exclude "**/$it"
102    }
103}
104
105task unzipWin(type: Copy) {
106    from zipTree(file(basePath + 'monitorproduct-win32.win32.x86.zip'))
107    into file(basePath + 'win/')
108    pluginsToRemove.each {
109        exclude "**/$it"
110    }
111}
112