44import { workspace } from "vscode" ;
55import { instrumentOperationStep } from "vscode-extension-telemetry-wrapper" ;
66import { serviceManager } from "../model" ;
7- import { MatadataType , Packaging } from "../model/Metadata" ;
7+ import { MetadataType , Packaging } from "../model/Metadata" ;
88import { IPickMetadata , IProjectMetadata , IStep } from "./HandlerInterfaces" ;
99import { SpecifyJavaVersionStep } from "./SpecifyJavaVersionStep" ;
1010import { createPickBox } from "./utils" ;
@@ -30,17 +30,27 @@ export class SpecifyPackagingStep implements IStep {
3030
3131 private async specifyPackaging ( projectMetadata : IProjectMetadata ) : Promise < boolean > {
3232 const packaging : string = projectMetadata . defaults . packaging || workspace . getConfiguration ( "spring.initializr" ) . get < string > ( "defaultPackaging" ) ;
33+
3334 if ( packaging ) {
3435 projectMetadata . packaging = packaging && packaging . toLowerCase ( ) ;
3536 return true ;
3637 }
38+
39+ const items = await serviceManager . getItems ( projectMetadata . serviceUrl , MetadataType . PACKAGING ) ;
40+
41+ if ( projectMetadata . enableSmartDefaults === true ) {
42+ projectMetadata . packaging = items . find ( x => x . default === true ) ?. label ?. toLowerCase ( ) ;
43+ return true ;
44+ }
45+
3746 const pickMetaData : IPickMetadata < Packaging > = {
3847 metadata : projectMetadata ,
3948 title : "Spring Initializr: Specify packaging type" ,
4049 pickStep : SpecifyPackagingStep . getInstance ( ) ,
4150 placeholder : "Specify packaging type." ,
42- items : serviceManager . getItems ( projectMetadata . serviceUrl , MatadataType . PACKAGING ) ,
51+ items : items
4352 } ;
53+
4454 return await createPickBox ( pickMetaData ) ;
4555 }
4656}
0 commit comments