Skip to content

Commit

Permalink
Merge pull request fuse-open#437 from mortend/net6-version-dir
Browse files Browse the repository at this point in the history
remove VersionDirectory from libraries (beta-3.0)
  • Loading branch information
mortend authored Jan 7, 2023
2 parents ee0c88c + 2efd9c7 commit fa61353
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 24 deletions.
9 changes: 2 additions & 7 deletions src/tool/engine/Packages/LibraryBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,7 @@ void Build(LibraryProject lib, PackageCache packageCache, List<LibraryProject> f
}
else if (Directory.Exists(lib.PackageDirectory))
{
// Remove old versions
foreach (var dir in Directory.EnumerateDirectories(lib.PackageDirectory))
if (dir != lib.VersionDirectory)
Disk.DeleteDirectory(dir, true);

Disk.DeleteDirectory(Path.Combine(lib.CacheDirectory));
Disk.DeleteDirectory(lib.CacheDirectory);
}

var fail = TryGetFailedReference(lib, failed);
Expand All @@ -142,7 +137,7 @@ void Build(LibraryProject lib, PackageCache packageCache, List<LibraryProject> f
new BuildOptions
{
Configuration = GetConfiguration(lib),
OutputDirectory = lib.VersionDirectory,
OutputDirectory = lib.PackageDirectory,
PackageCache = packageCache,
Force = true
})
Expand Down
15 changes: 4 additions & 11 deletions src/tool/engine/Packages/LibraryProject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ public class LibraryProject
{
public readonly Project Project;
public readonly string PackageDirectory;
public readonly string VersionDirectory;
public readonly string CacheDirectory;
public readonly string ConfigFile;
public readonly string PackageFile;
Expand All @@ -22,18 +21,16 @@ public LibraryProject(Project project, string sourceDir)
{
Project = project;
PackageDirectory = Path.Combine(sourceDir, "build", project.Name);
VersionDirectory = Path.Combine(PackageDirectory, project.Version);
CacheDirectory = Path.Combine(VersionDirectory, ".uno");
CacheDirectory = Path.Combine(PackageDirectory, ".uno");
ConfigFile = Path.Combine(CacheDirectory, "config");
PackageFile = Path.Combine(CacheDirectory, "package");
}

LibraryProject(LibraryProject lib, string versionDir)
LibraryProject(LibraryProject lib)
{
Project = lib.Project;
PackageDirectory = lib.PackageDirectory;
VersionDirectory = versionDir;
CacheDirectory = Path.Combine(VersionDirectory, ".uno");
CacheDirectory = Path.Combine(PackageDirectory, ".uno");
ConfigFile = Path.Combine(CacheDirectory, "config");
PackageFile = Path.Combine(CacheDirectory, "package");
}
Expand All @@ -44,11 +41,7 @@ public bool TryGetExistingBuild(out LibraryProject existing)
if (!Directory.Exists(PackageDirectory))
return false;

var versions = Directory.EnumerateDirectories(PackageDirectory).ToArray();
if (versions.Length != 1)
return false;

existing = new LibraryProject(this, versions[0]);
existing = new LibraryProject(this);
return true;
}

Expand Down
13 changes: 11 additions & 2 deletions src/tool/engine/Packages/PackageFile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,11 @@ public static PackageFile Load(string dir)
public readonly string RootDirectory;
public string CacheDirectory => Path.Combine(RootDirectory, ".uno");
public string Filename => GetName(RootDirectory);
public string Version => RootDirectory.GetPathComponent(-1);
public string Name => RootDirectory.GetPathComponent(-2);
public string Version => _version ?? RootDirectory.GetPathComponent(-1);
public string Name => _name ?? RootDirectory.GetPathComponent(-2);

readonly string _name;
readonly string _version;

PackageFile(string dir)
{
Expand All @@ -51,6 +54,8 @@ public static PackageFile Load(string dir)
PackageFile(StuffObject stuff, string dir)
: this(dir)
{
stuff.TryGetValue(nameof(Name), out _name);
stuff.TryGetValue(nameof(Version), out _version);
stuff.TryGetValue(nameof(BuildCondition), out BuildCondition);
stuff.TryGetValue(nameof(SourceDirectory), out SourceDirectory);
stuff.TryGetValue(nameof(IsTransitive), out IsTransitive);
Expand All @@ -74,6 +79,8 @@ public PackageFile(string installDir, string name, string version)
public PackageFile(SourcePackage upk, string dir)
: this(dir)
{
_name = upk.Name;
_version = upk.Version;
BuildCondition = upk.BuildCondition;
IsTransitive = upk.IsTransitive;

Expand All @@ -95,6 +102,8 @@ public PackageFile(SourcePackage upk, string dir)
public void Save()
{
new StuffObject {
{nameof(Name), Name},
{nameof(Version), Version},
{nameof(BuildCondition), BuildCondition},
{nameof(SourceDirectory), SourceDirectory},
{nameof(IsTransitive), IsTransitive},
Expand Down
12 changes: 8 additions & 4 deletions src/tool/engine/Packages/PackageSearchPaths.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,14 @@ public IEnumerable<DirectoryInfo> EnumeratePackageDirectories(string name = "*")
public IEnumerable<DirectoryInfo> EnumerateVersionDirectories(string name = "*", string version = null)
{
version = version ?? "*";
foreach (var package in EnumeratePackageDirectories(name))
foreach (var dir in package.EnumerateDirectories(version))
if (PackageFile.Exists(dir.FullName))
yield return dir;
foreach (var package in EnumeratePackageDirectories(name)) {
if (PackageFile.Exists(package.FullName))
yield return package;
else
foreach (var dir in package.EnumerateDirectories(version))
if (PackageFile.Exists(dir.FullName))
yield return dir;
}
}

public DirectoryInfo[] GetOrderedVersionDirectories(string name = "*", string version = null)
Expand Down

0 comments on commit fa61353

Please sign in to comment.