普通文本  |  112行  |  3.05 KB

apply plugin: 'sdk-files'

def basePath = "../../../out/host/maven/bundles-24.3.3-SNAPSHOT/products/"

sdk {
    linux {
        item('monitor') {
            notice null
            executable true
        }
        item(basePath + 'lin64/monitor') {
            into 'lib/monitor-x86_64'
            notice null
            builtBy 'unzipLinux64'
        }
        item(basePath + 'lin/monitor') {
            into 'lib/monitor-x86'
            notice null
            builtBy 'unzipLinux'
        }
    }

    mac {
        item('monitor') {
            notice null
            executable true
        }
        item(basePath + 'mac64/monitor') {
            into 'lib/monitor-x86_64'
            notice null
            builtBy 'unzipMac64'
        }
    }


    windows {
        item('monitor.bat') {
            notice null
            executable true
        }
        item(basePath + 'win64/monitor') {
            into 'lib/monitor-x86_64'
            notice null
            builtBy 'unzipWin64'
        }
        item(basePath + 'win/monitor') {
            into 'lib/monitor-x86'
            notice null
            builtBy 'unzipWin'
        }
    }
}

// Using PDE build, the size of monitor was 43M
// With Tycho, we are at close to 75M. Until we figure out the proper way
// to exclude unnecessary content, we just remove these plugins from the final build.
def pluginsToRemove = [
    'org.eclipse.platform.doc.user_4.2.2.v20130121-200410.jar',
    'org.eclipse.debug.ui_3.8.2.v20130130-171415.ja',
    'org.apache.jasper.glassfish_2.2.2.v201205150955.jar',
    'org.eclipse.team.ui_3.6.201.v20130125-135424.jar',
    'org.apache.lucene.core_2.9.1.v201101211721.jar',
    'org.eclipse.help.webapp_3.6.101.v20130116-182509.jar',
    'org.eclipse.help.ui_3.5.201.v20130108-092756.jar',
    'org.eclipse.help.base_3.6.101.v201302041200.jar',
    'org.eclipse.team.core_3.6.100.v20120524-0627.jar',
    'org.eclipse.jetty.server_8.1.3.v20120522.jar',
    'org.eclipse.ui.intro_3.4.200.v20120521-2344.jar',
    'org.eclipse.ui.cheatsheets_3.4.200.v20120521-2344.jar',
    'org.apache.ant_1.8.3.v201301120609/**'
]

task unzipLinux64(type: Copy) {
    from zipTree(file(basePath + 'monitorproduct-linux.gtk.x86_64.zip'))
    into file(basePath + 'lin64/')
    pluginsToRemove.each {
        exclude "**/$it"
    }
}

task unzipLinux(type: Copy) {
    from zipTree(file(basePath + 'monitorproduct-linux.gtk.x86.zip'))
    into file(basePath + 'lin/')
    pluginsToRemove.each {
        exclude "**/$it"
    }
}

task unzipMac64(type: Copy) {
    from zipTree(file(basePath + 'monitorproduct-macosx.cocoa.x86_64.zip'))
    into file(basePath + 'mac64/')
    pluginsToRemove.each {
        exclude "**/$it"
    }
}

task unzipWin64(type: Copy) {
    from zipTree(file(basePath + 'monitorproduct-win32.win32.x86_64.zip'))
    into file(basePath + 'win64/')
    pluginsToRemove.each {
        exclude "**/$it"
    }
}

task unzipWin(type: Copy) {
    from zipTree(file(basePath + 'monitorproduct-win32.win32.x86.zip'))
    into file(basePath + 'win/')
    pluginsToRemove.each {
        exclude "**/$it"
    }
}