如何使用Gradle从distZip中排除文件? [英] How to exclude files from distZip using Gradle?

查看:169
本文介绍了如何使用Gradle从distZip中排除文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Gradle 1.3,并为一个小型项目工作。它完全按照我的需要创建.JAR文件。但是,当我使用distZip创建一个ZIP文件时,所有JAR文件都将被包含在内。



我的build.gradle文件的内容:

  apply plugin :'java'
apply plugin:'maven'
apply plugin:'application'

group ='com.some.project'
version ='1.0。 2.0'
description ='更新服务器'
mainClassName ='com.some.project.updateserver.client.Client'

defaultTasks'compileJava','jar'

[compileJava,compileTestJava] *。options * .encoding ='UTF-8'

allprojects {
tasks.withType(编译){
options.debug = true
options.compilerArgs = ['-Xlint:all']
}
}

依赖项{
compile$ commonsCodecGroup:commons-codec :$ commonsCodecVersion
compile$ commonsConfigurationGroup:commons-configuration:$ commonsConfigurationVersion
compile$ commonsLangGroup:commons-lang:$ commonsLangVersion
compile$ commonsLoggingGroup:commons-logging:$ commonsLoggingVersion
编译$ cxfGroup:cxf-bundle-minimal:$ cxfVersion
编译$ cxfGroup:cxf-rt-databinding-jaxb:$ cxfVersion
compile$ cxfGroup:cxf-rt -frontend -jaxrs:$ cxfVersion
compile$ cxfGroup:cxf-rt-transports-common:$ cxfVersion
compile$ cxfGroup:cxf-rt-transports-http:$ cxfVersion
编译$ jacksonGroup:jackson-jaxrs:$ jacksonVersion
compile$ jmockitGroup:jmockit:$ jmockitVersion
编译$ logBackGroup:logback-classic:$ logBackVersion
compile$ logBackGroup :logback-core:$ logBackVersion
compile$ servletGroup:servlet-api:$ servletVersion
compile$ slf4jGroup:slf4j-api:$ slf4jVersion
compile$ springGroup:spring -aop:$ springVersion
compile$ springGroup:spring-asm:$ springVersion
compile$ springGroup:spring-beans:$ springVersion
compile$ springGroup:spring-context :$ springVersion
compile$ springGroup:spring-core:$ springVersion
compile$ sprin gGroup:spring-expression:$ springVersion
compile$ springGroup:spring-tx:$ springVersion
compile$ springGroup:spring-web:$ springVersion
compile$ wsRestfulGroup: jsr311-api:$ wsRestfulVersion

testCompile$ junitGroup:junit:$ junitVersion


储存库{
mavenCentral()


任务clientJar(类型:Jar,说明:'组装一个jar文件,用于在更新服务器上运行一个简单客户端。'){
appendix ='client'
from sourceSets.main.output $ b $ exclude('applicationContext.xml')
exclude('com / some / project / json')
exclude('com / some / project / updateserver / jaxrs ')
exclude('com / some / project / updateserver / oauth')
exclude('com / some / project / updateserver / resource')
exclude('com / some / project / updateserver / util / ManifestHash *')
}

任务modelJar(类型:Jar,描述:'组装jar文件以供参考b y)其他需要访问更新服务器的API模型的项目。'){
appendix ='model'$ source b $ b from sourceSets.main.output.classesDir
exclude('applicationContext.xml')
exclude('update-server-client.properties')
exclude('com / some / project / json')
exclude('com / some / project / updateserver / client')
exclude('com / some / project / updateserver / jaxrs')
exclude('com / some / project / updateserver / oauth')
exclude('com / some / project / updateserver /资源')
}

jar {
description ='为更新服务器组装相关归档文件'
dependsOn clientJar,modelJar
exclude(' update-server-client.properties')
exclude('com / some / project / updateserver / client')
}

test {
testLogging.exceptionFormat'完整'
testLogging {传递'
事件'
minGranularity = 3
stackTraceFilt ''''''''''''''''''
$ b运行{
description ='运行更新服务器客户端应用程序'
jvmArgs'-client'
//可选参数
// args' name1','value1'
}

distZip {
archiveName$ project.name-client.zip
exclude('** / aopalliance- *。 jar')
exclude('** / asm-3.3.jar')
exclude('** / bcprov-jdk * .jar')
exclude('** / commons- codec - *。jar')
exclude('** / commons-httpclient - *。jar')
exclude('** / cxf-api - *。jar')
排除('** / cxf-common-utilities-*。jar')
exclude('** / cxf-rt-bindings - *。jar')
exclude('** / cxf-rt ('** / georeimo - *。jar')
exclude('** / isorelax - *。jar')
exclude('** /jaxb-*.jar)
exclude('** / jcip-annotations - *。jar')
exclude('** / jcl-over-slf4j - *。jar')
exclude('** /抛弃 - '。jar')
exclude('** / jetty - *。jar')
exclude('** / jmockit - *。jar')
exclude('** ('** / jul-to-slf4j - *。jar')
exclude('** / log4j-over-slf4j - *。jar ')
exclude('** / logback - *。jar')
exclude('** / mimepull - *。jar')
exclude('** / msv-core- * .jar')
exclude('** / not-yet-commons - *。jar')
exclude('** / opensaml - *。jar')
exclude(' ** / openws - *。jar')
exclude('** / relaxngDatatype - *。jar')
exclude('** / saaj - *。jar')
exclude '** / serializer - *。jar')
exclude('** / servlet-api - *。jar')
exclude('** / slf4j-api * .jar')
exclude('** / spring - *。jar')
exclude('** / stax - *。jar')
exclude('** / woodstox - *。jar')
exclude('** / wssj4j - *。jar')
exclude('** / xalan - *。jar')
exclude('** / xmlbeans - *。jar')
exclude('** / xml-resolver - *。jar')$ ('** / xmlschema - *。jar')
exclude('** / xmlsec - *。jar')
exclude('** / xmltooling - *。jar')
exclude('** / xsdlib - *。jar')
}

创建的主JAR文件:

  update-server-1.0.2.0.jar 
---- ---------------------
applicationContext.xml
com / pearson / pss / json / JsonUtil.class
com / pearson / pss / updateserver / jaxrs /
com / pearson / pss / updateserver / jaxrs / JacksonObjectMapperFactory.class
com / pearson / pss / updateserver / model / PowerSchoolServerData $ UPDATE_CATEGORY.class
com / pearson /pss/updateserver/model/PowerSchoolServerData.class
com / pearson / pss / updateserver / model / SimplePackageDescription.class
com / pearson / pss / updateserver / model / UpdateData.class
com / pearson / pss / updateserver / oauth / OAuthIdentity.class
com / pearson / pss / upd ateserver / oauth / OAuthTarget.class
com / pearson / pss / updateserver / oauth / OAuthTargetRegistry.class
com / pearson / pss / updateserver / oauth / OAuthTargetUpdateServerDownload.class
com / pearson / pss /updateserver/oauth/OAuthTicketData.class
com / pearson / pss / updateserver / oauth / PowerSourceDLOAuthBackChannel $ PostValue.class
com / pearson / pss / updateserver / oauth / PowerSourceDLOAuthBackChannel.class
com / pearson / pss / updateserver / resource / Config $ 1.class
com / pearson / pss / updateserver / resource / Config.class
com / pearson / pss / updateserver / resource / CurrentDistrict $ 1.class
com / pearson / pss / updateserver / resource / CurrentDistrict.class
com / pearson / pss / updateserver / resource / DistrictDownloadRestriction.class
com / pearson / pss / updateserver / resource / OAuthDownloadFilter.class
com / pearson / pss / updateserver / resource / UpdateResource $ 1.class
com / pearson / pss / updateserver / resource / UpdateResource.class
com / pearson / pss / updateserver / util / ManifestHash.class
com / pearson / p ss / updateserver / util / PackageUtil $ 1.class
com / pearson / pss / updateserver / util / PackageUtil $ Architecture.class
com / pearson / pss / updateserver / util / PackageUtil $ OS.class
com / pearson / pss / updateserver / util / PackageUtil.class
com / pearson / pss / updateserver / util / UpdateServerConstants.class
META-INF / cxf / org.apache.cxf.Logger
META-INF / MANIFEST.MF

创建用于运行简单客户端的JAR文件:

  update-server-client-1.0.2.0.jar 
----------- ----------------------
com / pearson / pss / updateserver / client / Client.class
com / pearson / pss / updateserver /model/PowerSchoolServerData$UPDATE_CATEGORY.class
com / pearson / pss / updateserver / model / PowerSchoolServerData.class
com / pearson / pss / updateserver / model / SimplePackageDescription.class
com / pearson / pss / updateserver / model / UpdateData.class
com / pearson / pss / updateserver / util / PackageUtil $ 1.class
com / pearson / pss / updateserver / util / PackageUtil $ Archi tecture.class
com / pearson / pss / updateserver / util / PackageUtil $ OS.class
com / pearson / pss / updateserver / util / PackageUtil.class
com / pearson / pss / updateserver /util/UpdateServerConstants.class
META-INF / cxf / org.apache.cxf.Logger
META-INF / MANIFEST.MF
update-server-client.properties

为发布API而创建的JAR文件:

  update-server-model-1.0.2.0.jar 
-------------------------- ------
com / pearson / pss / updateserver / model / PowerSchoolServerData $ UPDATE_CATEGORY.class
com / pearson / pss / updateserver / model / PowerSchoolServerData.class
com / pearson / pss / updateserver / model / SimplePackageDescription.class
com / pearson / pss / updateserver / model / UpdateData.class
com / pearson / pss / updateserver / util / ManifestHash.class
com / pearson /pss/updateserver/util/PackageUtil$1.class
com / pearson / pss / updateserver / util / PackageUtil $ Architecture.class
com / pearson / pss / updateserver / util / PackageUt il $ OS.class
com / pearson / pss / updateserver / util / PackageUtil.class
com / pearson / pss / updateserver / util / UpdateServerConstants.class
META-INF / MANIFEST.MF

运行'distZip'时创建的实际ZIP文件:

  update-server-1.0.2.0.zip(实际内容)
----------------- --------------------------
update-server-1.0.2.0 / bin / update-server
update-server -1.0.2.0 / bin / update-server.bat
update-server-1.0.2.0 / lib / aopalliance-1.0.jar
update-server-1.0.2.0 / lib / asm-3.3.jar
update-server-1.0.2.0 / lib / bcprov -jdk15-1.45.jar
update-server-1.0.2.0 / lib / commons-codec-1.4.jar
update-server- 1.0.2.0/lib/commons-configuration-1.8.jar
update-server-1.0.2.0 / lib / commons-httpclient-3.1.jar
update-server-1.0.2.0 / lib / commons- lang-2.6.jar
update-server-1.0.2.0 / lib / commons-logging-1.1.1.jar
update-server-1.0.2.0 / lib / cxf-api-2.5.2。 jar
update-server-1.0.2.0 / lib / cxf-bundle-minim al-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-common-utilities-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt- bindings-xml-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt-core-2.5.2.jar
update-server-1.0.2.0 / lib / cxf- rt-databinding-jaxb-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt -frontend-jaxrs-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt-transports-common-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt-transports-http-2.5.2.jar
update-server- 1.0.2.0/lib/geronimo-activation_1.1_spec-1.1.jar
update-server-1.0.2.0 / lib / geronimo-annotation_1.0_spec-1.1.1.jar
update-server-1.0。 2.0 / lib / geronimo -javamail_1.4_spec-1.7.1.jar
update-server-1.0.2.0 / lib / geronimo-jaxws_2.2_spec-1.1.jar
update-server-1.0.2.0 / lib / geronimo-jms_1.1_spec-1.1.1.jar
update-server-1.0.2.0 / lib / geronimo-servlet_2.5_spec-1.1.2.jar
update-server-1.0.2.0 / lib / geronimo-stax-api_1.0_spec-1.0.1.jar
update-server-1.0.2.0 / lib / geronimo-ws-metadata_2.0_spec-1.1.3.jar
update-ser ver-1.0.2.0 / lib / isorelax-20030108.jar
update-server-1.0.2.0 / lib / jackson-core-asl-1.9.4.jar
update-server-1.0.2.0 / lib / jackson-jaxrs-1.9.4.jar
update-server-1.0.2.0 / lib / jackson-mapper-asl-1.9.4.jar
update-server-1.0.2.0 / lib / jaxb-api-2.2.3.jar
update-server-1.0.2.0 / lib / jaxb-impl-2.2.4-1.jar
update-server-1.0.2.0 / lib / jaxb- xjc-2.2.4-1.jar
update-server-1.0.2.0 / lib / jcip-annotations-1.0.jar
update-server-1.0.2.0 / lib / jcl-over-slf4j- 1.6.1.jar
update-server-1.0.2.0 / lib / jettison-1.3.1.jar
update-server-1.0.2.0 / lib / jetty-continuation-7.5.4.v20111024。 jar
update-server-1.0.2.0 / lib / jetty-http-7.5.4.v20111024.jar
update-server-1.0.2.0 / lib / jetty-io-7.5.4.v20111024。 jar
update-server-1.0.2.0 / lib / jetty-security-7.5.4.v20111024.jar
update-server-1.0.2.0 / lib / jetty-server-7.5.4.v20111024。 jar
update-server-1.0.2.0 / lib / jetty-util-7.5.4.v20111024.jar
update-server-1.0.2.0 / lib / jmockit-0.999.19.jar
update-server-1.0.2.0 / lib / joda- time-1.6.2.jar
update-server-1.0.2.0 / lib / jsr311-api-1.1.1.jar
update-server-1.0.2.0 / lib / jul-to-slf4j- 1.6.1.jar
update-server-1.0.2.0 / lib / log4j -slf4j-1.6.1.jar
update-server-1.0.2.0 / lib / logback-classic-1.0。 0.jar
update-server-1.0.2.0 / lib / logback-core-1.0.0.jar
update-server-1.0.2.0 / lib / mimepull-1.4.jar
更新-server-1.0.2.0 / lib / msv-core-2011.1.jar
update-server-1.0.2.0 / lib / neethi-3.0.1.jar
update-server-1.0.2.0 / lib /not-yet-commons-ssl-0.3.9.jar
update-server-1.0.2.0 / lib / opensaml-2.5.1-1.jar
update-server-1.0.2.0 / lib /openws-1.4.2-1.jar
update-server-1.0.2.0 / lib / relaxngDatatype-20020414.jar
update-server-1.0.2.0 / lib / saaj-api-1.3.4 .jar
update-server-1.0.2.0 / lib / saaj-impl-1.3.12.jar
update-server-1.0.2.0 / lib / serializer-2.7.1.jar
update-server-1.0.2.0 / lib / servlet-api-2.5.jar
update-server-1.0.2.0 / lib / slf4j-api-1.6.4.jar
update-server-1.0。 2.0 / lib / spring-aop-3.1.1.RELEASE.jar
update-server-1.0.2 .0 / lib / spring-asm-3.1.1.RELEASE.jar
update-server-1.0.2.0 / lib / spring-beans-3.1.1.RELEASE.jar
update-server-1.0 .2.0 / lib / spring-context-3.1.1.RELEASE.jar
update-server-1.0.2.0 / lib / spring-core-3.1.1.RELEASE.jar
update-server-1.0 .2.0 / lib / spring-expression-3.1.1.RELEASE.jar
update-server-1.0.2.0 / lib / spring-jms-3.0.6.RELEASE.jar
update-server-1.0 .2.0 / lib / spring-tx-3.1.1.RELEASE.jar
update-server-1.0.2.0 / lib / spring-web-3.1.1.RELEASE.jar
update-server-1.0 .2.0 / lib / stax2-api-3.1.1.jar
update-server-1.0.2.0 / lib / update-server-1.0.2.0.jar
update-server-1.0.2.0 / lib /woodstox-core-asl-4.1.1.jar
update-server-1.0.2.0 / lib / wsdl4j-1.6.2.jar
update-server-1.0.2.0 / lib / wss4j-1.6 .jar
update-server-1.0.2.0 / lib / xalan-2.7.1.jar
update-server-1.0.2.0 / lib / xmlbeans-2.5.0.jar
update-server-1.0.2.0 / lib / xml-resolver-1.2.jar
update-server-1.0.2.0 / lib / xmlschema-core-2.0.1.jar
update-server-1.0。 2.0 / lib / xmlsec-1.4.6.jar
update-serv er-1.0.2.0 / lib / xmltooling-1.3.2-1.jar
update-server-1.0.2.0 / lib / xsdlib-2010.1.jar

客户端并不需要整个项目需要的所有JAR文件,只是一小部分。这就是我想要的ZIP文件的样子。

  update-server-1.0.2.0.zip(想要的内容)
-------------------------------------------
update-server-1.0.2.0 / bin / update-server
update-server-1.0.2.0 / bin / update-server.bat
update-server-1.0.2.0 / lib / commons-configuration- 1.8.jar
update-server-1.0.2.0 / lib / commons-lang-2.6.jar
update-server-1.0.2.0 / lib / commons-logging-1.1.1.jar
update-server-1.0.2.0 / lib / cxf-bundle-minimal-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt-databinding-jaxb-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt -frontend-jaxrs-2.5.2.jar
update-server-1.0.2.0 / lib / cxf-rt-transports-common-2.5。 2.jar
update-server-1.0.2.0 / lib / cxf-rt-transports-http-2.5.2.jar
update-server-1.0.2.0 / lib / jackson-core-asl- 1.9.4.jar
update-server-1.0.2.0 / lib / jackson-jaxrs-1.9.4.jar
update-server-1.0.2.0 / lib / jackson-mapper-asl-1.9。 4.jar
update-server-1.0.2.0 / lib / jsr311-api-1.1.1.jar
update-server-1.0.2.0 /lib/neethi-3.0.1.jar
update-server-1.0.2.0 / lib / wsdl4j-1.6.2.jar

有人可以告诉我如何更改build.gradle文件以排除客户端不需要的JAR文件吗?

解决方案应用程序插件提供了配置元素 applicationDistribution ,它允许您从分配目标中排除特定的内容,例如:

  applicationDistribution.exclude('foo * .jar')

或者如果您想排除几件事情,您可以使用带有块的Groovy

  applicationDistribution.with {
排除'foo * .jar'
排除'bar * .jar'
}


I am using Gradle 1.3 and have it working for a small project. It creates the .JAR files exactly as I want them to. However, when I have it create a ZIP file using distZip, all JAR files are being included.

The contents of my build.gradle file:

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'application'

group = 'com.some.project'
version = '1.0.2.0'
description = 'Update Server'
mainClassName = 'com.some.project.updateserver.client.Client'

defaultTasks 'compileJava', 'jar'

[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

allprojects {
    tasks.withType(Compile) {
        options.debug = true
        options.compilerArgs = ['-Xlint:all']
    }
}

dependencies {
    compile "$commonsCodecGroup:commons-codec:$commonsCodecVersion"
    compile "$commonsConfigurationGroup:commons-configuration:$commonsConfigurationVersion"
    compile "$commonsLangGroup:commons-lang:$commonsLangVersion"
    compile "$commonsLoggingGroup:commons-logging:$commonsLoggingVersion"
    compile "$cxfGroup:cxf-bundle-minimal:$cxfVersion"
    compile "$cxfGroup:cxf-rt-databinding-jaxb:$cxfVersion"
    compile "$cxfGroup:cxf-rt-frontend-jaxrs:$cxfVersion"
    compile "$cxfGroup:cxf-rt-transports-common:$cxfVersion"
    compile "$cxfGroup:cxf-rt-transports-http:$cxfVersion"
    compile "$jacksonGroup:jackson-jaxrs:$jacksonVersion"
    compile "$jmockitGroup:jmockit:$jmockitVersion"
    compile "$logBackGroup:logback-classic:$logBackVersion"
    compile "$logBackGroup:logback-core:$logBackVersion"
    compile "$servletGroup:servlet-api:$servletVersion"
    compile "$slf4jGroup:slf4j-api:$slf4jVersion"
    compile "$springGroup:spring-aop:$springVersion"
    compile "$springGroup:spring-asm:$springVersion"
    compile "$springGroup:spring-beans:$springVersion"
    compile "$springGroup:spring-context:$springVersion"
    compile "$springGroup:spring-core:$springVersion"
    compile "$springGroup:spring-expression:$springVersion"
    compile "$springGroup:spring-tx:$springVersion"
    compile "$springGroup:spring-web:$springVersion"
    compile "$wsRestfulGroup:jsr311-api:$wsRestfulVersion"

    testCompile "$junitGroup:junit:$junitVersion"
}

repositories {
    mavenCentral()
}

task clientJar(type: Jar, description: 'Assembles a jar archive for running a simple client against the Update Server.') {
    appendix = 'client'
    from sourceSets.main.output
    exclude('applicationContext.xml')
    exclude('com/some/project/json')
    exclude('com/some/project/updateserver/jaxrs')
    exclude('com/some/project/updateserver/oauth')
    exclude('com/some/project/updateserver/resource')
    exclude('com/some/project/updateserver/util/ManifestHash*')
}

task modelJar(type: Jar, description: 'Assembles a jar archive for reference by other projects that need to access the API model of Update Server.') {
    appendix = 'model'
    from sourceSets.main.output.classesDir
    exclude('applicationContext.xml')
    exclude('update-server-client.properties')
    exclude('com/some/project/json')
    exclude('com/some/project/updateserver/client')
    exclude('com/some/project/updateserver/jaxrs')
    exclude('com/some/project/updateserver/oauth')
    exclude('com/some/project/updateserver/resource')
}

jar {
    description = 'Assembles the relevant archive files for Update Server'
    dependsOn clientJar, modelJar
    exclude('update-server-client.properties')
    exclude('com/some/project/updateserver/client')
}

test {
    testLogging.exceptionFormat 'full'
    testLogging {
        events 'passed'
        minGranularity = 3
        stackTraceFilters 'groovy', 'entry_point', 'truncate'
        showStandardStreams = true
        debug {
            events 'started'
        }
    }
}

run {
    description = 'Runs the Update Server Client application'
    jvmArgs '-client'
    // optional args can be specified
    // args 'name1', 'value1'
}

distZip {
    archiveName "$project.name-client.zip"
    exclude('**/aopalliance-*.jar')
    exclude('**/asm-3.3.jar')
    exclude('**/bcprov-jdk*.jar')
    exclude('**/commons-codec-*.jar')
    exclude('**/commons-httpclient-*.jar')
    exclude('**/cxf-api-*.jar')
    exclude('**/cxf-common-utilities-*.jar')
    exclude('**/cxf-rt-bindings-*.jar')
    exclude('**/cxf-rt-core*.jar')
    exclude('**/geronimo-*.jar')
    exclude('**/isorelax-*.jar')
    exclude('**/jaxb-*.jar')
    exclude('**/jcip-annotations-*.jar')
    exclude('**/jcl-over-slf4j-*.jar')
    exclude('**/jettison-*.jar')
    exclude('**/jetty-*.jar')
    exclude('**/jmockit-*.jar')
    exclude('**/joda-time-*.jar')
    exclude('**/jul-to-slf4j-*.jar')
    exclude('**/log4j-over-slf4j-*.jar')
    exclude('**/logback-*.jar')
    exclude('**/mimepull-*.jar')
    exclude('**/msv-core-*.jar')
    exclude('**/not-yet-commons-*.jar')
    exclude('**/opensaml-*.jar')
    exclude('**/openws-*.jar')
    exclude('**/relaxngDatatype-*.jar')
    exclude('**/saaj-*.jar')
    exclude('**/serializer-*.jar')
    exclude('**/servlet-api-*.jar')
    exclude('**/slf4j-api*.jar')
    exclude('**/spring-*.jar')
    exclude('**/stax-*.jar')
    exclude('**/woodstox-*.jar')
    exclude('**/wssj4j-*.jar')
    exclude('**/xalan-*.jar')
    exclude('**/xmlbeans-*.jar')
    exclude('**/xml-resolver-*.jar')
    exclude('**/xmlschema-*.jar')
    exclude('**/xmlsec-*.jar')
    exclude('**/xmltooling-*.jar')
    exclude('**/xsdlib-*.jar')
}

The primary JAR file that gets created:

update-server-1.0.2.0.jar
-------------------------
applicationContext.xml
com/pearson/pss/json/JsonUtil.class
com/pearson/pss/updateserver/jaxrs/
com/pearson/pss/updateserver/jaxrs/JacksonObjectMapperFactory.class
com/pearson/pss/updateserver/model/PowerSchoolServerData$UPDATE_CATEGORY.class
com/pearson/pss/updateserver/model/PowerSchoolServerData.class
com/pearson/pss/updateserver/model/SimplePackageDescription.class
com/pearson/pss/updateserver/model/UpdateData.class
com/pearson/pss/updateserver/oauth/OAuthIdentity.class
com/pearson/pss/updateserver/oauth/OAuthTarget.class
com/pearson/pss/updateserver/oauth/OAuthTargetRegistry.class
com/pearson/pss/updateserver/oauth/OAuthTargetUpdateServerDownload.class
com/pearson/pss/updateserver/oauth/OAuthTicketData.class
com/pearson/pss/updateserver/oauth/PowerSourceDLOAuthBackChannel$PostValue.class
com/pearson/pss/updateserver/oauth/PowerSourceDLOAuthBackChannel.class
com/pearson/pss/updateserver/resource/Config$1.class
com/pearson/pss/updateserver/resource/Config.class
com/pearson/pss/updateserver/resource/CurrentDistrict$1.class
com/pearson/pss/updateserver/resource/CurrentDistrict.class
com/pearson/pss/updateserver/resource/DistrictDownloadRestriction.class
com/pearson/pss/updateserver/resource/OAuthDownloadFilter.class
com/pearson/pss/updateserver/resource/UpdateResource$1.class
com/pearson/pss/updateserver/resource/UpdateResource.class
com/pearson/pss/updateserver/util/ManifestHash.class
com/pearson/pss/updateserver/util/PackageUtil$1.class
com/pearson/pss/updateserver/util/PackageUtil$Architecture.class
com/pearson/pss/updateserver/util/PackageUtil$OS.class
com/pearson/pss/updateserver/util/PackageUtil.class
com/pearson/pss/updateserver/util/UpdateServerConstants.class
META-INF/cxf/org.apache.cxf.Logger
META-INF/MANIFEST.MF

The JAR file that is created for running a simple client:

update-server-client-1.0.2.0.jar
--------------------------------
com/pearson/pss/updateserver/client/Client.class
com/pearson/pss/updateserver/model/PowerSchoolServerData$UPDATE_CATEGORY.class
com/pearson/pss/updateserver/model/PowerSchoolServerData.class
com/pearson/pss/updateserver/model/SimplePackageDescription.class
com/pearson/pss/updateserver/model/UpdateData.class
com/pearson/pss/updateserver/util/PackageUtil$1.class
com/pearson/pss/updateserver/util/PackageUtil$Architecture.class
com/pearson/pss/updateserver/util/PackageUtil$OS.class
com/pearson/pss/updateserver/util/PackageUtil.class
com/pearson/pss/updateserver/util/UpdateServerConstants.class
META-INF/cxf/org.apache.cxf.Logger
META-INF/MANIFEST.MF
update-server-client.properties

The JAR file that is created for publishing the API:

update-server-model-1.0.2.0.jar
--------------------------------
com/pearson/pss/updateserver/model/PowerSchoolServerData$UPDATE_CATEGORY.class
com/pearson/pss/updateserver/model/PowerSchoolServerData.class
com/pearson/pss/updateserver/model/SimplePackageDescription.class
com/pearson/pss/updateserver/model/UpdateData.class
com/pearson/pss/updateserver/util/ManifestHash.class
com/pearson/pss/updateserver/util/PackageUtil$1.class
com/pearson/pss/updateserver/util/PackageUtil$Architecture.class
com/pearson/pss/updateserver/util/PackageUtil$OS.class
com/pearson/pss/updateserver/util/PackageUtil.class
com/pearson/pss/updateserver/util/UpdateServerConstants.class
META-INF/MANIFEST.MF

The actual ZIP file that gets created when running 'distZip':

update-server-1.0.2.0.zip (actual contents)
-------------------------------------------
update-server-1.0.2.0/bin/update-server
update-server-1.0.2.0/bin/update-server.bat
update-server-1.0.2.0/lib/aopalliance-1.0.jar
update-server-1.0.2.0/lib/asm-3.3.jar
update-server-1.0.2.0/lib/bcprov-jdk15-1.45.jar
update-server-1.0.2.0/lib/commons-codec-1.4.jar
update-server-1.0.2.0/lib/commons-configuration-1.8.jar
update-server-1.0.2.0/lib/commons-httpclient-3.1.jar
update-server-1.0.2.0/lib/commons-lang-2.6.jar
update-server-1.0.2.0/lib/commons-logging-1.1.1.jar
update-server-1.0.2.0/lib/cxf-api-2.5.2.jar
update-server-1.0.2.0/lib/cxf-bundle-minimal-2.5.2.jar
update-server-1.0.2.0/lib/cxf-common-utilities-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-bindings-xml-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-core-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-databinding-jaxb-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-frontend-jaxrs-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-transports-common-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-transports-http-2.5.2.jar
update-server-1.0.2.0/lib/geronimo-activation_1.1_spec-1.1.jar
update-server-1.0.2.0/lib/geronimo-annotation_1.0_spec-1.1.1.jar
update-server-1.0.2.0/lib/geronimo-javamail_1.4_spec-1.7.1.jar
update-server-1.0.2.0/lib/geronimo-jaxws_2.2_spec-1.1.jar
update-server-1.0.2.0/lib/geronimo-jms_1.1_spec-1.1.1.jar
update-server-1.0.2.0/lib/geronimo-servlet_2.5_spec-1.1.2.jar
update-server-1.0.2.0/lib/geronimo-stax-api_1.0_spec-1.0.1.jar
update-server-1.0.2.0/lib/geronimo-ws-metadata_2.0_spec-1.1.3.jar
update-server-1.0.2.0/lib/isorelax-20030108.jar
update-server-1.0.2.0/lib/jackson-core-asl-1.9.4.jar
update-server-1.0.2.0/lib/jackson-jaxrs-1.9.4.jar
update-server-1.0.2.0/lib/jackson-mapper-asl-1.9.4.jar
update-server-1.0.2.0/lib/jaxb-api-2.2.3.jar
update-server-1.0.2.0/lib/jaxb-impl-2.2.4-1.jar
update-server-1.0.2.0/lib/jaxb-xjc-2.2.4-1.jar
update-server-1.0.2.0/lib/jcip-annotations-1.0.jar
update-server-1.0.2.0/lib/jcl-over-slf4j-1.6.1.jar
update-server-1.0.2.0/lib/jettison-1.3.1.jar
update-server-1.0.2.0/lib/jetty-continuation-7.5.4.v20111024.jar
update-server-1.0.2.0/lib/jetty-http-7.5.4.v20111024.jar
update-server-1.0.2.0/lib/jetty-io-7.5.4.v20111024.jar
update-server-1.0.2.0/lib/jetty-security-7.5.4.v20111024.jar
update-server-1.0.2.0/lib/jetty-server-7.5.4.v20111024.jar
update-server-1.0.2.0/lib/jetty-util-7.5.4.v20111024.jar
update-server-1.0.2.0/lib/jmockit-0.999.19.jar
update-server-1.0.2.0/lib/joda-time-1.6.2.jar
update-server-1.0.2.0/lib/jsr311-api-1.1.1.jar
update-server-1.0.2.0/lib/jul-to-slf4j-1.6.1.jar
update-server-1.0.2.0/lib/log4j-over-slf4j-1.6.1.jar
update-server-1.0.2.0/lib/logback-classic-1.0.0.jar
update-server-1.0.2.0/lib/logback-core-1.0.0.jar
update-server-1.0.2.0/lib/mimepull-1.4.jar
update-server-1.0.2.0/lib/msv-core-2011.1.jar
update-server-1.0.2.0/lib/neethi-3.0.1.jar
update-server-1.0.2.0/lib/not-yet-commons-ssl-0.3.9.jar
update-server-1.0.2.0/lib/opensaml-2.5.1-1.jar
update-server-1.0.2.0/lib/openws-1.4.2-1.jar
update-server-1.0.2.0/lib/relaxngDatatype-20020414.jar
update-server-1.0.2.0/lib/saaj-api-1.3.4.jar
update-server-1.0.2.0/lib/saaj-impl-1.3.12.jar
update-server-1.0.2.0/lib/serializer-2.7.1.jar
update-server-1.0.2.0/lib/servlet-api-2.5.jar
update-server-1.0.2.0/lib/slf4j-api-1.6.4.jar
update-server-1.0.2.0/lib/spring-aop-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/spring-asm-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/spring-beans-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/spring-context-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/spring-core-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/spring-expression-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/spring-jms-3.0.6.RELEASE.jar
update-server-1.0.2.0/lib/spring-tx-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/spring-web-3.1.1.RELEASE.jar
update-server-1.0.2.0/lib/stax2-api-3.1.1.jar
update-server-1.0.2.0/lib/update-server-1.0.2.0.jar
update-server-1.0.2.0/lib/woodstox-core-asl-4.1.1.jar
update-server-1.0.2.0/lib/wsdl4j-1.6.2.jar
update-server-1.0.2.0/lib/wss4j-1.6.4.jar
update-server-1.0.2.0/lib/xalan-2.7.1.jar
update-server-1.0.2.0/lib/xmlbeans-2.5.0.jar
update-server-1.0.2.0/lib/xml-resolver-1.2.jar
update-server-1.0.2.0/lib/xmlschema-core-2.0.1.jar
update-server-1.0.2.0/lib/xmlsec-1.4.6.jar
update-server-1.0.2.0/lib/xmltooling-1.3.2-1.jar
update-server-1.0.2.0/lib/xsdlib-2010.1.jar

The client does not need all of the JAR files neceesary by the entire project, just a small subset. This is what I want the ZIP file to look like.

update-server-1.0.2.0.zip (wanted contents)
-------------------------------------------
update-server-1.0.2.0/bin/update-server
update-server-1.0.2.0/bin/update-server.bat
update-server-1.0.2.0/lib/commons-configuration-1.8.jar
update-server-1.0.2.0/lib/commons-lang-2.6.jar
update-server-1.0.2.0/lib/commons-logging-1.1.1.jar
update-server-1.0.2.0/lib/cxf-bundle-minimal-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-databinding-jaxb-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-frontend-jaxrs-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-transports-common-2.5.2.jar
update-server-1.0.2.0/lib/cxf-rt-transports-http-2.5.2.jar
update-server-1.0.2.0/lib/jackson-core-asl-1.9.4.jar
update-server-1.0.2.0/lib/jackson-jaxrs-1.9.4.jar
update-server-1.0.2.0/lib/jackson-mapper-asl-1.9.4.jar
update-server-1.0.2.0/lib/jsr311-api-1.1.1.jar
update-server-1.0.2.0/lib/neethi-3.0.1.jar
update-server-1.0.2.0/lib/wsdl4j-1.6.2.jar

Can someone please tell me how to change the the build.gradle file to exclude the unwanted JAR files for the client?

解决方案

The application plugin provides a configuration element applicationDistribution, which allows you to exclude specific things from the distribution targets, e.g.:

applicationDistribution.exclude('foo*.jar')

or if you'd like to exclude several things, you can use a Groovy with block:

applicationDistribution.with {
    exclude 'foo*.jar'
    exclude 'bar*.jar'
}

这篇关于如何使用Gradle从distZip中排除文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆