@Grab, определенный в shared-library, не работает при обращении к библиотеке в другом java конвейерном проекте - PullRequest
0 голосов
/ 09 февраля 2020

Мы создали разделяемую библиотеку конвейеров, используя Groovy, и сослались на это в одном из java проекта. Сборка успешно выполняется для разделяемой библиотеки при выполнении отдельной сборки, но когда мы ссылаемся на разделяемую библиотеку и запускаем сборку конвейера jenkins для проекта java, происходит сбой с приведенной ниже ошибкой.

org.jenkinsci.plugins.workflow.cps.CpsCompilationErrorsException: startup failed:
file:/var/lib/jenkins/jobs/Pipeline%20Test/jobs/pipeline-test/branches/develop/builds/10/libs/c3-shared-library/src/com/test/c3/http/JenkinsHttpClient.groovy: 6: unable to resolve class jodd.http.HttpRequest
 @ line 6, column 1.
   @Grab("org.jodd:jodd-http:5.1.0")

c3-shared-library - JenkinsHttpClient. groovy:

#! /usr/bin/groovy
package com.test.c3.http

import com.cloudbees.groovy.cps.NonCPS
import groovy.json.JsonBuilder
@Grab("org.jodd:jodd-http:5.1.0")
import jodd.http.HttpRequest
import jodd.http.HttpResponse


class JenkinsHttpClient implements Serializable {

    private String userAgent


    JenkinsHttpClient(String userAgent = "Jenkins"){
        this.userAgent = userAgent
    }

При этом прилагается конфигурация jenkins. Пожалуйста, проверьте и предоставьте ваши ценные данные.

Jenkins Configuration

Трубопровод разделяемой библиотеки build.grade:

group "com.test.c3"
version "1.0.0-develop-SNAPSHOT"

apply plugin: 'maven'
apply plugin: 'groovy'

repositories {
    mavenCentral()
}

compileGroovy {
    groovyOptions.configurationScript = file("gradle/config.groovy")
}

sourceSets {
    groovy {
        main.groovy.srcDirs += 'src/'
        main.groovy.srcDirs += 'vars/'
        test.groovy.srcDirs += 'tests/'
    }
}

dependencies {
    compile "org.apache.ivy:ivy:2.5.0"
    compile 'org.codehaus.groovy:groovy-all:2.5.9'
    compile 'org.jodd:jodd-http:5.1.0'
    compile 'com.cloudbees:groovy-cps:1.31'

    testImplementation group: 'junit', name: 'junit', version: '4.4'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...