11'use strict' ;
22
3+ import { cp , mkdir , readFile , writeFile } from 'fs/promises' ;
34import * as path from 'path' ;
4- import glob = require( 'glob' ) ;
55import { localize as i18n } from '../locale' ;
66import { logger } from '../logger' ;
7- import { mkdirpAsync , ncpAsync , readFileAsync , writeFileAsync } from '../utilities' ;
8- import { setExecutePermissions } from './permissions' ;
7+ import * as fileUtils from './fileUtils' ;
98import * as pathUtils from './pathUtils' ;
9+ import { setExecutePermissions } from './permissions' ;
10+ import glob = require( 'glob' ) ;
1011
1112/**
1213 * Common patterns used in text replacements
@@ -29,7 +30,7 @@ export const VendorDepFiles = {
2930/**
3031 * Filter function for excluding files from gradle copy operations
3132 */
32- export function gradleCopyFilter ( sourcePath : string , fromGradleFolder : string ) : boolean {
33+ function gradleCopyFilter ( sourcePath : string , fromGradleFolder : string ) : boolean {
3334 const rooted = path . relative ( fromGradleFolder , sourcePath ) ;
3435 if ( rooted . startsWith ( 'bin' ) || rooted . indexOf ( '.project' ) >= 0 ) {
3536 return false ;
@@ -73,13 +74,15 @@ export async function setupProjectStructure(
7374) : Promise < boolean > {
7475 try {
7576 // Copy gradle files
76- await ncpAsync ( fromGradleFolder , toFolder , {
77+ await cp ( fromGradleFolder , toFolder , {
7778 filter : ( cf ) => gradleCopyFilter ( cf , fromGradleFolder ) ,
79+ recursive : true ,
7880 } ) ;
7981
8082 // Copy shared gradle files
81- await ncpAsync ( path . join ( grRoot , 'shared' ) , toFolder , {
83+ await cp ( path . join ( grRoot , 'shared' ) , toFolder , {
8284 filter : ( cf ) => gradleCopyFilter ( cf , fromGradleFolder ) ,
85+ recursive : true ,
8386 } ) ;
8487
8588 // Set execute permissions on gradlew
@@ -100,7 +103,7 @@ export async function updateGradleRioVersion(
100103 gradleRioVersion : string
101104) : Promise < boolean > {
102105 try {
103- return await pathUtils . updateFileContents ( buildGradlePath , ( content ) =>
106+ return await fileUtils . updateFileContents ( buildGradlePath , ( content ) =>
104107 content . replace ( new RegExp ( ReplacementPatterns . GRADLE_RIO_MARKER , 'g' ) , gradleRioVersion )
105108 ) ;
106109 } catch ( error ) {
@@ -123,7 +126,7 @@ export async function setupDeployDirectory(
123126 }
124127
125128 const deployDir = path . join ( toFolder , 'src' , 'main' , 'deploy' ) ;
126- await mkdirpAsync ( deployDir ) ;
129+ await mkdir ( deployDir , { recursive : true } ) ;
127130
128131 const hintKey = isJava ? 'generateJavaDeployHint' : 'generateCppDeployHint' ;
129132 const hintText = isJava
@@ -135,10 +138,7 @@ to get a proper path relative to the deploy directory.`
135138function from the 'frc/Filesystem.h' header to get a proper path relative to the deploy
136139directory.` ;
137140
138- await writeFileAsync (
139- path . join ( deployDir , 'example.txt' ) ,
140- i18n ( 'generator' , [ hintKey , hintText ] )
141- ) ;
141+ await writeFile ( path . join ( deployDir , 'example.txt' ) , i18n ( 'generator' , [ hintKey , hintText ] ) ) ;
142142
143143 return true ;
144144 } catch ( error ) {
@@ -157,7 +157,7 @@ export async function setupVendorDeps(
157157) : Promise < boolean > {
158158 try {
159159 const vendorDir = path . join ( toFolder , 'vendordeps' ) ;
160- await mkdirpAsync ( vendorDir ) ;
160+ await mkdir ( vendorDir , { recursive : true } ) ;
161161
162162 // Add WPILib New Commands
163163 await pathUtils . copyVendorDep ( resourcesFolder , VendorDepFiles . COMMANDS , vendorDir ) ;
@@ -183,5 +183,5 @@ export async function setupVendorDeps(
183183 */
184184export async function getGradleRioVersion ( grRoot : string ) : Promise < string > {
185185 const grVersionFile = path . join ( grRoot , 'version.txt' ) ;
186- return ( await readFileAsync ( grVersionFile , 'utf8' ) ) . trim ( ) ;
186+ return ( await readFile ( grVersionFile , 'utf8' ) ) . trim ( ) ;
187187}
0 commit comments