diff --git a/.gitignore b/.gitignore
index 8a30d25..5842824 100644
--- a/.gitignore
+++ b/.gitignore
@@ -396,3 +396,11 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
+
+
+# TALXIS DevKit temp folders
+pack-dataverse-latest-to-local.ps1
+pack-dataverse-selected.ps1
+_temp/r
+_export/**/*.*
+_temp/**/*.*
\ No newline at end of file
diff --git a/TALXIS.DevKit.Build.slnx b/TALXIS.DevKit.Build.slnx
index 9c4b1bf..cbd11a5 100644
--- a/TALXIS.DevKit.Build.slnx
+++ b/TALXIS.DevKit.Build.slnx
@@ -6,4 +6,7 @@
+
+
+
diff --git a/src/Dataverse/PDPackage/README.md b/src/Dataverse/PDPackage/README.md
new file mode 100644
index 0000000..f1608d7
--- /dev/null
+++ b/src/Dataverse/PDPackage/README.md
@@ -0,0 +1,3 @@
+# TALXIS.DevKit.Build.Dataverse.Tasks
+
+See [here](https://github.com/TALXIS/tools-devkit-build) for more information.
\ No newline at end of file
diff --git a/src/Dataverse/PDPackage/TALXIS.DevKit.Build.Dataverse.PdPackage.csproj b/src/Dataverse/PDPackage/TALXIS.DevKit.Build.Dataverse.PdPackage.csproj
new file mode 100644
index 0000000..2cc6eab
--- /dev/null
+++ b/src/Dataverse/PDPackage/TALXIS.DevKit.Build.Dataverse.PdPackage.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net8.0
+ true
+ 0.0.0.1
+ TALXIS.DevKit.Build.Dataverse.PdPackage.nuspec
+
+ Version=$(Version)
+
+
+
+
\ No newline at end of file
diff --git a/src/Dataverse/PDPackage/TALXIS.DevKit.Build.Dataverse.PdPackage.nuspec b/src/Dataverse/PDPackage/TALXIS.DevKit.Build.Dataverse.PdPackage.nuspec
new file mode 100644
index 0000000..ccdb9c6
--- /dev/null
+++ b/src/Dataverse/PDPackage/TALXIS.DevKit.Build.Dataverse.PdPackage.nuspec
@@ -0,0 +1,28 @@
+
+
+
+ TALXIS.DevKit.Build.Dataverse.PdPackage
+ $Version$
+ TALXIS
+ true
+ false
+ MIT
+ https://licenses.nuget.org/MIT
+ README.md
+ https://github.com/TALXIS/tools-devkit-build
+ Dataverse MSBuild PDPackage
+ https://github.com/TALXIS/tools-devkit-build/releases
+ 2025 NETWORG
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Dataverse/PDPackage/msbuild/build/TALXIS.DevKit.Build.Dataverse.PdPackage.targets b/src/Dataverse/PDPackage/msbuild/build/TALXIS.DevKit.Build.Dataverse.PdPackage.targets
new file mode 100644
index 0000000..5569d13
--- /dev/null
+++ b/src/Dataverse/PDPackage/msbuild/build/TALXIS.DevKit.Build.Dataverse.PdPackage.targets
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.DataPackage.targets b/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.DataPackage.targets
new file mode 100644
index 0000000..e7ce5eb
--- /dev/null
+++ b/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.DataPackage.targets
@@ -0,0 +1,52 @@
+
+
+
+ $([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)'))
+
+
+
+ $([System.IO.Path]::Combine('$([System.IO.Path]::GetFullPath('$(TargetDir)'))','DataPackages'))
+
+
+ $([System.IO.Path]::Combine('$([System.IO.Path]::GetFullPath('$(OutputPath)'))','DataPackages'))
+
+
+ $([System.Text.RegularExpressions.Regex]::Replace('$(DataPackageOutputDir)', '[\\/]*$', ''))\
+
+
+
+
+ <_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'))')">
+ $([System.IO.Path]::GetDirectoryName('%(FullPath)'))
+
+
+
+
+ <_DataPackageDirs Include="@(_DataPackageCandidates->'%(PackageDir)')" Distinct="true" />
+
+
+
+
+
+
+
+
+
+
+ <_DataPackageZips Include="@(_DataPackageDirs)">
+ $(DataPackageOutputDir)$([System.IO.Path]::GetFileName('%(Identity)')).zip
+
+
+
+
+
+
+
+
diff --git a/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.PdPackage.ILRepack.targets b/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.PdPackage.ILRepack.targets
new file mode 100644
index 0000000..d63fe14
--- /dev/null
+++ b/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.PdPackage.ILRepack.targets
@@ -0,0 +1,40 @@
+
+
+ 2.0.18
+ $(NuGetPackageRoot)ilrepack\$(ILRepackVersion)\tools\ILRepack.exe
+ true
+ $(TargetDir)
+ $([System.Text.RegularExpressions.Regex]::Replace('$(ReferencedAssembliesDir)', '[\\/]+$', ''))
+
+
+
+
+ $(TargetPath)
+ <_KeyFileSwitch Condition="Exists('$(DataversePackageILRepackKeyFile)')">/keyfile:"$(DataversePackageILRepackKeyFile)"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.PdPackage.targets b/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.PdPackage.targets
new file mode 100644
index 0000000..980ee19
--- /dev/null
+++ b/src/Dataverse/PDPackage/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.PdPackage.targets
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Dataverse/ScriptLibrary/README.md b/src/Dataverse/ScriptLibrary/README.md
new file mode 100644
index 0000000..f1608d7
--- /dev/null
+++ b/src/Dataverse/ScriptLibrary/README.md
@@ -0,0 +1,3 @@
+# TALXIS.DevKit.Build.Dataverse.Tasks
+
+See [here](https://github.com/TALXIS/tools-devkit-build) for more information.
\ No newline at end of file
diff --git a/src/Dataverse/ScriptLibrary/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.csproj b/src/Dataverse/ScriptLibrary/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.csproj
new file mode 100644
index 0000000..6a1c63d
--- /dev/null
+++ b/src/Dataverse/ScriptLibrary/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net8.0
+ true
+ 0.0.0.1
+ TALXIS.DevKit.Build.Dataverse.ScriptLibrary.nuspec
+
+ Version=$(Version)
+
+
+
+
\ No newline at end of file
diff --git a/src/Dataverse/ScriptLibrary/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.nuspec b/src/Dataverse/ScriptLibrary/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.nuspec
new file mode 100644
index 0000000..4317d12
--- /dev/null
+++ b/src/Dataverse/ScriptLibrary/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ TALXIS.DevKit.Build.Dataverse.ScriptLibrary
+ $Version$
+ TALXIS
+ true
+ false
+ MIT
+ https://licenses.nuget.org/MIT
+ README.md
+ https://github.com/TALXIS/tools-devkit-build
+ Dataverse MSBuild ScriptLibrary
+ https://github.com/TALXIS/tools-devkit-build/releases
+ 2025 NETWORG
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Dataverse/ScriptLibrary/msbuild/build/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.props b/src/Dataverse/ScriptLibrary/msbuild/build/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.props
new file mode 100644
index 0000000..07cd5de
--- /dev/null
+++ b/src/Dataverse/ScriptLibrary/msbuild/build/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.props
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Dataverse/ScriptLibrary/msbuild/build/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.targets b/src/Dataverse/ScriptLibrary/msbuild/build/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.targets
new file mode 100644
index 0000000..8a0424d
--- /dev/null
+++ b/src/Dataverse/ScriptLibrary/msbuild/build/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.targets
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/Dataverse/ScriptLibrary/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.props b/src/Dataverse/ScriptLibrary/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.props
new file mode 100644
index 0000000..196c76e
--- /dev/null
+++ b/src/Dataverse/ScriptLibrary/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.props
@@ -0,0 +1,8 @@
+
+
+ ScriptLibrary
+
+ $(MSBuildProjectDirectory)\TS\build\main.js
+
+
+
diff --git a/src/Dataverse/ScriptLibrary/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.targets b/src/Dataverse/ScriptLibrary/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.targets
new file mode 100644
index 0000000..8116df0
--- /dev/null
+++ b/src/Dataverse/ScriptLibrary/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.ScriptLibrary.targets
@@ -0,0 +1,59 @@
+
+
+
+
+ false
+
+ $(MSBuildProjectDirectory)\TS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+
+
+
+ <_ProjectType Include="$(MSBuildProjectFullPath)">
+ $(ProjectType)
+
+
+
+
+
+
+ <_ScriptLibraryOutputs Include="$(MSBuildProjectDirectory)\TS\build\main.js" />
+
+
+
+
+
+ <_ProjectOutputPath Include="$(TargetPath)" />
+
+
+
+
diff --git a/src/Dataverse/Sdk/README.md b/src/Dataverse/Sdk/README.md
new file mode 100644
index 0000000..5a1ce0a
--- /dev/null
+++ b/src/Dataverse/Sdk/README.md
@@ -0,0 +1,2 @@
+# TALXIS.DevKit.Build.Sdk
+
diff --git a/src/Dataverse/Sdk/Sdk/Sdk.props b/src/Dataverse/Sdk/Sdk/Sdk.props
new file mode 100644
index 0000000..6ac8f96
--- /dev/null
+++ b/src/Dataverse/Sdk/Sdk/Sdk.props
@@ -0,0 +1,9 @@
+
+
+
+
+
+ TALXIS.DevKit.Build.Dataverse
+ 0.0.0.1
+
+
diff --git a/src/Dataverse/Sdk/Sdk/Sdk.targets b/src/Dataverse/Sdk/Sdk/Sdk.targets
new file mode 100644
index 0000000..8abf675
--- /dev/null
+++ b/src/Dataverse/Sdk/Sdk/Sdk.targets
@@ -0,0 +1,15 @@
+
+
+
+
+ $(TALXISDevKitDataversePackageBase).$(ProjectType)
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
diff --git a/src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.csproj b/src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.csproj
new file mode 100644
index 0000000..229c117
--- /dev/null
+++ b/src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net8.0
+ true
+ 0.0.0.1
+ TALXIS.DevKit.Build.Sdk.nuspec
+
+ Version=$(Version)
+
+
+
+
diff --git a/src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.nuspec b/src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.nuspec
new file mode 100644
index 0000000..e39f9e7
--- /dev/null
+++ b/src/Dataverse/Sdk/TALXIS.DevKit.Build.Sdk.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ TALXIS.DevKit.Build.Sdk
+ $Version$
+ TALXIS
+ true
+ false
+ MIT
+ https://licenses.nuget.org/MIT
+ README.md
+ https://github.com/TALXIS/tools-devkit-build
+ Dataverse MSBuild SDK
+ https://github.com/TALXIS/tools-devkit-build/releases
+ 2025 NETWORG
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Dataverse/Solution/msbuild/build/TALXIS.DevKit.Build.Dataverse.Solution.OverridePAC.targets b/src/Dataverse/Solution/msbuild/build/TALXIS.DevKit.Build.Dataverse.Solution.OverridePAC.targets
new file mode 100644
index 0000000..658e6ba
--- /dev/null
+++ b/src/Dataverse/Solution/msbuild/build/TALXIS.DevKit.Build.Dataverse.Solution.OverridePAC.targets
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/Dataverse/Solution/msbuild/build/TALXIS.DevKit.Build.Dataverse.Solution.ScriptLibraries.targets b/src/Dataverse/Solution/msbuild/build/TALXIS.DevKit.Build.Dataverse.Solution.ScriptLibraries.targets
new file mode 100644
index 0000000..658e6ba
--- /dev/null
+++ b/src/Dataverse/Solution/msbuild/build/TALXIS.DevKit.Build.Dataverse.Solution.ScriptLibraries.targets
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.OverridePAC.targets b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.OverridePAC.targets
new file mode 100644
index 0000000..1b1cccf
--- /dev/null
+++ b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.OverridePAC.targets
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+ <_ScriptLibraryProjectsList>;@(_ScriptLibraryProjects->'%(Identity)');
+
+
+
+ <_CdsRefs Include="@(ProjectReference)" />
+
+
+
+ <_CdsRefs Remove="@(_CdsRefs)"
+ Condition="$([System.String]::Copy('$(_ScriptLibraryProjectsList)').Contains(';%(FullPath);'))" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.ScriptLibraries.targets b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.ScriptLibraries.targets
new file mode 100644
index 0000000..5634a9a
--- /dev/null
+++ b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.ScriptLibraries.targets
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+ <_ScriptLibraryProjects Remove="@(_ScriptLibraryProjects)" />
+ <_ScriptLibraryProjects Include="@(_ProjectTypeFromReferences)"
+ Condition="'%(ProjectType)'=='ScriptLibrary'" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(MSBuildProjectDirectory)\$(SolutionRootPath)\WebResources\
+
+
+
+
+
+
+
+
+ <_ScriptFiles Include="@(_ScriptLibraryOutputs)" />
+ <_ScriptFilesToCopy Include="@(_ScriptFiles)">
+
+ $(WebResourcesDir)$(PublisherPrefix)_$([System.IO.Path]::GetFileName('%(Identity)'))
+ $(PublisherPrefix)_$([System.IO.Path]::GetFileName('%(Identity)'))
+ $([System.IO.Path]::GetFileName('%(Identity)'))
+ $(WebResourcesDir)$(PublisherPrefix)_$([System.IO.Path]::GetFileName('%(Identity)')).data.xml
+
+
+
+
+
+
+
+
+ <_ScriptFilesMissingDataXml Include="@(_ScriptFilesToCopy)"
+ Condition="!Exists('%(DataXmlFile)')">
+
+
+
+
+
+
+
+
+
diff --git a/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.props b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.props
index a10194c..763fffb 100644
--- a/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.props
+++ b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.props
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.targets b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.targets
index 72ecfe8..e049176 100644
--- a/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.targets
+++ b/src/Dataverse/Solution/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Solution.targets
@@ -1,15 +1,31 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Dataverse/Tasks/Tasks/EnsureWebResourceDataXml.cs b/src/Dataverse/Tasks/Tasks/EnsureWebResourceDataXml.cs
new file mode 100644
index 0000000..04cf6b9
--- /dev/null
+++ b/src/Dataverse/Tasks/Tasks/EnsureWebResourceDataXml.cs
@@ -0,0 +1,83 @@
+using System;
+using System.IO;
+using System.Text;
+using System.Xml;
+using System.Xml.Linq;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+public class EnsureWebResourceDataXml : Task
+{
+ [Required]
+ public string DataXmlFile { get; set; }
+
+ [Required]
+ public string WebResourceName { get; set; }
+
+ [Required]
+ public string DisplayName { get; set; }
+
+ public string WebResourceType { get; set; } = "3";
+
+ public string IntroducedVersion { get; set; } = "1.0.0.0";
+
+ public override bool Execute()
+ {
+ try
+ {
+ if (File.Exists(DataXmlFile))
+ {
+ return true;
+ }
+
+ var directory = Path.GetDirectoryName(DataXmlFile);
+ if (!string.IsNullOrWhiteSpace(directory))
+ {
+ Directory.CreateDirectory(directory);
+ }
+
+ var guid = Guid.NewGuid();
+ var guidLower = guid.ToString();
+ var guidUpper = guid.ToString().ToUpperInvariant();
+
+ var doc = new XDocument(
+ new XDeclaration("1.0", "utf-8", null),
+ new XElement("WebResource",
+ new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
+ new XElement("WebResourceId", $"{{{guidLower}}}"),
+ new XElement("Name", WebResourceName),
+ new XElement("DisplayName", DisplayName),
+ new XElement("WebResourceType", string.IsNullOrWhiteSpace(WebResourceType) ? "3" : WebResourceType),
+ new XElement("IntroducedVersion", string.IsNullOrWhiteSpace(IntroducedVersion) ? "1.0.0.0" : IntroducedVersion),
+ new XElement("IsEnabledForMobileClient", "0"),
+ new XElement("IsAvailableForMobileOffline", "0"),
+ new XElement("IsCustomizable", "1"),
+ new XElement("CanBeDeleted", "1"),
+ new XElement("IsHidden", "0"),
+ new XElement("FileName", $"/WebResources/{WebResourceName}{guidUpper}")
+ )
+ );
+
+ var settings = new XmlWriterSettings
+ {
+ Encoding = new UTF8Encoding(false),
+ Indent = true,
+ NewLineChars = Environment.NewLine,
+ NewLineHandling = NewLineHandling.Replace
+ };
+
+ using (var writer = XmlWriter.Create(DataXmlFile, settings))
+ {
+ doc.Save(writer);
+ }
+
+ Log.LogMessage(MessageImportance.High, $"Generated webresource data.xml: {DataXmlFile}");
+ return true;
+ }
+ catch (Exception ex)
+ {
+ Log.LogErrorFromException(ex, true);
+ return false;
+ }
+ }
+}
diff --git a/src/Dataverse/Tasks/Tasks/GenerateGitVersion.cs b/src/Dataverse/Tasks/Tasks/GenerateGitVersion.cs
index fe79fe0..6052781 100644
--- a/src/Dataverse/Tasks/Tasks/GenerateGitVersion.cs
+++ b/src/Dataverse/Tasks/Tasks/GenerateGitVersion.cs
@@ -41,8 +41,21 @@ public override bool Execute()
// Prepare for running git commands
var gitInfo = CreateGitProcessInfo(ProjectPath);
+ if (!IsGitRepository(gitInfo))
+ {
+ Log.LogWarning($"Git repository not found for ProjectPath '{ProjectPath}'. Falling back to LocalBranchBuildVersionNumber.");
+ VersionOutput = LocalBranchBuildVersionNumber;
+ return true;
+ }
var currentBranch = GetCurrentBranch(gitInfo);
+ if (string.IsNullOrWhiteSpace(ApplyToBranches))
+ {
+ Log.LogWarning("ApplyToBranches is empty. Falling back to LocalBranchBuildVersionNumber.");
+ VersionOutput = LocalBranchBuildVersionNumber;
+ return true;
+ }
+
_branches = ApplyToBranches.Split(';').Select(BranchVersioning.Parse);
if (_branches == null || !_branches.Any())
{
@@ -214,6 +227,20 @@ private string ExecuteGitCommand(ProcessStartInfo gitInfo, string command)
}
}
}
+
+ private bool IsGitRepository(ProcessStartInfo gitInfo)
+ {
+ try
+ {
+ string output = ExecuteGitCommand(gitInfo, "rev-parse --is-inside-work-tree");
+ return output.Trim().Equals("true", StringComparison.OrdinalIgnoreCase);
+ }
+ catch (Exception ex)
+ {
+ Log.LogMessage(MessageImportance.Low, $"Git repository check failed: {ex.Message}");
+ return false;
+ }
+ }
private void RetrieveAllProjectReferences(string projectPath, List projects)
{
var projectFile = "";
@@ -286,4 +313,4 @@ public static BranchVersioning Parse(string branchDefinition)
return new BranchVersioning { BranchName = branchName, Prefix = prefix };
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Dataverse/Tasks/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Tasks.targets b/src/Dataverse/Tasks/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Tasks.targets
index 5d062d3..1c0dfc8 100644
--- a/src/Dataverse/Tasks/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Tasks.targets
+++ b/src/Dataverse/Tasks/msbuild/tasks/TALXIS.DevKit.Build.Dataverse.Tasks.targets
@@ -23,4 +23,5 @@
-
\ No newline at end of file
+
+