Interface Configuration

  • All Superinterfaces:
    org.aeonbits.owner.Accessible, org.aeonbits.owner.Config, org.aeonbits.owner.Reloadable, java.io.Serializable

    @Sources({"system:properties","system:env"})
    @LoadPolicy(MERGE)
    public interface Configuration
    extends org.aeonbits.owner.Accessible, org.aeonbits.owner.Reloadable
    This class is used to hold all configuration values for the two plugins. The configuration is processed via Owner. The naming scheme of the configuration variables has been chosen to match the PME naming.
    • Field Detail

      • properties

        static final java.util.Map<Configuration,​java.util.Properties> properties
        Cache is indexed to object instance : Properties - while in production usage there should only be one instance, using this allows for easier testing.
      • REPORT_JSON_OUTPUT_FILE

        static final java.lang.String REPORT_JSON_OUTPUT_FILE
        See Also:
        Constant Field Values
    • Method Detail

      • getProperties

        default java.util.Properties getProperties()
        This method simply encapsulates the Accessible.fill(Map) in order to cache the value to avoid repeated calls.
        Returns:
        Properties object containing all values.
      • daEndpoint

        @Key("restURL")
        java.lang.String daEndpoint()
      • deployUrl

        @Key("AProxDeployUrl")
        java.lang.String deployUrl()
      • disableGME

        @DisableFeature(VARIABLE_EXPANSION)
        @Key("manipulation.disable")
        @DefaultValue("false")
        boolean disableGME()
      • deployPlugin

        @Key("deployPlugin")
        java.lang.String deployPlugin()
      • accessToken

        @Key("accessToken")
        java.lang.String accessToken()
      • versionIncrementalSuffix

        @Key("versionIncrementalSuffix")
        @DefaultValue("redhat")
        java.lang.String versionIncrementalSuffix()
      • versionIncrementalSuffixPadding

        @Key("versionIncrementalSuffixPadding")
        @DefaultValue("5")
        int versionIncrementalSuffixPadding()
      • versionModificationEnabled

        @Key("versionModification")
        @DefaultValue("true")
        boolean versionModificationEnabled()
      • versionSuffixSnapshot

        @Key("versionSuffixSnapshot")
        @DefaultValue("false")
        boolean versionSuffixSnapshot()
      • restMode

        @Key("restMode")
        @DefaultValue("")
        java.lang.String restMode()
        Mode of the artifacts to align. For temporary builds, the mode is: 'TEMPORARY', 'PERSISTENT' for permanent, 'SERVICE' for service builds, and 'SERVICE-TEMPORARY' for temporary service builds.

        Default value: empty string

        Returns:
        the mode of the artifacts to align
      • restMaxSize

        @Key("restMaxSize")
        @DefaultValue("-1")
        int restMaxSize()
      • restConnectionTimeout

        @Key("restConnectionTimeout")
        @DefaultValue("30")
        int restConnectionTimeout()
      • restSocketTimeout

        @Key("restSocketTimeout")
        @DefaultValue("600")
        int restSocketTimeout()
      • restRetryDuration

        @Key("restRetryDuration")
        @DefaultValue("30")
        int restRetryDuration()
      • restHeaders

        @Key("restHeaders")
        @ConverterClass(RestHeaderParser.class)
        @DefaultValue("")
        java.util.Map<java.lang.String,​java.lang.String> restHeaders()
      • ignoreUnresolvableDependencies

        @Key("ignoreUnresolvableDependencies")
        @DefaultValue("false")
        boolean ignoreUnresolvableDependencies()
      • addLoggingClassnameLinenumber

        @Key("loggingClassnameLineNumber")
        @DefaultValue("true")
        boolean addLoggingClassnameLinenumber()
      • addLoggingColours

        @Key("loggingColours")
        @DefaultValue("true")
        boolean addLoggingColours()
      • addLoggingLevel

        @Key("loggingLevel")
        @DefaultValue("false")
        boolean addLoggingLevel()
      • groovyScripts

        @Key("groovyScripts")
        java.lang.String[] groovyScripts()
      • publishPluginHooks

        @Key("publishPluginHooks")
        @DefaultValue("elasticsearch.esplugin")
        java.lang.String[] publishPluginHooks()
      • overrideTransitive

        @Key("overrideTransitive")
        java.lang.Boolean overrideTransitive()
        Whether to explicitly override all transitive dependencies as well. Defaults to false.

        This method is purposely not annotated with a DefaultValue so that we can determine between the user explicitly configuring this to be true or false and implicitly assuming it is false. If a shadow plugin configuration (i.e. shading) is detected then the user has to explicitly either enable/disable this.

        Returns:
        whether this is enabled or not.
      • dependencyConfiguration

        @Key("dependencySource")
        @ConverterClass(DependencyConverter.class)
        @DefaultValue("REST")
        org.commonjava.maven.ext.core.state.DependencyState.DependencyPrecedence dependencyConfiguration()
        This value is used to represent the dependency configuration. While PME supports BOM and REST configs ; currently within Gradle only REST is supported. If this value is set to "" (or "NONE")
        Returns:
        the value used to represent the dependency configuration
      • repositoriesFile

        @Key("repoRemovalBackup")
        java.lang.String repositoriesFile()
        Path to the file where project's artifact repositories will be exported in the maven settings format.

        PNC will use this file to configure repository proxying.

        Returns:
        the path to the file where project's artifact repositories will be exported in the maven settings format
      • manipulationVersion

        @Key("manipulationVersion")
        @DefaultValue("")
        java.lang.String manipulationVersion()
        Represents the version of the Manipulation Plugin to inject. By default this returns empty representing the current version. This can be set to a numeric version. The version must exist in Maven Central for it to be valid.
        Returns:
        the version of the Manipulation Plugin to inject
      • reportTxtOutputFile

        @Key("reportTxtOutputFile")
        @DefaultValue("")
        java.lang.String reportTxtOutputFile()
      • reportJsonOutputFile

        @Key("reportJSONOutputFile")
        @DefaultValue("alignmentReport.json")
        java.lang.String reportJsonOutputFile()
      • reportNonAligned

        @Key("reportNonAligned")
        @DefaultValue("false")
        boolean reportNonAligned()
      • restBrewPullActive

        @Key("restBrewPullActive")
        @DefaultValue("false")
        boolean restBrewPullActive()
        Indicates whether we want to search for artifacts in brew or not.

        Default value: false

        Returns:
        whether we want to search for artifacts in brew or not
      • dumpCurrentConfig

        default java.lang.String dumpCurrentConfig()
        Return the current configuration as a formatted string.
        Returns:
        the current configuration as a formatted string