2015-11-18 18 views
2

我的構建腳本如下所示。我使用gradle build命令來構建和gradle upload命令來上傳這個神器。我的問題是tar,zip文件也是通過這個命令生成並上傳的。我不想要它。只有我想上傳的東西是'jar'和'war'文件。 我也有一個相關的問題,我昨天發佈here只上載gradle中的war/jar文件(限制zip/tar生成和上傳)

更多細節(我已經排除一些不需要的代碼)在根

構建文件子模塊中

allprojects { 
    apply plugin: 'maven' 
group = 'groupid' 
version = '1.0-SNAPSHOT' 
} 

subprojects { 
    apply plugin: 'java' 
    sourceCompatibility = 1.7 
    targetCompatibility = 1.7 


    repositories { 
     maven { 
      credentials { 
       username "$nexusUser" 
       password "$nexusPass" 
      } 
      url "$nexusUrl" 
     } 
    } 

    uploadArchives { 
     repositories { 
      mavenDeployer { 
       repository(url: "$nexusSnapshotUrl") { 
        authentication(userName: "$nexusUser", password: "$nexusPass") 
       } 
      } 
     } 
    } 
} 

ext.comlib = [ // Groovy map literal 
        junit3: "junit:junit:3.8", 
        junit4: "junit:junit:4.9", 
        spring_core: "org.springframework:spring-core:3.1", 
        hibernate_validator : "org.hibernate:hibernate-validator:5.1.3.Final", 
        spring_core : "org.springframework.security:spring-security-core:4.0.2.RELEASE", 
        spring_security_web: "org.springframework.security:spring-security-web:4.0.2.RELEASE", 
        spring_security_config: "org.springframework.security:spring-security-config:4.0.2.RELEASE", 
        spring_boot_starter_test: "org.springframework.boot:spring-boot-starter-test:1.2.5.RELEASE", 
        spring_boot_starter_actuator: "org.springframework.boot:spring-boot-starter-actuator:1.2.5.RELEASE", 
        spring_boot_plugin_gradle: "org.springframework.boot:spring-boot-gradle-plugin:1.2.6.RELEASE", 
        asciidoctor_gradle_plugin: "org.asciidoctor:asciidoctor-gradle-plugin:1.5.1", 
        asciidoctor_pdf_plugin: "org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.9"/*, 
        sl4j_api: "org.slf4j:slf4j-api:1.7.12", 
        sl4j_log4j: "org.slf4j:slf4j-log4j12:1.7.12", 
        logback_classic: "ch.qos.logback:logback-classic:1.1.3", 
        logback_core: "ch.qos.logback:logback-core:1.1.3"*/ 
] 

構建文件

apply plugin: 'spring-boot' 
group = 'com.group.id' 
apply from: "../build.gradle" 
apply plugin: 'org.asciidoctor.gradle.asciidoctor' 

apply plugin: 'war' 

description = 'module name' 
dependencies { 
    compile "someothermodule:commonapi:1.0.0-SNAPSHOT" 
    compile "io.springfox:springfox-swagger2:2.0.1" 
    compile project(':dependingproject1:dependingproject2') 
    compile comlib.spring_boot_starter_actuator 
    compile comlib.spring_core 
    compile comlib.spring_security_web 
    compile comlib.spring_security_config 
    testCompile(comlib.spring_boot_starter_test) { 
exclude(module: 'commons-logging') 
    } 
    testCompile comlib.junit4 
    providedCompile comlib_app.spring_boot_plugin_tomcat 
    testCompile "io.springfox:springfox-staticdocs:2.0.3" 
    testCompile "org.springframework:spring-test:4.1.7.RELEASE" 
} 

ext { 
    swaggerOutputDir = file("src/docs/asciidoc/generated") 
    asciiDocOutputDir = file("${buildDir}/asciidoc") 
} 

test { 
    systemProperty 'org.springframework.restdocs.outputDir', asciiDocOutputDir 
    systemProperty 'io.springfox.staticdocs.outputDir', swaggerOutputDir 

} 

//spring boot plugin 
buildscript { 
    repositories { 
     maven { 
      credentials { 
       username "$nexusUser" 
       password "$nexusPass" 
      } 
      url "$nexusCentral" 
     } 
     maven { 
      credentials { 
       username "$nexusUser" 
       password "$nexusPass" 
      } 
      url "$nexusThirdParty" 

     } 
    } 
    dependencies { 
     classpath(comlib.spring_boot_plugin_gradle) 
    } 
} 

回答

3

包括以下我的gradle文件中的代碼片段

[distZip, distTar].each { task -> configurations.archives.artifacts.removeAll 
{ it.class.simpleName == "ArchivePublishArtifact" && it.archiveTask == task } 

task.enabled = false 
} 

更多詳情請參考this link。它的問題與春季啓動插件。

+0

1.5年後,即使禁用了任務,仍然會爲distad添加uploadArchives。 –

0

或多或少與ajuncc的解決方案相同,但可能更簡單一些。刪除檔案配置中的所有.tar製品:

configurations.archives.artifacts.removeAll {PublishArtifact publishArtifact -> publishArtifact.type == 'tar'}