zoukankan      html  css  js  c++  java
  • 常用gradle命令

    1.build.gradle

    ext {
    profile = "dev"
    tag='web'
    if (project.hasProperty('pro')) {

    temp = project.property('pro')
    profile= temp.split('_')[0]
    tag= temp.split('_')[1]
    }
    tag=tag+".gradle"

    proConfig= loadGroovyConfig()


    println profile+":"+ tag
    }


    apply from :tag

    def loadGroovyConfig() {
    def configFile = file('config.groovy')
    new ConfigSlurper(profile).parse(configFile.toURL()).toProperties()
    }


    //gradle publishToMavenLocal -Ppro=test_external

    2.web.gradle


    apply plugin: 'java'
    apply plugin: 'maven'
    apply plugin: 'war'
    apply plugin: 'jetty'
    apply plugin: 'idea'



    group = 'com.infosky.icustoms'
    version = '1.0'

    description = """"""

    sourceCompatibility = 1.6
    targetCompatibility = 1.6

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

    tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
    }

    configurations {
    mycompile
    myprovided
    myonlycompile
    }
    sourceSets{
    main{
    if(project.profile=='dev') {
    compileClasspath += configurations.mycompile
    compileClasspath += configurations.myprovided
    compileClasspath += configurations.myonlycompile

    runtimeClasspath += configurations.mycompile
    runtimeClasspath += configurations.myprovided
    }else{
    compileClasspath += configurations.mycompile
    compileClasspath += configurations.myprovided
    compileClasspath += configurations.myonlycompile

    runtimeClasspath += configurations.mycompile
    }
    }
    }

    repositories {
    mavenLocal()
    maven { url "http://172.21.129.57:8081/nexus/content/groups/public/" }
    maven { url "http://repo.maven.apache.org/maven2" }
    }
    dependencies {

    mycompile group: 'com.infosky.icustoms', name: 'icustoms-sso-client', version:'1.0', transitive: false

    myonlycompile group: 'junit', name: 'junit', version:'3.8.1'


    myprovided group: 'ccsplib.infosky', name: 'antlr-2.7.7', version:'1.1.1'

    }

    def loadGroovyConfig() {
    def configFile = file('config.groovy')
    new ConfigSlurper(profile).parse(configFile.toURL()).toProperties()
    }
    processResources {
    from ('src/main/java') {
    include '**/*.sql'
    include '**/*.xml'
    include '**/*.ftl'
    include '**/*.properties'
    }

    println "begin replace profile!"
    from(sourceSets.main.resources.srcDirs) {
    filter(org.apache.tools.ant.filters.ReplaceTokens,
    tokens: project.proConfig
    )
    }

    println ant.getProperties()
    // ant.copy(file: 'src/command.bar', tofile: 'dist/command.bat', encoding: 'sjis') {
    // filterchain {
    // replaceTokens {
    // token(key: 'jarPath', value=jar.archivePath.name)
    // }
    // }
    // }

    println "end replace profile!"

    }


    idea {
    module {
    scopes.PROVIDED.plus += [configurations.myprovided,configurations.mycompile,configurations.myonlycompile]
    }
    }

    3.client.gradle
    ext {
    libName = 'icustoms-sso-client'
    }
    apply plugin: 'java'
    apply plugin: 'maven'
    apply plugin: 'maven-publish'


    group = 'com.infosky.icustoms'
    version = '1.0'

    description = """sso"""

    sourceCompatibility = 1.6
    targetCompatibility = 1.6

    tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
    }


    configurations {
    mycompile
    myprovided
    }
    sourceSets{
    main{
    resources {
    // srcDirs=[ 'SourceCode/resources']
    exclude '**'
    }
    java{
    include 'sso/common/**/*.*'
    include 'sso/client/**/*.*'
    include 'sso/constants/*.*'


    include 'sso/ticket/**/*.*'
    }

    if(project.profile=='dev') {
    compileClasspath += configurations.mycompile
    compileClasspath += configurations.myprovided

    runtimeClasspath += configurations.mycompile
    runtimeClasspath += configurations.myprovided
    }else{
    compileClasspath += configurations.mycompile
    compileClasspath += configurations.myprovided


    runtimeClasspath += configurations.mycompile
    }
    }
    }

    repositories {
    mavenLocal()
    maven { url "http://172.21.129.57:8081/nexus/content/groups/public/" }
    maven { url "http://repo.maven.apache.org/maven2" }
    }
    dependencies {
    mycompile group: 'ccsplib.infosky', name: 'framework-core-bin', version:'1.1.1'

    }


    processResources {
    from ('src/main/java') {
    // include '**/*.sql'
    // include '**/*.xml'
    // include '**/*.ftl'
    // include '**/*.properties'
    // include '**/*.vm'
    exclude '**/*.java'
    }

    println "begin replace profile!"
    from(sourceSets.main.resources.srcDirs) {
    filter(org.apache.tools.ant.filters.ReplaceTokens,
    tokens: project.proConfig
    )
    }
    println "end replace profile!"

    }

    jar {
    baseName libName
    from sourceSets.main.output

    include 'sso/common/**/*.*'
    include 'sso/client/**/*.*'
    include 'sso/constants/*.*'
    include 'sso/config/*.*'
    include 'sso/utils/*.*'
    include 'sso/holder/*.*'
    include 'sso/user/**/*.*'
    include 'sso/bean/**/*.*'
    }



    task sourceJar(type: Jar) {
    from sourceSets.main.allJava

    include 'sso/common/**/*.*'
    include 'sso/client/**/*.*'
    include 'sso/constants/*.*'
    include 'sso/config/*.*'
    include 'sso/utils/*.*'
    include 'sso/holder/*.*'
    include 'sso/user/**/*.*'
    include 'sso/bean/**/*.*'
    }

    publishing {
    publications {
    mavenJava(MavenPublication) {
    groupId group
    artifactId libName
    version version

    from components.java

    artifact sourceJar {
    classifier "sources"
    }
    }
    }
    }
  • 相关阅读:
    nginx配置zabbix下setup.php(web页面)无法显示,浏览器无法打开
    CentOS release 6.5下jdk1.7升级到1.8
    tcp流量控制
    图像处理服务器
    muduo rpc protobuf 实现学习
    p2p nat 穿透原理
    博客-livevent-stl-cpp-nginx
    使用eventfd创建一个用于事件通知的文件描述符
    多线程设计的类的思考!
    ftp协议服务器与tinyhttp服务demo
  • 原文地址:https://www.cnblogs.com/sl21100/p/4803850.html
Copyright © 2011-2022 走看看