在gradle中实现rpm任务

时间:2014-10-22 15:27:14

标签: ant gradle build.gradle rpmbuild

我正在尝试从ant迁移到gradle来构建我的rpm-package。我找到了一个插件gradle-ospackage-plugin,但我无法理解如何使用我在ant任务中使用的任何命令:specFile, topDir, command, cleanbuildDir, failonError

是不是可以将它们放在gradle中?

更新:基本上我试图在gradle中复制以下内容

<target name="myrpm">
    <rpm specFile = "topdir"
         topDir = "topdir" />
</target>

我还在考虑从gradle运行ant任务,例如ant.echo(message: "hello)。 但是ant.rpm没有解决。

1 个答案:

答案 0 :(得分:1)

创建两个RPM的简单示例。如果要一个RPM,则使用一个任务。您的build.gradle文件应如下所示。

plugins {
    id 'java'
    id "nebula.ospackage" version "3.2.0"
}


task one(type: Rpm) {
    packageName = 'one-pack'
    version = '1.0.0'
    release = '1'
    arch = I386
    os = LINUX

    from('./src/main/resources') {
        into 'apps/lib/'
    }
}

task two(type: Rpm) {
    packageName = 'two-pack'
    version = '2.2.0'
    release = '2'
    arch = I386
    os = LINUX
}

apply plugin: 'nebula.ospackage'

group 'com.avishek'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile 'org.assertj:assertj-core:3.2.0'
}

使用以下命令运行项目:

  ./gradlew clean two one