gradle打jar包,依赖分离

来源:互联网 发布:河北网络集成商 编辑:程序博客网 时间:2024/04/30 18:43
apply plugin: 'java' //Java插件
//apply plugin: 'application'
group = 'com.pa.openapi'
sourceCompatibility = 1.8//编译JDK版本
targetCompatibility = 1.8//目标JDK 版本
compileJava.options.encoding = 'UTF-8'//编码设置
compileTestJava.options.encoding = 'UTF-8'




repositories {
        //mavenLocal()
        //mavenCentral()
        maven { url "http://nexus-stock.paic.com.cn:8080/nexus/content/repositories/public/" }
    }


dependencies {
  compile group: 'nginx-clojure', name: 'nginx-clojure', version: '0.4.5'
compile group: 'com.pa.openapi', name: 'openapi-cache-core', version: '1.2.1'
compile group: 'com.pa.openapi', name: 'openapi-common-module', version: '1.2.3'
}


//jar {
//    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
//   manifest {
//        attributes 'Main-Class': 'nginx.JVMInitHandler'
//   }
//}


jar {
jar.archiveName = "openapi-nginx-java.jar"
    manifest {
    attributes 'Implementation-Title': 'openapi-nginx-java'
        attributes 'Implementation-Version': 1.0
        attributes("Main-Class": "nginx.JVMInitHandler")
    }
}
 
task addDependToManifest << {
    if (!configurations.runtime.isEmpty()) {
        jar.manifest.attributes('Class-Path': ".  lib/" + configurations.runtime.collect { it.name }.join(' lib/'))
    }
}
jar.dependsOn += addDependToManifest
 
task copyDependencies(type: Copy) {
  from configurations.runtime
  destinationDir = file('build/libs/nginx/Common/lib/')
}


jar.dependsOn += copyDependencies


task copyDiffer(type: Copy){
from 'differ'
destinationDir = file('build/libs/nginx/differ/')
}


jar.dependsOn += copyDiffer


task CommonTask(type: Copy){
from 'build/libs/openapi-nginx-java.jar'
into ('build/libs/nginx/Common')
}
CommonTask.dependsOn(jar)


task zipTask(type: Zip) {
File destDir = file('build/libs/')
archiveName = 'nginx.zip'
destinationDir destDir
from 'build/libs/nginx'
}
zipTask.dependsOn(CommonTask)

原创粉丝点击