appium-espresso-driver
Version:
Espresso integration for Appium
68 lines • 2.9 kB
TypeScript
import type { AppiumLogger } from '@appium/types';
export declare const GRADLE_URL_TEMPLATE = "https\\://services.gradle.org/distributions/gradle-VERSION-all.zip";
export declare const VERSION_KEYS: readonly ["gradle", "androidGradlePlugin", "compileSdk", "buildTools", "minSdk", "targetSdk", "kotlin", "sourceCompatibility", "targetCompatibility", "jvmTarget", "composeVersion", "espressoVersion", "annotationVersion"];
export interface ServerSigningConfig {
zipAlign: boolean;
keystoreFile: string;
keystorePassword: string;
keyAlias: string;
keyPassword: string;
}
export interface BuildServerSigningConfigArgs {
keystoreFile: string;
keystorePassword: string;
keyAlias: string;
keyPassword: string;
}
export interface EspressoBuildConfiguration {
toolsVersions?: Record<string, string>;
/**
* When false, the Espresso server is built without Jetpack Compose dependencies.
* Defaults to true when omitted.
*/
composeSupport?: boolean;
additionalAppDependencies?: string[];
additionalAndroidTestDependencies?: string[];
}
export interface ServerBuilderOptions {
serverPath: string;
showGradleLog?: boolean;
buildConfiguration?: EspressoBuildConfiguration;
testAppPackage?: string;
signingConfig?: ServerSigningConfig | null;
}
export declare class ServerBuilder {
private readonly log;
private readonly serverPath;
private readonly showGradleLog?;
private readonly serverVersions;
private readonly testAppPackage?;
private readonly signingConfig?;
private readonly additionalAppDependencies;
private readonly additionalAndroidTestDependencies;
private readonly composeSupport;
constructor(log: AppiumLogger, args: ServerBuilderOptions);
build(): Promise<void>;
private getCommand;
private setGradleWrapperVersion;
private updateGradleDistUrl;
private insertAdditionalDependencies;
private runBuildProcess;
}
/**
* Build keystore options for signing the built Espresso server test APK.
*
* @param args - Paths and credentials for the keystore used when signing.
* @returns Configuration consumed by the Gradle signing step.
*/
export declare function buildServerSigningConfig(args: BuildServerSigningConfigArgs): ServerSigningConfig;
/**
* Insert Gradle dependency lines after a `// placeholder` marker in a Gradle file.
*
* @param originalContent - Full text of the Gradle configuration file.
* @param dependencyPlaceholder - Placeholder comment label to find (e.g. from build.gradle).
* @param dependencyLines - Dependency lines to insert (e.g. `implementation "..."`).
* @returns Updated file content, or the original string if the placeholder is missing.
*/
export declare function updateDependencyLines(originalContent: string, dependencyPlaceholder: string, dependencyLines: string[]): string;
//# sourceMappingURL=builder.d.ts.map