The jenkins-plugin-runtime.rb module defines glue code that bridges extension points defined in Jenkins to Ruby code. Because new extension points are added in the core all the time, this glue layer is always expected to somwhat lag behind in terms of the coverage.
A typical extension point, defined in the core and other Java plugins, consists of 2 Java classes:
Given those two types, the glue layer consists of 3 Ruby classes:
Given the terminology above, you need to define JPP::FooDescriptor, JPP::Foo, and JM::Foo to expand the glue layer to cover a new extension point.
The following code shows how you define JPP::FooDescriptor. If FooDescriptor defines additional methods, you'll need to implement them, typically by delegating to the class methods of @impl, which is the Ruby Class object that represents the actual subtype of JM::Foo.
The following code shows how you define JPP:Foo.
The following code shows how you define JM::Foo. This is a plain
Skip to end of metadata Go to start of metadata