Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Microsoft.CodeAnalysis/4.9 dependencies #870

Merged
merged 18 commits into from
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions eng/Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\Microsoft.CodeAnalysis.CSharp.4.6.0.csproj" />

<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Reflection.MetadataLoadContext.8.0.0.csproj" />

<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Composition.TypedParts.8.0.0.csproj" />
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Composition.Runtime.8.0.0.csproj" />
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Composition.Hosting.8.0.0.csproj" />
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Composition.Convention.8.0.0.csproj" />
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Composition.AttributedModel.8.0.0.csproj" />
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.IO.Pipelines.8.0.0.csproj" />
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Text.Encoding.CodePages.8.0.0.csproj" />
<DependencyPackageProjects Include="$(RepoRoot)src\referencePackages\src\**\System.Threading.Channels.8.0.0.csproj" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These need to be sorted in dependency order. For example, I see that System.Composition.TypedParts depends on System.Composition.Hosting.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought I added them in sorted order. If the order is wrong, shouldn't I get a build or prebuilt error?

Copy link
Member

@MichaelSimons MichaelSimons Jan 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is documented in the readme

Add DependencyPackageProjects for all new projects in the eng/Build.props in the correct dependency order.

Unfortunately you won't get a build error or prebuilts reported. This is why we need to get project to project references defined so that these DependencyPackageProjects can be removed.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, I followed those instructions but looks like I got something in the order wrong. Without build validation or someone telling me that the order is wrong, I would have never noticed that.

</ItemGroup>

<ItemGroup Condition="'$(BuildDependencyPackageProjects)' == 'true'">
Expand Down
7 changes: 3 additions & 4 deletions src/referencePackages/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -112,16 +112,15 @@
AfterTargets="CopyFilesToOutputDirectory">

<ItemGroup>
<CompileForRelativePath Include="@(Compile)" />
<CompileForRelativePath Remove="$(RepoRoot)src\SourceBuildAssemblyMetdata.cs" />
<CompileWithRelativePath Include="@(Compile)" Condition="!$([System.String]::new('%(Identity)').StartsWith('/'))" />
</ItemGroup>

<Error
Condition="@(CompileForRelativePath->Count()) != 1"
Condition="@(CompileWithRelativePath->Count()) != 1"
Text="Number of Compile items != 1. We need just one, to determine the path of the resulting DLL in the package including ref/lib and TFM." />

<ItemGroup>
<FullCompileDir Include="$([System.IO.Directory]::GetParent('%(CompileForRelativePath.Identity)'))" />
<FullCompileDir Include="$([System.IO.Directory]::GetParent('%(CompileWithRelativePath.Identity)'))" />
<RelativeCompileDir Include="$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)\', '%(FullCompileDir.Identity)'))" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public Dictionary(int capacity) { }

public TValue this[TKey key] { get { throw null; } set { } }

public Dictionary<TKey, TValue>.KeyCollection Keys { get { throw null; } }
public KeyCollection Keys { get { throw null; } }

bool ICollection<KeyValuePair<TKey, TValue>>.IsReadOnly { get { throw null; } }

Expand All @@ -130,7 +130,7 @@ public Dictionary(int capacity) { }

ICollection IDictionary.Values { get { throw null; } }

public Dictionary<TKey, TValue>.ValueCollection Values { get { throw null; } }
public ValueCollection Values { get { throw null; } }

public void Add(TKey key, TValue value) { }

Expand All @@ -140,7 +140,7 @@ public void Clear() { }

public bool ContainsValue(TValue value) { throw null; }

public Dictionary<TKey, TValue>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public bool Remove(TKey key) { throw null; }

Expand Down Expand Up @@ -201,7 +201,7 @@ public KeyCollection(Dictionary<TKey, TValue> dictionary) { }

public void CopyTo(TKey[] array, int index) { }

public Dictionary<TKey, TValue>.KeyCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TKey>.Add(TKey item) { }

Expand Down Expand Up @@ -245,7 +245,7 @@ public ValueCollection(Dictionary<TKey, TValue> dictionary) { }

public void CopyTo(TValue[] array, int index) { }

public Dictionary<TKey, TValue>.ValueCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TValue>.Add(TValue item) { }

Expand Down Expand Up @@ -317,7 +317,7 @@ public void CopyTo(T[] array) { }

public void ExceptWith(IEnumerable<T> other) { }

public HashSet<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public void IntersectWith(IEnumerable<T> other) { }

Expand Down Expand Up @@ -420,7 +420,7 @@ public void CopyTo(T[] array, int index) { }

public LinkedListNode<T> FindLast(T value) { throw null; }

public LinkedList<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public bool Remove(T value) { throw null; }

Expand Down Expand Up @@ -518,7 +518,7 @@ public void CopyTo(int index, T[] array, int arrayIndex, int count) { }

public int FindLastIndex(Predicate<T> match) { throw null; }

public List<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public List<T> GetRange(int index, int count) { throw null; }

Expand Down Expand Up @@ -618,7 +618,7 @@ public void CopyTo(T[] array, int arrayIndex) { }

public void Enqueue(T item) { }

public Queue<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public T Peek() { throw null; }

Expand Down Expand Up @@ -662,7 +662,7 @@ public SortedDictionary(IDictionary<TKey, TValue> dictionary) { }

public TValue this[TKey key] { get { throw null; } set { } }

public SortedDictionary<TKey, TValue>.KeyCollection Keys { get { throw null; } }
public KeyCollection Keys { get { throw null; } }

bool ICollection<KeyValuePair<TKey, TValue>>.IsReadOnly { get { throw null; } }

Expand All @@ -684,7 +684,7 @@ public SortedDictionary(IDictionary<TKey, TValue> dictionary) { }

ICollection IDictionary.Values { get { throw null; } }

public SortedDictionary<TKey, TValue>.ValueCollection Values { get { throw null; } }
public ValueCollection Values { get { throw null; } }

public void Add(TKey key, TValue value) { }

Expand All @@ -696,7 +696,7 @@ public void Clear() { }

public void CopyTo(KeyValuePair<TKey, TValue>[] array, int index) { }

public SortedDictionary<TKey, TValue>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public bool Remove(TKey key) { throw null; }

Expand Down Expand Up @@ -755,7 +755,7 @@ public KeyCollection(SortedDictionary<TKey, TValue> dictionary) { }

public void CopyTo(TKey[] array, int index) { }

public SortedDictionary<TKey, TValue>.KeyCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TKey>.Add(TKey item) { }

Expand Down Expand Up @@ -799,7 +799,7 @@ public ValueCollection(SortedDictionary<TKey, TValue> dictionary) { }

public void CopyTo(TValue[] array, int index) { }

public SortedDictionary<TKey, TValue>.ValueCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TValue>.Add(TValue item) { }

Expand Down Expand Up @@ -868,7 +868,7 @@ public void CopyTo(T[] array) { }

public void ExceptWith(IEnumerable<T> other) { }

public SortedSet<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public virtual SortedSet<T> GetViewBetween(T lowerValue, T upperValue) { throw null; }

Expand Down Expand Up @@ -938,7 +938,7 @@ public void Clear() { }

public void CopyTo(T[] array, int arrayIndex) { }

public Stack<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public T Peek() { throw null; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public Dictionary(int capacity) { }

public TValue this[TKey key] { get { throw null; } set { } }

public Dictionary<TKey, TValue>.KeyCollection Keys { get { throw null; } }
public KeyCollection Keys { get { throw null; } }

bool ICollection<KeyValuePair<TKey, TValue>>.IsReadOnly { get { throw null; } }

Expand All @@ -133,7 +133,7 @@ public Dictionary(int capacity) { }

ICollection IDictionary.Values { get { throw null; } }

public Dictionary<TKey, TValue>.ValueCollection Values { get { throw null; } }
public ValueCollection Values { get { throw null; } }

public void Add(TKey key, TValue value) { }

Expand All @@ -143,7 +143,7 @@ public void Clear() { }

public bool ContainsValue(TValue value) { throw null; }

public Dictionary<TKey, TValue>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public bool Remove(TKey key) { throw null; }

Expand Down Expand Up @@ -204,7 +204,7 @@ public KeyCollection(Dictionary<TKey, TValue> dictionary) { }

public void CopyTo(TKey[] array, int index) { }

public Dictionary<TKey, TValue>.KeyCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TKey>.Add(TKey item) { }

Expand Down Expand Up @@ -248,7 +248,7 @@ public ValueCollection(Dictionary<TKey, TValue> dictionary) { }

public void CopyTo(TValue[] array, int index) { }

public Dictionary<TKey, TValue>.ValueCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TValue>.Add(TValue item) { }

Expand Down Expand Up @@ -320,7 +320,7 @@ public void CopyTo(T[] array) { }

public void ExceptWith(IEnumerable<T> other) { }

public HashSet<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public void IntersectWith(IEnumerable<T> other) { }

Expand Down Expand Up @@ -423,7 +423,7 @@ public void CopyTo(T[] array, int index) { }

public LinkedListNode<T> FindLast(T value) { throw null; }

public LinkedList<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public bool Remove(T value) { throw null; }

Expand Down Expand Up @@ -525,7 +525,7 @@ public void CopyTo(int index, T[] array, int arrayIndex, int count) { }

public void ForEach(Action<T> action) { }

public List<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public List<T> GetRange(int index, int count) { throw null; }

Expand Down Expand Up @@ -625,7 +625,7 @@ public void CopyTo(T[] array, int arrayIndex) { }

public void Enqueue(T item) { }

public Queue<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public T Peek() { throw null; }

Expand Down Expand Up @@ -669,7 +669,7 @@ public SortedDictionary(IDictionary<TKey, TValue> dictionary) { }

public TValue this[TKey key] { get { throw null; } set { } }

public SortedDictionary<TKey, TValue>.KeyCollection Keys { get { throw null; } }
public KeyCollection Keys { get { throw null; } }

bool ICollection<KeyValuePair<TKey, TValue>>.IsReadOnly { get { throw null; } }

Expand All @@ -695,7 +695,7 @@ public SortedDictionary(IDictionary<TKey, TValue> dictionary) { }

ICollection IDictionary.Values { get { throw null; } }

public SortedDictionary<TKey, TValue>.ValueCollection Values { get { throw null; } }
public ValueCollection Values { get { throw null; } }

public void Add(TKey key, TValue value) { }

Expand All @@ -707,7 +707,7 @@ public void Clear() { }

public void CopyTo(KeyValuePair<TKey, TValue>[] array, int index) { }

public SortedDictionary<TKey, TValue>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public bool Remove(TKey key) { throw null; }

Expand Down Expand Up @@ -766,7 +766,7 @@ public KeyCollection(SortedDictionary<TKey, TValue> dictionary) { }

public void CopyTo(TKey[] array, int index) { }

public SortedDictionary<TKey, TValue>.KeyCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TKey>.Add(TKey item) { }

Expand Down Expand Up @@ -810,7 +810,7 @@ public ValueCollection(SortedDictionary<TKey, TValue> dictionary) { }

public void CopyTo(TValue[] array, int index) { }

public SortedDictionary<TKey, TValue>.ValueCollection.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

void ICollection<TValue>.Add(TValue item) { }

Expand Down Expand Up @@ -974,7 +974,7 @@ public void CopyTo(T[] array) { }

public void ExceptWith(IEnumerable<T> other) { }

public SortedSet<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public virtual SortedSet<T> GetViewBetween(T lowerValue, T upperValue) { throw null; }

Expand Down Expand Up @@ -1044,7 +1044,7 @@ public void Clear() { }

public void CopyTo(T[] array, int arrayIndex) { }

public Stack<T>.Enumerator GetEnumerator() { throw null; }
public Enumerator GetEnumerator() { throw null; }

public T Peek() { throw null; }

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>net6.0;net7.0;net8.0;netstandard2.0</TargetFrameworks>
<AssemblyName>System.Composition.AttributedModel</AssemblyName>
</PropertyGroup>

</Project>
Loading
Loading