Skip to content

Commit 38ebfca

Browse files
Fix gradele build bug.
1 parent 3dada05 commit 38ebfca

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

scripts/fixGradleWrapper.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
function safeCopyFile(src, dest) {
5+
if (!fs.existsSync(src)) return false;
6+
fs.copyFileSync(src, dest);
7+
return true;
8+
}
9+
10+
function run() {
11+
const repoRoot = path.join(__dirname, '..');
12+
const androidDir = path.join(repoRoot, 'android');
13+
const destDir = path.join(repoRoot, 'build', 'android');
14+
15+
if (!fs.existsSync(androidDir)) {
16+
console.warn('No android directory found to copy from:', androidDir);
17+
return;
18+
}
19+
20+
fs.mkdirSync(destDir, { recursive: true });
21+
22+
// Copy wrapper scripts
23+
const gradlew = path.join(androidDir, 'gradlew');
24+
const gradlewBat = path.join(androidDir, 'gradlew.bat');
25+
if (safeCopyFile(gradlew, path.join(destDir, 'gradlew'))) {
26+
try { fs.chmodSync(path.join(destDir, 'gradlew'), 0o755); } catch (e) {}
27+
console.log('Copied gradlew to', destDir);
28+
}
29+
if (safeCopyFile(gradlewBat, path.join(destDir, 'gradlew.bat'))) {
30+
console.log('Copied gradlew.bat to', destDir);
31+
}
32+
33+
// Copy gradle directory if present
34+
const gradleDir = path.join(androidDir, 'gradle');
35+
const destGradleDir = path.join(destDir, 'gradle');
36+
if (fs.existsSync(gradleDir)) {
37+
// Use recursive copy available in Node 16+
38+
try {
39+
fs.cpSync(gradleDir, destGradleDir, { recursive: true });
40+
console.log('Copied gradle/ to', destGradleDir);
41+
} catch (e) {
42+
console.warn('Failed to copy gradle directory:', e.message);
43+
}
44+
}
45+
}
46+
47+
if (require.main === module) run();
48+
49+
module.exports = run;

0 commit comments

Comments
 (0)