Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions TALXIS.DevKit.Build.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@
<Project Path="src/Dataverse/Solution/TALXIS.DevKit.Build.Dataverse.Solution.csproj" />
<Project Path="src/Dataverse/Plugin/TALXIS.DevKit.Build.Dataverse.Plugin.csproj" />
<Project Path="src/Dataverse/Pcf/TALXIS.DevKit.Build.Dataverse.Pcf.csproj" />
<Project Path="src/Dataverse/ScriptLibrary/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.csproj" />
<Project Path="src/Dataverse/PDPackage/TALXIS.DevKit.Build.Dataverse.PdPackage.csproj" />

</Solution>
3 changes: 3 additions & 0 deletions src/Dataverse/PDPackage/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# TALXIS.DevKit.Build.Dataverse.Tasks

See [here](https://github.com/TALXIS/tools-devkit-build) for more information.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version Condition="'$(Version)'==''">0.0.0.1</Version>
<NuspecFile>TALXIS.DevKit.Build.Dataverse.PdPackage.nuspec</NuspecFile>
<NuspecProperties>
Version=$(Version)
</NuspecProperties>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>TALXIS.DevKit.Build.Dataverse.PdPackage</id>
<version>$Version$</version>
<authors>TALXIS</authors>
<developmentDependency>true</developmentDependency>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<readme>README.md</readme>
<projectUrl>https://github.com/TALXIS/tools-devkit-build</projectUrl>
<description>Dataverse MSBuild PDPackage</description>
<releaseNotes>https://github.com/TALXIS/tools-devkit-build/releases</releaseNotes>
<copyright>2025 NETWORG</copyright>
<repository type="git" url="https://github.com/TALXIS/tools-devkit-build"
commit="c941d55d453c1c64a1e248a240b0327d2dcd76ee" />
<dependencies>
<dependency id="Microsoft.PowerApps.MSBuild.PDPackage" version="[1.50.1]" />
</dependencies>
</metadata>
<files>
<file src="msbuild\tasks\*.*" target="tasks" />
<file src="msbuild\build\*.*" target="build" />
<file src="README.md" target="" />
</files>
</package>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)..\tasks\$(MSBuildThisFileName).targets" />
<Import Project="$(MSBuildThisFileDirectory)..\tasks\TALXIS.DevKit.Build.Dataverse.DataPackage.targets"
Condition="Exists('$(MSBuildThisFileDirectory)..\tasks\TALXIS.DevKit.Build.Dataverse.DataPackage.targets')" />
<Import Project="$(MSBuildThisFileDirectory)..\tasks\TALXIS.DevKit.Build.Dataverse.PdPackage.ILRepack.targets"
Condition="Exists('$(MSBuildThisFileDirectory)..\tasks\TALXIS.DevKit.Build.Dataverse.PdPackage.ILRepack.targets')" />
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<Project>
<PropertyGroup>
<DataPackageSearchRoot Condition="'$(DataPackageSearchRoot)'==''">
$([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)'))
</DataPackageSearchRoot>

<DataPackageOutputDir Condition="'$(DataPackageOutputDir)'=='' and '$(TargetDir)'!=''">
$([System.IO.Path]::Combine('$([System.IO.Path]::GetFullPath('$(TargetDir)'))','DataPackages'))
</DataPackageOutputDir>
<DataPackageOutputDir Condition="'$(DataPackageOutputDir)'==''">
$([System.IO.Path]::Combine('$([System.IO.Path]::GetFullPath('$(OutputPath)'))','DataPackages'))
</DataPackageOutputDir>

<DataPackageOutputDir>$([System.Text.RegularExpressions.Regex]::Replace('$(DataPackageOutputDir)', '[\\/]*$', ''))\</DataPackageOutputDir>
</PropertyGroup>

<Target Name="TalxisDiscoverDataPackages">
<ItemGroup>
<_DataPackageCandidates Include="$(DataPackageSearchRoot)**\[Content_Types].xml"
Condition="Exists('$([System.IO.Path]::Combine('$([System.IO.Path]::GetDirectoryName('%(FullPath)'))','data_schema.xml'))') and
Exists('$([System.IO.Path]::Combine('$([System.IO.Path]::GetDirectoryName('%(FullPath)'))','data.xml'))')">
<PackageDir>$([System.IO.Path]::GetDirectoryName('%(FullPath)'))</PackageDir>
</_DataPackageCandidates>
</ItemGroup>

<ItemGroup>
<_DataPackageDirs Include="@(_DataPackageCandidates->'%(PackageDir)')" Distinct="true" />
</ItemGroup>

<Message Text="Detected data packages: @(_DataPackageDirs)" Importance="High" Condition="'@(_DataPackageDirs)'!=''" />
</Target>

<Target Name="TalxisZipDataPackages"
AfterTargets="Build"
DependsOnTargets="TalxisDiscoverDataPackages"
Condition="'@(_DataPackageDirs)'!=''">

<MakeDir Directories="$(DataPackageOutputDir)" />

<ItemGroup>
<_DataPackageZips Include="@(_DataPackageDirs)">
<ZipFile>$(DataPackageOutputDir)$([System.IO.Path]::GetFileName('%(Identity)')).zip</ZipFile>
</_DataPackageZips>
</ItemGroup>

<Message Text="Zipping data packages: @(_DataPackageZips->'%(Identity) -> %(ZipFile)', ', ')" Importance="High" />

<ZipDirectory SourceDirectory="%(Identity)"
DestinationFile="%(ZipFile)"
Overwrite="true" />
</Target>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<Project>
<PropertyGroup>
<ILRepackVersion Condition="'$(ILRepackVersion)'==''">2.0.18</ILRepackVersion>
<ILRepackExe Condition="'$(ILRepackExe)'==''">$(NuGetPackageRoot)ilrepack\$(ILRepackVersion)\tools\ILRepack.exe</ILRepackExe>
<DataversePackageRunILRepack Condition="'$(DataversePackageRunILRepack)'==''">true</DataversePackageRunILRepack>
<ReferencedAssembliesDir Condition="'$(ReferencedAssembliesDir)'==''">$(TargetDir)</ReferencedAssembliesDir>
<ReferencedAssembliesDir>$([System.Text.RegularExpressions.Regex]::Replace('$(ReferencedAssembliesDir)', '[\\/]+$', ''))</ReferencedAssembliesDir>
</PropertyGroup>

<Target Name="DataverseILRepack" AfterTargets="Build" Condition="'$(SkipPackageILRepack)' != 'true' and '$(DataversePackageRunILRepack)'!='false'">
<PropertyGroup>
<BuildedAssembly>$(TargetPath)</BuildedAssembly>
<_KeyFileSwitch Condition="Exists('$(DataversePackageILRepackKeyFile)')">/keyfile:"$(DataversePackageILRepackKeyFile)"</_KeyFileSwitch>
</PropertyGroup>

<Error Condition="'$(BuildedAssembly)'=='' or !Exists('$(BuildedAssembly)')" Text="Build output not found: $(BuildedAssembly)" />
<Error Condition="!Exists('$(ILRepackExe)')" Text="ILRepack.exe not found: $(ILRepackExe). Check restore/version." />

<ItemGroup>
<AssembliesToExclude Include="$(BuildedAssembly)" />
<AssembliesToExclude Include="$(TargetDir)Microsoft.*.dll"
Exclude="$(TargetDir)Microsoft.Bcl.AsyncInterfaces.dll" />

<ReferencedAssemblies Include="$(ReferencedAssembliesDir)\*.dll" Condition="Exists('$(ReferencedAssembliesDir)')" />
<AssembliesToExclude Include="$(TargetDir)%(ReferencedAssemblies.FileName)%(ReferencedAssemblies.Extension)"
Exclude="$(TargetDir)Newtonsoft.Json.dll"
Condition="@(ReferencedAssemblies)!=''" />

<OtherAssemblies Include="$(TargetDir)*.dll" Exclude="@(AssembliesToExclude)" />
</ItemGroup>

<Message Text="ILRepackExe = $(ILRepackExe)" Importance="High" />
<Message Text="Merging into: $(BuildedAssembly)" Importance="High" />
<Message Text="OtherAssemblies: @(OtherAssemblies)" Importance="High" />

<Message Text="ILRepack skipped: no additional assemblies to merge." Importance="High" Condition="'@(OtherAssemblies)'==''" />

<Exec Command="&quot;$(ILRepackExe)&quot; /lib:&quot;$(ReferencedAssembliesDir)&quot; /target:library /parallel $(_KeyFileSwitch) /out:&quot;$(BuildedAssembly)&quot; &quot;$(BuildedAssembly)&quot; @(OtherAssemblies,' ')" Condition="'@(OtherAssemblies)'!=''" />
</Target>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Target Name="_GetPdPackageItemsFromPpProjectReferences"
Condition="'@(ProjectReference->HasMetadata('PpProjectType'))' != ''">
<MSBuild Projects="@(ProjectReference->HasMetadata('PpProjectType'))"
Targets="Build;GetOutputsForPdPackage"
Properties="Configuration=$(Configuration)"
BuildInParallel="true">
<Output TaskParameter="TargetOutputs"
ItemName="_PdPackageItemFromProjectReference" />
</MSBuild>
<ItemGroup>
<PdSolution Include="@(_PdPackageItemFromProjectReference)"
Condition="'%(_PdPackageItemFromProjectReference.PdOutputType)' == 'PdSolution'" />
</ItemGroup>
</Target>

</Project>
3 changes: 3 additions & 0 deletions src/Dataverse/ScriptLibrary/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# TALXIS.DevKit.Build.Dataverse.Tasks

See [here](https://github.com/TALXIS/tools-devkit-build) for more information.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version Condition="'$(Version)'==''">0.0.0.1</Version>
<NuspecFile>TALXIS.DevKit.Build.Dataverse.ScriptLibrary.nuspec</NuspecFile>
<NuspecProperties>
Version=$(Version)
</NuspecProperties>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>TALXIS.DevKit.Build.Dataverse.ScriptLibrary</id>
<version>$Version$</version>
<authors>TALXIS</authors>
<developmentDependency>true</developmentDependency>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<readme>README.md</readme>
<projectUrl>https://github.com/TALXIS/tools-devkit-build</projectUrl>
<description>Dataverse MSBuild ScriptLibrary</description>
<releaseNotes>https://github.com/TALXIS/tools-devkit-build/releases</releaseNotes>
<copyright>2025 NETWORG</copyright>
<repository type="git" url="https://github.com/TALXIS/tools-devkit-build"
commit="c941d55d453c1c64a1e248a240b0327d2dcd76ee" />
<dependencies>
<dependency id="TALXIS.DevKit.Build.Dataverse.Tasks" version="$Version$" />
</dependencies>
</metadata>
<files>
<file src="msbuild\tasks\*.*" target="tasks" />
<file src="msbuild\build\*.*" target="build" />
<file src="README.md" target="" />
</files>
</package>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)..\tasks\$(MSBuildThisFile)" />
</Project>

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)..\tasks\$(MSBuildThisFile)" />
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project>
<PropertyGroup>
<ProjectType Condition="'$(ProjectType)'==''">ScriptLibrary</ProjectType>
<ScriptLibraryMainFile Condition="'$(ScriptLibraryMainFile)'==''">
$(MSBuildProjectDirectory)\TS\build\main.js
</ScriptLibraryMainFile>
</PropertyGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>
<RunNodeBuild Condition="'$(RunNodeBuild)'==''">false</RunNodeBuild>

<TypeScriptDir Condition="'$(TypeScriptDir)'==''">$(MSBuildProjectDirectory)\TS</TypeScriptDir>
</PropertyGroup>

<Target Name="BuildTypeScript"
BeforeTargets="Build"
Condition="'$(RunNodeBuild)'=='true'">
<Message Text="Building TypeScript in $(TypeScriptDir)" Importance="High" />
<Exec WorkingDirectory="$(TypeScriptDir)" Command="npm install" />
<Exec WorkingDirectory="$(TypeScriptDir)" Command="npm run build" />
</Target>

<ItemGroup>
<None Include="TS\build\**\*.*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

<Target Name="GetProjectType" Returns="@(_ProjectType)" Condition="'$(ProjectType)'!=''">
<ItemGroup>
<_ProjectType Include="$(MSBuildProjectFullPath)">
<ProjectType>$(ProjectType)</ProjectType>
</_ProjectType>
</ItemGroup>
</Target>

<Target Name="GetScriptLibraryOutputs"
DependsOnTargets="Build"
Returns="@(_ScriptLibraryOutputs)">
<ItemGroup>
<_ScriptLibraryOutputs Include="$(MSBuildProjectDirectory)\TS\build\main.js" />
</ItemGroup>
</Target>

<Target Name="GetProjectOutputPath"
DependsOnTargets="Build"
Returns="@(_ProjectOutputPath)">
<ItemGroup>
<_ProjectOutputPath Include="$(TargetPath)" />
</ItemGroup>
</Target>

</Project>
2 changes: 2 additions & 0 deletions src/Dataverse/Sdk/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# TALXIS.DevKit.Build.Sdk

9 changes: 9 additions & 0 deletions src/Dataverse/Sdk/Sdk/Sdk.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<Target Name="GetProjectOutputPath" Returns="@(_ProjectOutputPath)" />
<PropertyGroup>
<TALXISDevKitDataversePackageBase Condition="'$(TALXISDevKitDataversePackageBase)' == ''">TALXIS.DevKit.Build.Dataverse</TALXISDevKitDataversePackageBase>
<TALXISDevKitDataversePackageVersion Condition="'$(TALXISDevKitDataversePackageVersion)' == ''">0.0.0.1</TALXISDevKitDataversePackageVersion>
</PropertyGroup>
</Project>
15 changes: 15 additions & 0 deletions src/Dataverse/Sdk/Sdk/Sdk.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<Project>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<TALXISDevKitDataversePackageName Condition="'$(TALXISDevKitDataversePackageName)' == '' and '$(ProjectType)' != ''">$(TALXISDevKitDataversePackageBase).$(ProjectType)</TALXISDevKitDataversePackageName>
</PropertyGroup>

<ItemGroup Condition="'$(TALXISDevKitDataversePackageName)' != ''">
<PackageReference Include="$(TALXISDevKitDataversePackageName)"
Version="$(TALXISDevKitDataversePackageVersion)"
PrivateAssets="All">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>
13 changes: 13 additions & 0 deletions src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version Condition="'$(Version)'==''">0.0.0.1</Version>
<NuspecFile>TALXIS.DevKit.Build.Sdk.nuspec</NuspecFile>
<NuspecProperties>
Version=$(Version)
</NuspecProperties>
</PropertyGroup>

</Project>
26 changes: 26 additions & 0 deletions src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata>
<id>TALXIS.DevKit.Build.Sdk</id>
<version>$Version$</version>
<authors>TALXIS</authors>
<developmentDependency>true</developmentDependency>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<readme>README.md</readme>
<projectUrl>https://github.com/TALXIS/tools-devkit-build</projectUrl>
<description>Dataverse MSBuild SDK</description>
<releaseNotes>https://github.com/TALXIS/tools-devkit-build/releases</releaseNotes>
<copyright>2025 NETWORG</copyright>
<repository type="git" url="https://github.com/TALXIS/tools-devkit-build"
commit="c941d55d453c1c64a1e248a240b0327d2dcd76ee" />
<packageTypes>
<packageType name="MSBuildSdk" />
</packageTypes>
</metadata>
<files>
<file src="README.md" target="" />
<file src="Sdk\**\*" target="Sdk" />
</files>
</package>
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)..\tasks\$(MSBuildThisFileName).targets" />
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)..\tasks\$(MSBuildThisFileName).targets" />
</Project>
Loading