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