A simple class, whose only purpose is to house static strings referencing the Jervis wiki, to be used as helpful hints when throwing exceptions.
To run this example, clone Jervis and execute ./gradlew console to bring up a Groovy Console with the classpath set up.
When overriding the URLs you must override the getter method using meta programming. The following is an example of overriding the LIFECYCLES_SPEC.
import net.gleske.jervis.exceptions.WikiPages
WikiPages.metaClass.static.getLifecyclesSpec = {-> 'https://wiki.example.com/lifecycle_explanation.html'}
import net.gleske.jervis.lang.LifecycleValidator
LifecycleValidator lifecycles = new LifecycleValidator()
lifecycles.loadYamlString('''
ruby:
  defaultKey: rake1
  rake1:
    fileExistsCondition: Gemfile.lock
    fallbackKey: rake2
    env: export BUNDLE_GEMFILE=$PWD/Gemfile
    install: bundle install --jobs=3 --retry=3 --deployment
    script: bundle exec rake
  rake2:
    env: export BUNDLE_GEMFILE=$PWD/Gemfile
    install: bundle install --jobs=3 --retry=3
    script: bundle exec rake
''')
lifecycles.validate()
  The important part of the above example is the following excerpt.
import net.gleske.jervis.exceptions.WikiPages
WikiPages.metaClass.static.getLifecyclesSpec = {-> 'https://wiki.example.com/lifecycle_explanation.html'}
import net.gleske.jervis.lang.LifecycleValidator
  What is important is that we modified the WikiPages class
  before we imported the LifecycleValidator class.
  This is important because the class can't be statically modified from within the
  LifecycleValidator after it is imported.
  Here's an example error message from the above sample.
 net.gleske.jervis.exceptions.LifecycleMissingKeyException:
ERROR: Lifecycle validation failed.  Missing key: ruby.friendlyName
See wiki page:
https://wiki.example.com/lifecycle_explanation.html
    at net.gleske.jervis.lang.LifecycleValidator$_validate_closure1.doCall(LifecycleValidator.groovy:118)
    at net.gleske.jervis.lang.LifecycleValidator.validate(LifecycleValidator.groovy:112)
    at net.gleske.jervis.lang.LifecycleValidator$validate$0.call(Unknown Source)
 
          | Modifiers | Name | Description | 
|---|---|---|
static String  | 
                            LIFECYCLES_SPEC | 
                            A static reference to the lifecycles file spec wiki page. | 
static String  | 
                            PIPELINE_SUPPORT | 
                            A static reference to the pipeline support wiki page. | 
static String  | 
                            PLATFORMS_SPEC | 
                            A static reference to the platforms file spec wiki page. | 
static String  | 
                            SECURE_SECRETS | 
                            A static reference to the secure secrets in repositories wiki page. | 
static String  | 
                            SUPPORTED_LANGUAGES | 
                            A static reference to the supported languages wiki page. | 
static String  | 
                            SUPPORTED_TOOLS | 
                            A static reference to the supported tools wiki page. | 
static String  | 
                            TOOLCHAINS_SPEC | 
                            A static reference to the toolchains file spec wiki page. | 
A static reference to the lifecycles file spec wiki page.
A static reference to the pipeline support wiki page.
A static reference to the platforms file spec wiki page.
A static reference to the secure secrets in repositories wiki page.
A static reference to the supported languages wiki page.
A static reference to the supported tools wiki page.
A static reference to the toolchains file spec wiki page.