Bläddra i källkod

Merge pull request #58 from solana-program/febo/sequential-build

Use loop to build programs programs
Fernando Otero 1 år sedan
förälder
incheckning
2a752b726d

+ 5 - 0
.changeset/many-llamas-add.md

@@ -0,0 +1,5 @@
+---
+"create-solana-program": patch
+---
+
+Use loop to build programs sequentially

+ 4 - 6
template/base/scripts/program/build.mjs

@@ -6,9 +6,7 @@ import { workingDirectory, getProgramFolders } from '../utils.mjs';
 import './dump.mjs';
 
 // Build the programs.
-await Promise.all(
-  getProgramFolders().map(async (folder) => {
-    cd(`${path.join(workingDirectory, folder)}`);
-    await $`cargo-build-sbf ${process.argv.slice(3)}`;
-  })
-);
+for (const folder of getProgramFolders()) {
+  cd(`${path.join(workingDirectory, folder)}`);
+  await $`cargo-build-sbf ${process.argv.slice(3)}`;
+}

+ 4 - 6
template/base/scripts/program/format.mjs

@@ -3,9 +3,7 @@ import 'zx/globals';
 import { workingDirectory, getProgramFolders } from '../utils.mjs';
 
 // Format the programs.
-await Promise.all(
-  getProgramFolders().map(async (folder) => {
-    cd(`${path.join(workingDirectory, folder)}`);
-    await $`cargo fmt ${process.argv.slice(3)}`;
-  })
-);
+for (const folder of getProgramFolders()) {
+  cd(`${path.join(workingDirectory, folder)}`);
+  await $`cargo fmt ${process.argv.slice(3)}`;
+}

+ 4 - 6
template/base/scripts/program/lint.mjs

@@ -3,9 +3,7 @@ import 'zx/globals';
 import { workingDirectory, getProgramFolders } from '../utils.mjs';
 
 // Lint the programs using clippy.
-await Promise.all(
-  getProgramFolders().map(async (folder) => {
-    cd(`${path.join(workingDirectory, folder)}`);
-    await $`cargo clippy ${process.argv.slice(3)}`;
-  })
-);
+for (const folder of getProgramFolders()) {
+  cd(`${path.join(workingDirectory, folder)}`);
+  await $`cargo clippy ${process.argv.slice(3)}`;
+}

+ 9 - 11
template/base/scripts/program/test.mjs

@@ -5,16 +5,14 @@ import { workingDirectory, getProgramFolders } from '../utils.mjs';
 // Save external programs binaries to the output directory.
 import './dump.mjs';
 
+const hasSolfmt = await which('solfmt', { nothrow: true });
 // Test the programs.
-await Promise.all(
-  getProgramFolders().map(async (folder) => {
-    cd(`${path.join(workingDirectory, folder)}`);
-    const hasSolfmt = await which('solfmt', { nothrow: true });
+for (const folder of getProgramFolders()) {
+  cd(`${path.join(workingDirectory, folder)}`);
 
-    if (hasSolfmt) {
-      await $`RUST_LOG=error cargo test-sbf ${process.argv.slice(3)} 2>&1 | solfmt`;
-    } else {
-      await $`RUST_LOG=error cargo test-sbf ${process.argv.slice(3)}`;
-    }
-  })
-);
+  if (hasSolfmt) {
+    await $`RUST_LOG=error cargo test-sbf ${process.argv.slice(3)} 2>&1 | solfmt`;
+  } else {
+    await $`RUST_LOG=error cargo test-sbf ${process.argv.slice(3)}`;
+  }
+}