91 lines
6 KiB
XML
91 lines
6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0" DefaultTargets="Main">
|
|
<PropertyGroup>
|
|
<SolutionRoot>$(MSBuildProjectDirectory)\..\..\</SolutionRoot>
|
|
<ModelXml>$(SolutionRoot)\Kreta.DataAccess.Model\Kreta.DataAccess.Model.xml</ModelXml>
|
|
<ModelImf>$(SolutionRoot)\Kreta.DataAccess.Model\Kreta.DataAccess.Model.imf</ModelImf>
|
|
<TemplatesDir>$(SolutionRoot)\Tools\CodeGeneration\Templates</TemplatesDir>
|
|
<AcdTool>c:\OpenAmeos11.0\bin\W32NTX86\acd.exe</AcdTool>
|
|
<ProjectName>Kreta</ProjectName>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<ModelXmls Include="$(ModelXml)" />
|
|
</ItemGroup>
|
|
|
|
<UsingTask TaskName="Sda.Build.Tasks.DictionaryItem" AssemblyFile="Sda.Build.dll" />
|
|
<UsingTask TaskName="Sda.Build.Tasks.MssqlDBCreate" AssemblyFile="Sda.Build.dll" />
|
|
<UsingTask TaskName="Sda.Build.Tasks.UpdateIds" AssemblyFile="Sda.Build.dll"/>
|
|
<UsingTask TaskName="Sda.Build.Tasks.GenerateImf" AssemblyFile="Sda.Build.dll"/>
|
|
<UsingTask TaskName="Sda.Build.Tasks.SetEnvVar" AssemblyFile="Sda.Build.dll"/>
|
|
<UsingTask TaskName="Sda.Build.Tasks.UnixLineEnding" AssemblyFile="Sda.Build.dll"/>
|
|
|
|
<Target Name="Main">
|
|
<!-- <Message Text="DIR = $(SolutionRoot)" /> -->
|
|
<CallTarget Targets="CompileUml" />
|
|
</Target>
|
|
|
|
<Target Name="CompileUml">
|
|
<CallTarget Targets="CreateImf" />
|
|
<CallTarget Targets="GenerateUML" />
|
|
</Target>
|
|
|
|
<Target Name="CreateImf">
|
|
<UpdateIds Input="$(ModelXml)" Packages="$(ProjectName)" ContinueOnError="ErrorAndContinue" />
|
|
<Copy SourceFiles="$(ModelXml).alt" DestinationFiles="$(ModelXml)" SkipUnchangedFiles="true" />
|
|
<GenerateImf Inputs="@(ModelXmls)" Output="$(ModelImf)" ContinueOnError="false" />
|
|
</Target>
|
|
|
|
<Target Name="GenerateUML">
|
|
<CallTarget Targets="InitGenerate;GenerateDataAccessProject;GenerateEnums;GenerateDb;CreateDB" />
|
|
</Target>
|
|
|
|
<Target Name="InitGenerate">
|
|
<SetEnvVar Variable="ACD_TEMP_DIR" Value="$(TemplatesDir)" />
|
|
<SetEnvVar Variable="MERGE_PATH" Value="$(TemplatesDir)" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Server\Run\MetaModelTXTMain.tdl" -var OutputDir='$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts' ProjectName='$(ProjectName)'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
</Target>
|
|
|
|
<Target Name="GenerateDataAccessProject" Condition="'$(GenerateDataAccessProject)' == 'true'">
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Server\Run\DataAccessMain.tdl" -var OutputDir='$(SolutionRoot)' ProjectName='$(ProjectName)' GENERATEPROJECTFILE='True'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Server\Run\DataAccessMain.tdl" -var OutputDir='$(SolutionRoot)' ProjectName='$(ProjectName)' DATAACCESSOR='True'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Server\Run\DataAccessMain.tdl" -var OutputDir='$(SolutionRoot)' ProjectName='$(ProjectName)' ENTITY='True'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Server\Run\DataAccessMain.tdl" -var OutputDir='$(SolutionRoot)' ProjectName='$(ProjectName)' ENTITYCOLLECTION='True'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<UnixLineEnding DataAccessorsPath="$(SolutionRoot)\Kreta.DataAccessGenerated\DataAccessors"
|
|
EntitiesPath="$(SolutionRoot)\Kreta.DataAccessGenerated\Entities"
|
|
InterfacesPath="$(SolutionRoot)\Kreta.DataAccessInterfaceGenerated" />
|
|
</Target>
|
|
|
|
<Target Name="GenerateEnums" Condition="'$(GenerateEnums)' == 'true'">
|
|
<DictionaryItem InputFile="$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\DictionaryItems.txt"
|
|
InputDictionaryXMLFile="$(SolutionRoot)\GeneratedDictionaryItems.kres"
|
|
ScriptOutputDir="$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database\dev\"
|
|
CSharpOutputDir="$(SolutionRoot)\Kreta.Enums\" />
|
|
</Target>
|
|
|
|
<Target Name="GenerateDb" Condition="'$(GenerateDb)' == 'true'">
|
|
<MakeDir Directories="$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Database\SQL_CreateTableScript.tdl" -var OutputDir='$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database' ProjectName='$(ProjectName)' SQL_DBType='MSSQL'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Database\SQL_CreateTableIndicesScript.tdl" -var OutputDir='$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database' ProjectName='$(ProjectName)' SQL_DBType='MSSQL'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\Database\SQL_AlterTableScript.tdl" -var OutputDir='$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database' ProjectName='$(ProjectName)' SQL_DBType='MSSQL'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<Exec Command=""$(AcdTool)" -f "$(ModelImf)" -t "$(TemplatesDir)\CommentGenerate\GenerateCommentSQL.tdl" -var OutputDir='$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database' ProjectName='$(ProjectName)' SQL_DBType='MSSQL'"
|
|
WorkingDirectory="$(TemplatesDir)" />
|
|
<ItemGroup>
|
|
<MssqlFiles Include="$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database\*.sql" />
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(MssqlFiles)" DestinationFolder="$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database" />
|
|
</Target>
|
|
|
|
<Target Name="CreateDB" Condition="'$(CreateDB)' == 'true'">
|
|
<MssqlDBCreate ServerName="kretalocal" DbName="kreta" UserName="kreta" Password="Porcica1." MssqlScriptDir="$(SolutionRoot)\Kreta.DataAccess.Migrations\DBScripts\Database" />
|
|
</Target>
|
|
|
|
</Project>
|