@@ -269,7 +269,12 @@ task copyFilesToProjectTemeplate {
269269 into " $DIST_FRAMEWORK_PATH /build-tools"
270270 }
271271 copy {
272- from " $BUILD_TOOLS_PATH /jsparser/build/js_parser.js"
272+ from(" $BUILD_TOOLS_PATH /jsparser/build" ) {
273+ include " js_parser.js"
274+ }
275+ from(" $BUILD_TOOLS_PATH /jsparser" ) {
276+ include " package.json"
277+ }
273278 into " $DIST_FRAMEWORK_PATH /build-tools/jsparser"
274279 }
275280 copy {
@@ -343,6 +348,20 @@ task copyProjectTemplate(type: Copy) {
343348 into " $DIST_FRAMEWORK_PATH "
344349}
345350
351+ task verifyJsParserPackage {
352+ doLast {
353+ def packageFile = new File (" $DIST_FRAMEWORK_PATH /build-tools/jsparser/package.json" )
354+ if (! packageFile. exists()) {
355+ throw new GradleException (" The packaged JavaScript parser is missing its package.json boundary." )
356+ }
357+
358+ def packageJson = new JsonSlurper (). parseText(packageFile. text)
359+ if (packageJson. type != " commonjs" ) {
360+ throw new GradleException (" The packaged JavaScript parser must run as CommonJS." )
361+ }
362+ }
363+ }
364+
346365task copyPackageJson (type : Copy ) {
347366 from " $rootDir /package.json"
348367 into " $DIST_PATH "
@@ -394,7 +413,8 @@ if (generateRegularRuntimePackage) {
394413}
395414
396415copyFilesToProjectTemeplate. dependsOn(buildJsParser)
397- copyProjectTemplate. dependsOn(copyFilesToProjectTemeplate)
416+ verifyJsParserPackage. dependsOn(copyFilesToProjectTemeplate)
417+ copyProjectTemplate. dependsOn(verifyJsParserPackage)
398418copyPackageJson. dependsOn(copyProjectTemplate)
399419setPackageVersionInPackageJsonFile. dependsOn(copyPackageJson)
400420copyReadme. dependsOn(setPackageVersionInPackageJsonFile)
0 commit comments