Слияние кода завершено, страница обновится автоматически
buildscript {
repositories {
// maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
// maven { url 'http://repo1.maven.apache.org/maven2/' }
//// maven { url 'http://repo2.maven.org/maven2/' }
//// maven { url 'http://maven.oschina.net/content/groups/public/' }
// google()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1'
}
gradle.taskGraph.whenReady {
tasks.each {task ->
if (task.name.toLowerCase().contains("test")) {
// task.enabled = false
}
}
}
}
group 'funtester'
version '1.0'
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'idea'
//apply plugin: "com.github.johnrengelman.shadow"
//shadowJar {
// baseName = 'funtester-1.0'
// classifier = null
// version = null
//}
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
sourceCompatibility = 1.8
repositories {
mavenLocal()
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
// maven {
// url 'http://repo2.maven.org/maven2/'
// }
// maven {
// url 'http://repo1.maven.apache.org/maven2/'
// }
// maven { url 'http://maven.oschina.net/content/groups/public/' }
mavenCentral()
}
test {
useJUnitPlatform()
exclude "com/test/**"
testLogging {
events "passed", "skipped", "failed"
}
}
sourceSets {
main {
groovy {
srcDirs 'src/main/groovy'
}
}
}
dependencies {
compile files('/Users/oker/IdeaProjects/fun_grpc/target/fun_grpc-1.0-SNAPSHOT.jar')
// 只有compilek可以被打包到jar包中
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.7'
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.13'
compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.13'
compile group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: '4.1.4'
// compile group: 'commons-beanutils', name: 'commons-beanutils', version: '1.8.0'
// compile group: 'commons-codec', name: 'commons-codec', version: '1.9'
// compile group: 'com.sun.jna', name: 'jna', version: '3.0.9'
compile group: 'com.alibaba', name: 'fastjson', version: '1.2.83'
// compile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.9.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.17.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1'
// compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.17.1'
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.13'
// compile group: 'javax.mail', name: 'javax.mail-api', version: '1.6.0'
// compile group: 'com.sun.mail', name: 'javax.mail', version: '1.6.0'
//这只是其实一种方式,增加Groovy支持,如果不添加无法打包
compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '3.0.8'
// compile group: 'redis.clients', name: 'jedis', version: '3.0.1'
// https://mvnrepository.com/artifact/redis.clients/jedis
compile group: 'redis.clients', name: 'jedis', version: '4.2.3'
//处理报错Failed to load class "org.slf4j.impl.StaticLoggerBinder
compile group: 'org.slf4j', name: 'slf4j-nop', version: '1.7.32'
compile group: 'org.spockframework', name: 'spock-core', version: '2.0-groovy-3.0'
// https://mvnrepository.com/artifact/org.iq80.leveldb/leveldb
compile group: 'org.iq80.leveldb', name: 'leveldb', version: '0.12'
// https://mvnrepository.com/artifact/com.lmax/disruptor
compile group: 'com.lmax', name: 'disruptor', version: '3.4.2'
// compile group: 'com.alibaba', name: 'dubbo', version: '2.5.3'
compile group: 'com.jayway.jsonpath', name: 'json-path', version: '2.4.0' {
exclude group: 'org.ow2.asm', module: 'asm'
}
compile group: 'dom4j', name: 'dom4j', version: '1.6.1'
compile group: 'org.java-websocket', name: 'Java-WebSocket', version: '1.5.1'
compile group: 'io.socket', name: 'socket.io-client', version: '1.0.0'
// https://mvnrepository.com/artifact/org.fusesource.jansi/jansi
compile group: 'org.fusesource.jansi', name: 'jansi', version: '2.4.0'
compile 'io.grpc:grpc-netty-shaded:1.39.0'
compile 'io.grpc:grpc-protobuf:1.39.0'
compile 'io.grpc:grpc-stub:1.39.0'
// compile 'org.apache.commons:commons-pool2:2.11.1'
// compileOnly 'org.apache.tomcat:annotations-api:6.0.53'
// https://mvnrepository.com/artifact/net.openhft/chronicle-queue
compile group: 'net.openhft', name: 'chronicle-queue', version: '5.22.24'
compile group: 'io.netty', name: 'netty-all', version: '4.1.85.Final'
// https://mvnrepository.com/artifact/org.elasticsearch.client/elasticsearch-rest-high-level-client
compile group: 'org.elasticsearch.client', name: 'elasticsearch-rest-high-level-client', version: '6.7.0'
compile group: 'org.openjdk.jmh', name: 'jmh-generator-annprocess', version: '1.36'
// https://mvnrepository.com/artifact/org.openjdk.jmh/jmh-core
compile group: 'org.openjdk.jmh', name: 'jmh-core', version: '1.36'
compile group: 'com.github.ben-manes.caffeine', name: 'caffeine', version: '2.9.3'
compile group: 'org.apache.kafka', name: 'kafka-clients', version: '3.4.0'
}
//已失效,后期需要借助插件shadow完成
jar {
from {
//添加依懒到打包文件
configurations.compile.collect {it.isDirectory() ? it : zipTree(it)}
configurations.runtime.collect {zipTree(it)}
}
// manifest {
// attributes 'Main-Class': 'com.funtester.main.Share'
// }
}
//ext {
// if (project.hasProperty('profile')) {
// profile = project['profile']
// } else {
// profile = "FunTester"
// }
// println "项目环境:" + profile
//}
//
task sourcesJar(type: Jar, dependsOn: classes) {
println "拷贝源码!"
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
println "拷贝文档!"
classifier = 'javadoc'
from javadoc.destinationDir
}
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
}
artifacts {
archives sourcesJar
archives javadocJar
}
//因为打包配置,这里会执行
//task createDirs() {
// doLast {
// if (profile != "FunTester") {
// file('build/package/lib').mkdirs()
// file('build/package/bin').mkdirs()
// file('build/package/logs').mkdirs()
// file('build/package/conf').mkdirs()
// println "文件夹创建成功!"
// }
// }
//}
//用来拷贝FunTester框架jar包
task copyFun(type: Copy) {
from('/Users/oker/IdeaProjects/funtester/build/libs')
into('/Users/oker/Library/groovy-3.0.8/lib')
println "拷贝fun.jar包到Groovy依赖成功!"
}
//用来拷贝项目jar包
task copyOker(type: Copy) {
from('/Users/oker/IdeaProjects/hickwall-presses/target/hickwall-presses-0.0.1-SNAPSHOT.jar')
into('/Users/oker/Library/groovy-3.0.8/lib')
println "拷贝oker.jar包到Groovy依赖成功!"
}
task copyMoco(type: Copy) {
from('/Users/oker/IdeaProjects/moco_fun/build/libs/moco_FunTester-1.0-SNAPSHOT.jar')
into('/Users/oker/Library/groovy-3.0.8/lib')
println "拷贝moco.jar包到Groovy依赖成功!"
}
task copyJarToGroovy(dependsOn: ['copyFun', 'copyOker', 'copyMoco']) {}
//task copyLibs(type: Copy) {
// doLast {
// from('build/libs')
// into('build/package/lib')
// println "依赖拷贝成功!"
// }
//}
//
//task copyConf(type: Copy) {
// doLast {
// from('src/main/resources/' + profile)
// into('build/package/conf')
// println "从src/main/resources/" + profile + "拷贝配置文件"
// }
//}
//
//task copyBin(type: Copy) {
// doLast {
// from('src/main/resources/bin')
// into('build/package/bin')
// fileMode 0744 //可能会失效,检查执行权限
// println "依赖脚本,并设置可执行权限成功!"
// }
//
//}
//// task 用来复制启动所依赖的jar包
//task copyDep(type: Copy) {
// doLast {
// from configurations.runtime
// into 'build/package/lib'
// println "复制启动所依赖的jar包成功!"
// }
//}
////把上述的task串联起来
//task prepareFile(dependsOn: [
// 'createDirs',
// 'copyLibs',
// 'copyConf',
// 'copyBin',
// 'copyDep'
//]) {} //如果没有内容的话,可以不需要大括号
//还有一种写法表示task之间的依赖:prepareFile.dependsOn createDirs,copyLibs,copyConf,copyBin,copyDep
//指定打包的tar包的名字,以及文件来源目录
//distributions {
// monitor {
// baseName = 'azkaban-monitor'
// contents {
// from {'build/package'}
// }
// }
//}
//distribution 插件的特性
//monitorDistTar.dependsOn 'prepareFile'
//monitorDistTar.compression = Compression.NONE
//monitorDistTar.extension = 'tar'
//定义一个task,先build 然后再打包tar包
//task buildTar(dependsOn: [
// 'build',
// monitorDistTar
//]) {}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )