在Jenkins上运行时看不到所有gradle任务

时间:2019-07-28 11:13:57

标签: jenkins gradle

我正在使用Gradle作为构建系统来开发一个xtext项目。我想在Jenkins中运行gradlew war,但是由于某些原因,它不可用。当我运行gradlew tasks以查看所有可用选项时,该选项未在此处列出。这些是可用的任务:

Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.

Help tasks
----------
buildEnvironment - ...
...

但是当我在计算机上本地运行它时,还有更多任务可用:

Build tasks
-----------
...
war - Generates a war archive with all the compiled classes, the web-app content and the libraries.

Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.

Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.

Help tasks
----------
...

IDE tasks
---------
...

Run tasks
---------
jettyRun - Starts an example Jetty server with your language

Verification tasks
------------------
check - Runs all checks.
test - Runs the unit tests.

显然war任务在那里,我可以毫无问题地运行它。为什么詹金斯当时看不到它。我还没有修改任何Gradle文件。全部包含随项目创建的默认代码。如果需要,我可以附加任何Gradle文件,但我不知道可能需要哪个文件。但是,这是主build.gradle文件(子目录中有更多文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.xtext:xtext-gradle-plugin:2.0.4'
    }
}

subprojects {
    ext.xtextVersion = '2.17.0'
    repositories {
        jcenter()
    }

    apply plugin: 'java'
    dependencies {
        compile platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
    }

    apply plugin: 'org.xtext.xtend'
    apply from: "${rootDir}/gradle/source-layout.gradle"
    apply plugin: 'eclipse'

    group = 'ic.ac.uk.mydsl'
    version = '1.0.0-SNAPSHOT'

    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'

    configurations.all {
        exclude group: 'asm'
    }
}

编辑: 我的父目录在git repo中的图像: enter image description here

1 个答案:

答案 0 :(得分:0)

确定要从Jenkins的同一目录和本地运行./gradlew tasks吗?如果从根项目目录运行Gradle命令,则将显示根项目的任务,但不显示子项目的任何任务。您的根项目似乎没有应用任何插件,只有子项目才应用。因此,您的根项目中不会有插件war之类的插件特定任务。