From 12a4506ae0ff06761639f0c05ea2423c96094686 Mon Sep 17 00:00:00 2001
From: Alexander Morogov <42555001+krankenbro@users.noreply.github.com>
Date: Tue, 28 May 2024 17:08:12 +0200
Subject: [PATCH] VCI-884: Fix checking of platform src existing (#138)

---
 src/VirtoCommerce.Build/Build.cs | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/VirtoCommerce.Build/Build.cs b/src/VirtoCommerce.Build/Build.cs
index 33ce534..7f76c53 100644
--- a/src/VirtoCommerce.Build/Build.cs
+++ b/src/VirtoCommerce.Build/Build.cs
@@ -191,7 +191,7 @@ public static Solution Solution
     protected static GitRepository GitRepository => GitRepository.FromLocalDirectory(RootDirectory / ".git");
 
     protected static AbsolutePath SourceDirectory => RootDirectory / "src";
-    protected static bool IsPlatformSource => SourceDirectory.Exists();
+    protected static bool IsPlatformSource => Directory.Exists(Path.Combine(SourceDirectory, "VirtoCommerce.Platform.Web"));
     protected static AbsolutePath TestsDirectory => RootDirectory / "tests";
     protected static AbsolutePath SamplesDirectory => RootDirectory / "samples";
 
@@ -272,7 +272,7 @@ protected static TelemetryClient TelemetryClient
     private static string GetSafeCmdArguments()
     {
         var safeArgs = EnvironmentInfo.CommandLineArguments.Join(" ");
-        foreach(var arg in EnvironmentInfo.CommandLineArguments.Where(a => TokenArguments.Contains(a.Replace("-", ""), StringComparer.InvariantCultureIgnoreCase)))
+        foreach (var arg in EnvironmentInfo.CommandLineArguments.Where(a => TokenArguments.Contains(a.Replace("-", ""), StringComparer.InvariantCultureIgnoreCase)))
         {
             var argValue = EnvironmentInfo.GetNamedArgument<string>(arg);
             safeArgs = safeArgs.Replace(argValue, "***");
@@ -302,10 +302,14 @@ protected override void OnTargetFailed(string target)
         .Before(Restore)
         .Executes(() =>
         {
-            List<AbsolutePath> ignorePaths = [WebProject.Directory / "modules"];
-            if (ThereAreCustomApps)
+            var ignorePaths = new List<AbsolutePath>();
+            if (WebProject != null)
             {
-                ignorePaths.Add(WebProject.Directory / "App");
+                ignorePaths.Add(WebProject.Directory / "modules");
+                if (ThereAreCustomApps)
+                {
+                    ignorePaths.Add(WebProject.Directory / "App");
+                }
             }
 
             CleanSolution(cleanSearchPattern, ignorePaths.ToArray());