Issue
- When a Liferay workspace becomes larger and has a number of modules, the build process slows down.
Environment
- DXP 7.3+
- DXP 7.4+
- Quarterly releases
Resolution
- Once the workspace is created and you only need to compile a specific module instead of the entire project, you can do so by executing
blade gw client-extensions:sample-module:build
- The build task inherits tasks that are executed before it. These tasks can be examined by executing the Gradle task with the --dry-run flag"
blade gw client-extensions:sample-module:build --dry-run
downloadNode SKIPPED
:client-extensions:sample-module:downloadNode SKIPPED
:client-extensions:sample-module:npmInstall SKIPPED
:setUpYarn SKIPPED
:yarnInstall SKIPPED
:client-extensions:sample-module:packageRunBuild SKIPPED
:client-extensions:sample-module:assembleClientExtension SKIPPED
:client-extensions:sample-module:validateClientExtensionIds SKIPPED
:client-extensions:sample-module:validateClientExtensions SKIPPED
:client-extensions:sample-module:createClientExtensionConfig SKIPPED
:client-extensions:sample-module:buildClientExtensionZip SKIPPED
:client-extensions:sample-module:assemble SKIPPED
:client-extensions:sample-module:check SKIPPED
:client-extensions:sample-module:build SKIPPED
-
In some cases, compilation time can be reduced by skipping unnecessary tasks using the -x flag:
blade gw client-extensions:sample-module:build -x downloadNode -x npmInstall -x setUpyarn -x yarnInstall -x test -x check
Additional Information
- Other changes can be made to improve performance in Gradle tasks, such as using the --parallel flag. See: https://docs.gradle.org/current/userguide/performance.html