Interface Internal
- All Superinterfaces:
org.aeonbits.owner.Config, EngineProperties<Internal>, Serializable
@Sources({"system:properties","file:src/main/resources/properties/internal.properties","file:src/main/resources/properties/default/internal.properties","classpath:internal.properties"})
public interface Internal
extends EngineProperties<Internal>
Configuration properties interface for internal engine metadata in the SHAFT framework.
Exposes internal defaults such as the framework version, build timestamp, and the
version coordinates used to bootstrap the Allure 3 CLI at report-generation time.
These values are typically populated from build-time defaults, but they may also be
supplied or overridden through the configured OWNER property sources, such as system
properties or internal properties files.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.aeonbits.owner.Config
org.aeonbits.owner.Config.ConverterClass, org.aeonbits.owner.Config.DecryptorClass, org.aeonbits.owner.Config.DefaultValue, org.aeonbits.owner.Config.DisableableFeature, org.aeonbits.owner.Config.DisableFeature, org.aeonbits.owner.Config.EncryptedValue, org.aeonbits.owner.Config.HotReload, org.aeonbits.owner.Config.HotReloadType, org.aeonbits.owner.Config.Key, org.aeonbits.owner.Config.LoadPolicy, org.aeonbits.owner.Config.LoadType, org.aeonbits.owner.Config.PreprocessorClasses, org.aeonbits.owner.Config.Separator, org.aeonbits.owner.Config.Sources, org.aeonbits.owner.Config.TokenizerClassNested classes/interfaces inherited from interface EngineProperties
EngineProperties.SetProperty -
Method Summary
Modifier and TypeMethodDescriptionVersion of the Allure 3 npm package used when the CLI is not already onPATH.Android command-line tools build number used by SHAFT MCP when no Android SDK tools are already available on the machine.intDefault Android API level proposed for SHAFT-managed emulator creation.intDefault Android emulator CPU core count.Default Android virtual device profile proposed for SHAFT-managed emulators.Default Android system image tag proposed for SHAFT-managed emulators.intDefault Android emulator memory size in MB.Appium Inspector plugin npm package version used by SHAFT MCP for wrapped mobile recording sessions.Appium server npm package version used by SHAFT MCP when it needs to bootstrap a local Appium server without requiring administrator-installed tools.Appium UiAutomator2 driver npm package version used by SHAFT MCP for Android.Appium XCUITest driver npm package version used by SHAFT MCP for iOS attach and recording flows on macOS.Google Analytics 4 API Secret used for the Measurement Protocol.Google Analytics 4 Measurement ID used for anonymous telemetry.Version of the portable Node.js LTS distribution that SHAFT downloads when neitherallurenornpxis available onPATH.Methods inherited from interface EngineProperties
set
-
Method Details
-
shaftEngineVersion
-
watermarkImagePath
@Key("watermarkImagePath") @DefaultValue("https://raw.githubusercontent.com/ShaftHQ/SHAFT_ENGINE/main/shaft-engine/src/main/resources/images/shaft_white_bg.png") String watermarkImagePath() -
allure3Version
Version of the Allure 3 npm package used when the CLI is not already onPATH. SHAFT invokesnpx --yes allure@<version>to download and cache the package automatically. Update this value here to upgrade the bundled CLI across the engine without changingAllureManageror any CI script. Use this url for the latest version Allure3Releases -
nodeLtsVersion
Version of the portable Node.js LTS distribution that SHAFT downloads when neitherallurenornpxis available onPATH. The archive is cached in~/.m2/repository/nodejs/so it is only downloaded once per machine. Update this value here to upgrade the bundled Node.js runtime. Use this url for the latest version NodeJsLTS -
appiumServerVersion
Appium server npm package version used by SHAFT MCP when it needs to bootstrap a local Appium server without requiring administrator-installed tools. -
appiumInspectorPluginVersion
@Key("appiumInspectorPluginVersion") @DefaultValue("2026.5.1") String appiumInspectorPluginVersion()Appium Inspector plugin npm package version used by SHAFT MCP for wrapped mobile recording sessions. -
appiumUiAutomator2DriverVersion
@Key("appiumUiAutomator2DriverVersion") @DefaultValue("7.6.2") String appiumUiAutomator2DriverVersion()Appium UiAutomator2 driver npm package version used by SHAFT MCP for Android. -
appiumXcuitestDriverVersion
Appium XCUITest driver npm package version used by SHAFT MCP for iOS attach and recording flows on macOS. -
androidCommandLineToolsVersion
@Key("androidCommandLineToolsVersion") @DefaultValue("14742923") String androidCommandLineToolsVersion()Android command-line tools build number used by SHAFT MCP when no Android SDK tools are already available on the machine. -
androidEmulatorApiLevel
@Key("androidEmulatorApiLevel") @DefaultValue("36") int androidEmulatorApiLevel()Default Android API level proposed for SHAFT-managed emulator creation. -
androidEmulatorDeviceProfile
Default Android virtual device profile proposed for SHAFT-managed emulators. -
androidEmulatorImageTag
Default Android system image tag proposed for SHAFT-managed emulators. -
androidEmulatorRamMb
@Key("androidEmulatorRamMb") @DefaultValue("4096") int androidEmulatorRamMb()Default Android emulator memory size in MB. -
androidEmulatorCores
@Key("androidEmulatorCores") @DefaultValue("2") int androidEmulatorCores()Default Android emulator CPU core count. -
ga4MeasurementId
Google Analytics 4 Measurement ID used for anonymous telemetry. Found in the GA4 console under Admin > Data Streams > choose your stream > Measurement ID. Override ininternal.propertiesto route telemetry to a different GA4 property. -
ga4ApiSecret
Google Analytics 4 API Secret used for the Measurement Protocol. Found in the GA4 console under Admin > Data Streams > choose your stream > Measurement Protocol > Create. Override ininternal.propertiesto supply a fresh secret after rotation.Note: if you override this with your own GA4 property's secret, rotate the secret regularly via the GA4 console to prevent abuse; the new value can then be supplied via
internal.propertieswithout a SHAFT release.
-