Here is the folder structure in my shared library repo:
$ tree src vars
src
├── org
└── common.groovy
vars
├── testSrc.groovy
src has:
$ cat src/org/common.groovy
package org.common
class CommonFuncs {
def sayHi() {
echo "Hi from CommonFuncs!"
}
def sayHello(str) {
echo "Hello ${str}"
}
}
and vars:
$ cat vars/testSrc.groovy
def call() {
def tst = new org.common.CommonFuncs()
return tst.sayHi()
}
pipeline script in Jenkins has:
@Library('jenkins-library') _
pipeline {
agent { label 'my_servers' }
stages {
stage('test') {
steps {
testSrc()
}
}
}
}
When I run job, I get below error:
org.jenkinsci.plugins.workflow.cps.CpsCompilationErrorsException: startup failed:
/var/jenkins_home/jobs/Test/jobs/mave/jobs/test_src/builds/8/libs/jenkins-library/vars/testSrc.groovy: 2: unable to resolve class org.common.CommonFuncs
@ line 2, column 15.
def tst = new org.common.CommonFuncs()
^
What is wrong in here? I am new to groovy, and this is my first attempt to create a class in shared library src/, any help is appreciated.