export interface RawGradleVersion { version: string; reason: string; isUpdateAvailable: boolean; isFailure: boolean; } export interface RawGradleDependency { group: string; available?: { release: string | null; milestone: string | null; integration: string | null; }; version: string; projectUrl: string | null; name: string; } export interface RawGradleDependencyGroup { dependencies: RawGradleDependency[]; count: number; } export interface RawGradleReport { gradle: { enabled: true; current: RawGradleVersion; nightly: RawGradleVersion; releaseCandidate: RawGradleVersion; running: RawGradleVersion; }; current: RawGradleDependencyGroup; exceeded: RawGradleDependencyGroup; outdated: RawGradleDependencyGroup; unresolved: RawGradleDependencyGroup; count: number; } export interface GradleDependency { group: string; name: string; /** * string of format: `${group}:${name}` */ fullName: `${string}:${string}`; availableVersion: string | null; currentVersion: string; projectUrl: string | null; } export interface GradleReport { current: GradleDependency[]; exceeded: GradleDependency[]; outdated: GradleDependency[]; unresolved: GradleDependency[]; } /** * Main description of the android project and it's gradle dependencies. */ export interface AndroidProjectReport { gradleReport: GradleReport; rawGradleReport: RawGradleReport; projectName: string; projectPath: string; /** * Available only for Android projects in `packages/*` directory. */ changelogPath: string | null; gradleFilePath: string; } export interface GradleDependencyUpdate { name: string; group: string; fullName: string; oldVersion: string; newVersion: string; } export interface AndroidProjectDependenciesUpdates { report: AndroidProjectReport; updates: GradleDependencyUpdate[]; }