11using System ;
22using System . Collections . Generic ;
33using System . Linq ;
4- using Dibix . Sdk . CodeGeneration . Model ;
54using Dibix . Sdk . Sql ;
65using Microsoft . SqlServer . Dac . Model ;
76
@@ -12,7 +11,6 @@ internal static class CodeGenerationModelLoader
1211 public static CodeGenerationModel Create
1312 (
1413 string projectName
15- , string projectDirectory
1614 , string productName
1715 , string areaName
1816 , string title
@@ -22,18 +20,19 @@ string projectName
2220 , string outputDirectory
2321 , string defaultOutputName
2422 , string clientOutputName
25- , string externalAssemblyReferenceDirectory
2623 , ICollection < TaskItem > source
2724 , IEnumerable < TaskItem > contracts
2825 , IEnumerable < TaskItem > endpoints
29- , IEnumerable < TaskItem > references
3026 , IEnumerable < TaskItem > defaultSecuritySchemes
3127 , bool isEmbedded
3228 , bool enableExperimentalFeatures
3329 , string databaseSchemaProviderName
3430 , string modelCollation
3531 , ICollection < TaskItem > sqlReferencePath
3632 , ISchemaRegistry schemaRegistry
33+ , IExternalSchemaResolver externalSchemaResolver
34+ , ISchemaDefinitionResolver schemaDefinitionResolver
35+ , DefaultAssemblyResolver assemblyResolver
3736 , IActionParameterSourceRegistry actionParameterSourceRegistry
3837 , IActionParameterConverterRegistry actionParameterConverterRegistry
3938 , LockEntryManager lockEntryManager
@@ -48,7 +47,6 @@ string projectName
4847 ICollection < string > normalizedSources = source . Select ( x => x . GetFullPath ( ) ) . ToArray ( ) ;
4948 IEnumerable < string > normalizedContracts = contracts . Select ( x => x . GetFullPath ( ) ) ;
5049 IEnumerable < string > normalizedEndpoints = endpoints . Select ( x => x . GetFullPath ( ) ) ;
51- ICollection < string > normalizedReferences = references . Select ( x => x . GetFullPath ( ) ) . ToArray ( ) ;
5250 ICollection < string > normalizedDefaultSecuritySchemes = defaultSecuritySchemes . Select ( x => x . ItemSpec ) . ToArray ( ) ;
5351
5452 CodeGenerationModel model = new CodeGenerationModel
@@ -67,7 +65,6 @@ string projectName
6765 EnableExperimentalFeatures = enableExperimentalFeatures
6866 } ;
6967
70- DefaultAssemblyResolver assemblyResolver = new DefaultAssemblyResolver ( projectDirectory , externalAssemblyReferenceDirectory , normalizedReferences ) ;
7168 ITypeResolverFacade typeResolver = new TypeResolverFacade ( assemblyResolver , schemaRegistry , logger ) ;
7269
7370 // Currently only DML statements are included automatically
@@ -85,13 +82,12 @@ string projectName
8582 //ISchemaProvider externalSchemaProvider = new ExternalSchemaProvider(assemblyResolver);
8683 schemaRegistry . ImportSchemas ( builtInSchemaProvider , contractDefinitionProvider , userDefinedTypeProvider /*, externalSchemaProvider*/ ) ;
8784
88- IExternalSchemaResolver externalSchemaResolver = new ExternalSchemaResolver ( assemblyResolver , schemaRegistry ) ;
8985 typeResolver . Register ( new ContractDefinitionSchemaTypeResolver ( schemaRegistry , contractDefinitionProvider , externalSchemaResolver , assemblyResolver , assemblyResolver , logger , productName , areaName ) , 1 ) ;
9086 typeResolver . Register ( new UserDefinedTypeSchemaTypeResolver ( schemaRegistry , userDefinedTypeProvider , externalSchemaResolver , assemblyResolver , logger ) , 2 ) ;
9187
92- ISqlStatementDefinitionProvider sqlStatementDefinitionProvider = new SqlStatementDefinitionProvider ( projectName , isEmbedded , analyzeAlways : true , rootNamespace , productName , areaName , parser , formatter , typeResolver , schemaRegistry , logger , normalizedSources , modelAccessor ) ;
93- IActionDefinitionResolverFacade actionResolver = new ActionDefinitionResolverFacade ( productName , areaName , className , sqlStatementDefinitionProvider , externalSchemaResolver , assemblyResolver , lockEntryManager , schemaRegistry , logger ) ;
94- IControllerDefinitionProvider controllerDefinitionProvider = new ControllerDefinitionProvider ( normalizedEndpoints , normalizedDefaultSecuritySchemes , securitySchemeMap , actionResolver , typeResolver , schemaRegistry , actionParameterSourceRegistry , actionParameterConverterRegistry , lockEntryManager , fileSystemProvider , logger ) ;
88+ ISqlStatementDefinitionProvider sqlStatementDefinitionProvider = new SqlStatementDefinitionProvider ( projectName , isEmbedded , analyzeAlways : true , rootNamespace , productName , areaName , parser , formatter , typeResolver , schemaRegistry , schemaDefinitionResolver , logger , normalizedSources , modelAccessor ) ;
89+ IActionDefinitionResolverFacade actionResolver = new ActionDefinitionResolverFacade ( productName , areaName , className , sqlStatementDefinitionProvider , externalSchemaResolver , assemblyResolver , lockEntryManager , schemaDefinitionResolver , schemaRegistry , logger ) ;
90+ IControllerDefinitionProvider controllerDefinitionProvider = new ControllerDefinitionProvider ( normalizedEndpoints , normalizedDefaultSecuritySchemes , securitySchemeMap , actionResolver , typeResolver , schemaDefinitionResolver , actionParameterSourceRegistry , actionParameterConverterRegistry , lockEntryManager , fileSystemProvider , logger ) ;
9591
9692 schemaRegistry . ImportSchemas ( sqlStatementDefinitionProvider ) ;
9793
0 commit comments