1export interface RawGradleVersion { 2 version: string; 3 reason: string; 4 isUpdateAvailable: boolean; 5 isFailure: boolean; 6} 7 8export interface RawGradleDependency { 9 group: string; 10 available?: { 11 release: string | null; 12 milestone: string | null; 13 integration: string | null; 14 }; 15 version: string; 16 projectUrl: string | null; 17 name: string; 18} 19 20export interface RawGradleDependencyGroup { 21 dependencies: RawGradleDependency[]; 22 count: number; 23} 24 25export interface RawGradleReport { 26 gradle: { 27 enabled: true; 28 current: RawGradleVersion; 29 nightly: RawGradleVersion; 30 releaseCandidate: RawGradleVersion; 31 running: RawGradleVersion; 32 }; 33 current: RawGradleDependencyGroup; 34 exceeded: RawGradleDependencyGroup; 35 outdated: RawGradleDependencyGroup; 36 unresolved: RawGradleDependencyGroup; 37 count: number; 38} 39 40export interface GradleDependency { 41 group: string; 42 name: string; 43 /** 44 * string of format: `${group}:${name}` 45 */ 46 fullName: `${string}:${string}`; 47 availableVersion: string | null; 48 currentVersion: string; 49 projectUrl: string | null; 50} 51 52export interface GradleReport { 53 current: GradleDependency[]; 54 exceeded: GradleDependency[]; 55 outdated: GradleDependency[]; 56 unresolved: GradleDependency[]; 57} 58 59/** 60 * Main description of the android project and it's gradle dependencies. 61 */ 62export interface AndroidProjectReport { 63 gradleReport: GradleReport; 64 rawGradleReport: RawGradleReport; 65 projectName: string; 66 projectPath: string; 67 /** 68 * Available only for Android projects in `packages/*` directory. 69 */ 70 changelogPath: string | null; 71 gradleFilePath: string; 72} 73 74export interface GradleDependencyUpdate { 75 name: string; 76 group: string; 77 fullName: string; 78 oldVersion: string; 79 newVersion: string; 80} 81 82export interface AndroidProjectDependenciesUpdates { 83 report: AndroidProjectReport; 84 updates: GradleDependencyUpdate[]; 85} 86