Skip to content

Commit b42dcc9

Browse files
committed
fix: Correct slicing for PackageFiles index
1 parent ce71b9c commit b42dcc9

File tree

1 file changed

+29
-29
lines changed

1 file changed

+29
-29
lines changed

src/packages.ts

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ export class Packages {
2020

2121
async installPackages(includePackages: string[]): Promise<void> {
2222
core.info(`Requested Lazarus packages: ${includePackages.join(", ")}`);
23-
this.packageData = await this.getPackageList(
23+
this.packageData = await this._getPackageList(
2424
`${this.baseUrl}/${this.jsonParam}`
2525
);
2626
core.info(`Fetched ${this.packageData.length} package items.`);
2727

28-
const pkgsToInstall: PackageData[] = await this.resolveDependencies(
28+
const pkgsToInstall: PackageData[] = await this._resolveDependencies(
2929
includePackages
3030
);
3131

@@ -34,10 +34,10 @@ export class Packages {
3434
.map((pkg) => pkg.displayName)
3535
.join(", ")}`
3636
);
37-
await this.installAllPackages(pkgsToInstall);
37+
await this._installAllPackages(pkgsToInstall);
3838
}
3939

40-
private async resolveDependencies(
40+
private async _resolveDependencies(
4141
includePackages: string[]
4242
): Promise<PackageData[]> {
4343
const pkgsToInstall: PackageData[] = [];
@@ -49,17 +49,17 @@ export class Packages {
4949
);
5050

5151
for (const pkg of matchedPackages) {
52-
const deps = await this.getDependencies(pkg);
52+
const deps = await this._getDependencies(pkg);
5353
deps.forEach((dep) =>
54-
this.addPackageIfNeeded(dep, pkgsToInstall, pkgsToInstallNames)
54+
this._addPackageIfNeeded(dep, pkgsToInstall, pkgsToInstallNames)
5555
);
56-
this.addPackageIfNeeded(pkg, pkgsToInstall, pkgsToInstallNames);
56+
this._addPackageIfNeeded(pkg, pkgsToInstall, pkgsToInstallNames);
5757
}
5858
}
5959
return pkgsToInstall;
6060
}
6161

62-
private addPackageIfNeeded(
62+
private _addPackageIfNeeded(
6363
pkg: PackageData,
6464
pkgList: PackageData[],
6565
pkgNames: Set<string>
@@ -70,7 +70,7 @@ export class Packages {
7070
}
7171
}
7272

73-
private async getDependencies(
73+
private async _getDependencies(
7474
pkg: PackageData,
7575
seenPkgs: Set<string> = new Set()
7676
): Promise<PackageData[]> {
@@ -87,36 +87,36 @@ export class Packages {
8787
for (const foundPkg of foundPkgs) {
8888
dependencies.push(
8989
foundPkg,
90-
...(await this.getDependencies(foundPkg, seenPkgs))
90+
...(await this._getDependencies(foundPkg, seenPkgs))
9191
);
9292
}
9393
}
9494
}
9595
return dependencies;
9696
}
9797

98-
private async installAllPackages(
98+
private async _installAllPackages(
9999
pkgsToInstall: PackageData[]
100100
): Promise<void> {
101101
for (const pkg of pkgsToInstall) {
102102
try {
103-
const pkgFile = await this.download(pkg.repositoryFileName);
104-
const pkgFolder = await this.extract(
103+
const pkgFile = await this._download(pkg.repositoryFileName);
104+
const pkgFolder = await this._extract(
105105
pkgFile,
106-
path.join(this.getTempDirectory(), pkg.repositoryFileHash)
106+
path.join(this._getTempDirectory(), pkg.repositoryFileHash)
107107
);
108108
core.info(`Unzipped to: "${pkgFolder}/${pkg.baseDir}"`);
109109
await exec(`rm -rf ${pkgFile}`);
110-
await this.clearDirectory(pkgFolder);
111-
await this.installLpkFiles(pkgFolder, pkg);
110+
await this._clearDirectory(pkgFolder);
111+
await this._installLpkFiles(pkgFolder, pkg);
112112
} catch (error) {
113113
core.setFailed(`Installation failed: ${(error as Error).message}`);
114114
throw error;
115115
}
116116
}
117117
}
118118

119-
private async installLpkFiles(
119+
private async _installLpkFiles(
120120
pkgFolder: string,
121121
pkg: PackageData
122122
): Promise<void> {
@@ -127,7 +127,7 @@ export class Packages {
127127
pkgFile.relativeFilePath,
128128
pkgFile.file
129129
);
130-
const buildCommand = `lazbuild ${this.getPlatformFlags()} "${pkgPath}"`;
130+
const buildCommand = `lazbuild ${this._getPlatformFlags()} "${pkgPath}"`;
131131

132132
core.info(`Adding and compiling package: ${pkgPath}`);
133133
await exec(
@@ -139,22 +139,22 @@ export class Packages {
139139
}
140140
}
141141

142-
private getPlatformFlags(): string {
142+
private _getPlatformFlags(): string {
143143
return this.platform === "darwin" ? "--ws=cocoa" : "";
144144
}
145145

146-
private async extract(file: string, dest: string): Promise<string> {
146+
private async _extract(file: string, dest: string): Promise<string> {
147147
core.info(`Extracting ${file} to ${dest}`);
148148
return tc.extractZip(file, dest);
149149
}
150150

151-
private async download(filename: string): Promise<string> {
152-
const downloadPath = path.join(this.getTempDirectory(), filename);
151+
private async _download(filename: string): Promise<string> {
152+
const downloadPath = path.join(this._getTempDirectory(), filename);
153153
core.info(`Downloading ${this.baseUrl}/${filename} to ${downloadPath}`);
154154
return tc.downloadTool(`${this.baseUrl}/${filename}`, downloadPath);
155155
}
156156

157-
private async clearDirectory(dirPath: string): Promise<void> {
157+
private async _clearDirectory(dirPath: string): Promise<void> {
158158
if (
159159
await fs
160160
.access(dirPath)
@@ -170,27 +170,27 @@ export class Packages {
170170
}
171171
}
172172

173-
private async getPackageList(repoURL: string): Promise<PackageData[]> {
174-
core.info(`Fetching package list from ${repoURL}`);
173+
private async _getPackageList(repoURL: string): Promise<PackageData[]> {
174+
core.info(`_getPackageList: Fetching package list from ${repoURL}`);
175175
try {
176176
const httpClient = new http.HttpClient();
177177
const response = await httpClient.get(repoURL);
178178
const responseBody = await response.readBody();
179-
return this.parsePackageList(JSON.parse(responseBody));
179+
return this._parsePackageList(JSON.parse(responseBody));
180180
} catch (error) {
181181
throw new Error(
182182
`Failed to get package list: ${(error as Error).message}`
183183
);
184184
}
185185
}
186186

187-
private parsePackageList(packageList: any): PackageData[] {
187+
private _parsePackageList(packageList: any): PackageData[] {
188188
const result: PackageData[] = [];
189189
Object.entries(packageList).forEach(([key, value]) => {
190190
if (key.startsWith("PackageData")) {
191191
const pkgData = new PackageData();
192192
Object.assign(pkgData, value);
193-
pkgData.packages = packageList[`PackageFiles${key.slice(-1)}`].map(
193+
pkgData.packages = packageList[`PackageFiles${key.slice(10)}`].map(
194194
(file: any) => {
195195
const pkgFile = new PackageFile();
196196
Object.assign(pkgFile, file);
@@ -203,7 +203,7 @@ export class Packages {
203203
return result;
204204
}
205205

206-
private getTempDirectory(): string {
206+
private _getTempDirectory(): string {
207207
const tempDir = process.env["RUNNER_TEMP"] || "";
208208
ok(tempDir, "RUNNER_TEMP environment variable is not defined");
209209
return tempDir;

0 commit comments

Comments
 (0)