@@ -107,11 +107,6 @@ build.builder = function(cli) {
107107 default : false ,
108108 type : "boolean"
109109 } )
110- . option ( "x-graph-mode" , {
111- describe : "Uses an experimental project graph instead of a dependency tree" ,
112- default : false ,
113- type : "boolean"
114- } )
115110 . example ( "ui5 build" , "Preload build for project without dependencies" )
116111 . example ( "ui5 build self-contained --all" , "Self-contained build for project including dependencies" )
117112 . example ( "ui5 build --all --exclude-task=* --include-task=createDebugFiles generateAppPreload" ,
@@ -129,35 +124,48 @@ build.builder = function(cli) {
129124} ;
130125
131126async function handleBuild ( argv ) {
132- const normalizer = require ( "@ui5/project" ) . normalizer ;
133127 const builder = require ( "@ui5/builder" ) . builder ;
134128 const logger = require ( "@ui5/logger" ) ;
135129
136130 const command = argv . _ [ argv . _ . length - 1 ] ;
137131 logger . setShowProgress ( true ) ;
138132
139- const normalizerOptions = {
140- translatorName : argv . translator ,
141- configPath : argv . config
142- } ;
143-
144- if ( argv . frameworkVersion ) {
145- normalizerOptions . frameworkOptions = {
146- versionOverride : argv . frameworkVersion
147- } ;
148- }
149-
150133 let tree ;
151134 let graph ;
135+ let buildSettings ;
152136 if ( argv . xGraphMode ) {
153- graph = await normalizer . generateProjectGraph ( normalizerOptions ) ;
137+ const generateProjectGraph = require ( "@ui5/project" ) . generateProjectGraph ;
138+ if ( argv . dependencyDefinition ) {
139+ graph = await generateProjectGraph . usingStaticFile ( {
140+ filePath : argv . dependencyDefinition ,
141+ versionOverride : argv . frameworkVersion
142+ } ) ;
143+ } else {
144+ graph = await generateProjectGraph . usingNodePackageDependencies ( {
145+ rootConfigPath : argv . config ,
146+ versionOverride : argv . frameworkVersion
147+ } ) ;
148+ }
149+ buildSettings = graph . getRoot ( ) . getBuilderSettings ( ) || { } ;
154150 } else {
151+ const normalizerOptions = {
152+ translatorName : argv . translator ,
153+ configPath : argv . config
154+ } ;
155+
156+ if ( argv . frameworkVersion ) {
157+ normalizerOptions . frameworkOptions = {
158+ versionOverride : argv . frameworkVersion
159+ } ;
160+ }
161+ const normalizer = require ( "@ui5/project" ) . normalizer ;
155162 tree = await normalizer . generateProjectTree ( normalizerOptions ) ;
163+ buildSettings = ( tree . builder && tree . builder . settings ) || { } ;
156164 }
157- const buildSettings = ( tree . builder && tree . builder . settings ) || { } ;
158165
159166 const { includedDependencies, excludedDependencies} = buildHelper . createDependencyLists ( {
160- tree : tree ,
167+ tree,
168+ graph,
161169 includeDependency : argv [ "include-dependency" ] ,
162170 includeDependencyRegExp : argv [ "include-dependency-regexp" ] ,
163171 includeDependencyTree : argv [ "include-dependency-tree" ] ,
@@ -171,8 +179,8 @@ async function handleBuild(argv) {
171179 const buildAll = buildHelper . alignWithBuilderApi ( argv . all , includedDependencies , excludedDependencies ) ;
172180
173181 await builder . build ( {
174- tree : tree ,
175- graph : graph ,
182+ tree,
183+ graph,
176184 destPath : argv . dest ,
177185 cleanDest : argv [ "clean-dest" ] ,
178186 buildDependencies : buildAll ,
0 commit comments