繁体   English   中英

如何用gradle复制多个罐子?

[英]How to copy mutliple jars with gradle?

我要执行一个自定义任务,该任务应该构建一些jar并将其复制到其他目录。

这是我的build.gradle文件:

allprojects {
  apply plugin: 'java'
  apply plugin: 'eclipse'
  task hello << { task -> println "I'm project $task.project.name" }
}

subprojects {
  repositories {
    maven {
      url "http://repo1.maven.org/maven2"
    }
  }

  task allDependencies(type: DependencyReportTask) {}
  task allDependenciesInsight(type: DependencyInsightReportTask) << {}

  dependencies {
    compile 'log4j:log4j:1.2.14'
    compile 'org.eclipse.jdt:org.eclipse.jdt.annotation:2.0.+'

    testCompile "junit:junit:4.+"
    testCompile 'org.mockito:mockito-all:1.10.+'
  }

  task copyJars(type: Copy) << {
    println "Copies artifacts from " + project.libsDir + " to " + project.rootDir + "."
    from('$project.libsDir')
    into('$project.rootDir')
  }
}

task bamm(type: Copy) << {
  description "Creates BAMM plugin."
  println "Creates BAMM plugin."
  println "Copies artifacts from " + project.libsDir + " to " + gradle.bammDir
  from(project.libsDir)
  into(gradle.bammDir)
}

bamm.dependsOn ':camm-server:jar', ':camm-server:copyJars'

project(':camm-shared') {
  dependencies {
    compile 'joda-time:joda-time:1.5.2'
    compile 'org.springframework:spring:2.5.6.+'
    compile files ('../lib/MarketInterface.jar')
  }
}

project(':camm-client') {
  dependencies {
    compile 'org.jfree:jfreechart:1.0.+'
    compile project(':camm-shared')
  }
}

project(':camm-server') {
  dependencies {
    compile 'org.jibx:jibx-run:1.2.+'
    compile project(':camm-client')
    compile project(':camm-shared')

    testCompile files ('../lib/MarketInterface.jar')
    testCompile project(':camm-shared').sourceSets.test.output
  }
}

task wrapper(type: Wrapper) {
  gradleVersion = '2.8'
}

我可以运行bamm任务,但是它从不复制任何内容。

我的目标是构建所有必需的jar(起作用)并将从我的项目创建的所有jar复制到gradle.bammDir

当添加到动作<< )中时, frominto不起作用。 它应该是:

task bamm(type: Copy) {
  description "Creates BAMM plugin."
  println "Creates BAMM plugin."
  println "Copies artifacts from " + project.libsDir + " to " + gradle.bammDir
  from(project.libsDir)
  into(gradle.bammDir)
}

要么:

task bamm << {
  description "Creates BAMM plugin."
  println "Creates BAMM plugin."
  println "Copies artifacts from " + project.libsDir + " to " + gradle.bammDir
  copy {
     from(project.libsDir)
     into(gradle.bammDir)
  }
}

请阅读有关配置执行阶段的信息-了解gradle的工作方式至关重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM