Skip to content

Commit

Permalink
allow project refs
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisbeamable committed Feb 24, 2025
1 parent bfea34b commit 1cca0d2
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions FadeBasic/ApplicationSupport/Project/ProjectLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ public static ProjectContext LoadCsProject(string csProjPath)
var sourcePath = sourceItem.GetMetadataValue("FullPath");
context.absoluteSourceFiles.Add(sourcePath);
}

var packagesPath = assetsData.objects["project"].objects["restore"].strings["packagesPath"];

// var references = csProj.GetItems("ReferencePath");
// var refMap = new Dictionary<string, string>();
Expand Down Expand Up @@ -93,15 +95,27 @@ public static ProjectContext LoadCsProject(string csProjPath)
// TODO: how do we know the version is correct?
searchingForLibrary = false;

var _ = kvp.Value.strings["type"];
var runtimeDlls = kvp.Value.objects["runtime"];
var dllPackagePath = runtimeDlls.objects.FirstOrDefault().Key;

var refType = kvp.Value.strings["type"];
var nugetPath = assetLibraryData.objects[kvp.Key].strings["path"];

var packagesPath = assetsData.objects["project"].objects["restore"].strings["packagesPath"];

refMap[referenceName] = expectedDllPath = Path.Combine(packagesPath, nugetPath, dllPackagePath);
if (refType == "package")
{
var runtimeDlls = kvp.Value.objects["runtime"];
var dllPackagePath = runtimeDlls.objects.FirstOrDefault().Key;
refMap[referenceName] = expectedDllPath = Path.Combine(packagesPath, nugetPath, dllPackagePath);
} else if (refType == "package")
{
var refCsProjPath = Path.Combine(csProjDir, nugetPath);
var refCsProjDir = Path.GetDirectoryName(refCsProjPath);
var dllPath = Path.Combine(refCsProjDir, "bin", "Debug", targetFramework,
referenceName + ".dll"); // TODO: this assumes the debug project is being used?
refMap[referenceName] = expectedDllPath = dllPath;
}
else
{
throw new Exception($"Unknown Fade command type=[{refType}] ref=[{referenceName}]");
}

break;
// refMap[referenceName] = existingDllPath =
}
Expand Down

0 comments on commit 1cca0d2

Please sign in to comment.