Skip to content

Commit bf1641d

Browse files
committed
Update Pack.cs
1 parent e4ab3f9 commit bf1641d

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

Obsidian.MSBuild/Pack.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.IO;
66
using System.IO.Compression;
77
using System.Linq;
8+
using System.Resources;
89
using System.Security.Cryptography;
910
using System.Text;
1011

@@ -96,6 +97,7 @@ public override bool Execute()
9697
{
9798
writer.Write(dependency.Id);
9899
writer.Write(dependency.Version);
100+
writer.Write(dependency.Required);
99101
}
100102

101103
var hashAndSignatureStartPos = fs.Position;
@@ -183,13 +185,16 @@ private PluginDependency[] BuildDependencies()
183185
var id = dependency.GetMetadata("Id");
184186
var version = dependency.GetMetadata("Version");
185187

188+
var requiredMetadata = dependency.GetMetadata("Required");
189+
var required = !string.IsNullOrEmpty(requiredMetadata) && bool.Parse(requiredMetadata);
190+
186191
if (string.IsNullOrEmpty(id))
187192
{
188193
this.Log.LogWarning("Id is required when defining a dependency.");
189194
continue;
190195
}
191196

192-
dependencies[i] = new PluginDependency(id, version ?? ">=1.0");
197+
dependencies[i] = new PluginDependency(id, version ?? ">=1.0", required);
193198
}
194199

195200
return dependencies;
@@ -230,11 +235,13 @@ private void Add(List<Entry> entries, FileInfo file)
230235
});
231236
}
232237

233-
private readonly struct PluginDependency(string id, string version)
238+
private readonly struct PluginDependency(string id, string version, bool required)
234239
{
235240
public string Id { get; } = id;
236241

237242
public string Version { get; } = version;
243+
244+
public bool Required { get; } = required;
238245
}
239246

240247
private sealed class Entry

0 commit comments

Comments
 (0)