Skip to content

Commit ae0cbe0

Browse files
authored
[SourceGen] Add MSBuild prop to disable source-generated function metadata (#1200)
1 parent c1e4f88 commit ae0cbe0

File tree

9 files changed

+106
-72
lines changed

9 files changed

+106
-72
lines changed

sdk/Sdk.Generators/Constants.cs

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,50 @@ namespace Microsoft.Azure.Functions.Worker.Sdk.Generators
55
{
66
internal static class Constants
77
{
8-
// Our types
9-
internal const string BindingAttributeType = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.BindingAttribute";
10-
internal const string OutputBindingAttributeType = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.OutputBindingAttribute";
11-
internal const string FunctionNameType = "Microsoft.Azure.Functions.Worker.FunctionAttribute";
12-
internal const string HttpResponseType = "Microsoft.Azure.Functions.Worker.Http.HttpResponseData";
13-
internal const string EventHubsTriggerType = "Microsoft.Azure.Functions.Worker.EventHubTriggerAttribute";
14-
internal const string BindingPropertyNameAttributeType = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.BindingPropertyNameAttribute";
15-
internal const string DefaultValueType = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.DefaultValueAttribute";
8+
public static class BuildProperties
9+
{
10+
internal const string EnableSourceGenProp = "build_property.FunctionsMetadataSourceGen_Enabled";
11+
}
1612

17-
// System types
18-
internal const string IEnumerableType = "System.Collections.IEnumerable";
19-
internal const string IEnumerableGenericType = "System.Collections.Generic.IEnumerable`1";
20-
internal const string IEnumerableOfStringType = "System.Collections.Generic.IEnumerable`1<System.String>";
21-
internal const string IEnumerableOfBinaryType = "System.Collections.Generic.IEnumerable`1<System.Byte[]>";
22-
internal const string IEnumerableOfT = "System.Collections.Generic.IEnumerable`1<T>";
23-
internal const string IEnumerableOfKeyValuePair = "System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<TKey,TValue>>";
24-
internal const string StringType = "System.String";
25-
internal const string ByteArrayType = "System.Byte[]";
26-
internal const string ByteStructType = "System.Byte";
27-
internal const string TaskGenericType = "System.Threading.Tasks.Task`1";
28-
internal const string TaskType = "System.Threading.Tasks.Task";
29-
internal const string VoidType = "System.Void";
30-
internal const string ReadOnlyMemoryOfBytes = "System.ReadOnlyMemory`1<System.Byte>";
31-
internal const string LookupGenericType = "System.Linq.Lookup`2";
32-
internal const string DictionaryGenericType = "System.Collections.Generic.Dictionary`2";
13+
public static class FileNames
14+
{
15+
internal const string GeneratedFunctionMetadata = "GeneratedFunctionMetadataProvider.g.cs";
16+
}
3317

34-
internal const string ReturnBindingName = "$return";
35-
internal const string HttpResponseBindingName = "HttpResponse";
36-
internal const string HttpTriggerBindingType = "Microsoft.Azure.Functions.Worker.HttpTriggerAttribute";
37-
internal const string IsBatchedKey = "IsBatched";
18+
public static class Types
19+
{
20+
// Our types
21+
internal const string BindingAttribute = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.BindingAttribute";
22+
internal const string OutputBindingAttribute = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.OutputBindingAttribute";
23+
internal const string FunctionName = "Microsoft.Azure.Functions.Worker.FunctionAttribute";
24+
internal const string HttpResponse = "Microsoft.Azure.Functions.Worker.Http.HttpResponseData";
25+
internal const string HttpTriggerBinding = "Microsoft.Azure.Functions.Worker.HttpTriggerAttribute";
26+
internal const string EventHubsTrigger = "Microsoft.Azure.Functions.Worker.EventHubTriggerAttribute";
27+
internal const string BindingPropertyNameAttribute = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.BindingPropertyNameAttribute";
28+
internal const string DefaultValue = "Microsoft.Azure.Functions.Worker.Extensions.Abstractions.DefaultValueAttribute";
29+
30+
// System types
31+
internal const string IEnumerable = "System.Collections.IEnumerable";
32+
internal const string IEnumerableGeneric = "System.Collections.Generic.IEnumerable`1";
33+
internal const string IEnumerableOfString = "System.Collections.Generic.IEnumerable`1<System.String>";
34+
internal const string IEnumerableOfBinary = "System.Collections.Generic.IEnumerable`1<System.Byte[]>";
35+
internal const string IEnumerableOfT = "System.Collections.Generic.IEnumerable`1<T>";
36+
internal const string IEnumerableOfKeyValuePair = "System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<TKey,TValue>>";
37+
internal const string String = "System.String";
38+
internal const string ByteArray = "System.Byte[]";
39+
internal const string ByteStruct = "System.Byte";
40+
internal const string TaskGeneric = "System.Threading.Tasks.Task`1";
41+
internal const string Task = "System.Threading.Tasks.Task";
42+
internal const string Void = "System.Void";
43+
internal const string ReadOnlyMemoryOfBytes = "System.ReadOnlyMemory`1<System.Byte>";
44+
internal const string LookupGeneric = "System.Linq.Lookup`2";
45+
internal const string DictionaryGeneric = "System.Collections.Generic.Dictionary`2";
46+
}
47+
48+
public static class FunctionMetadataBindingProps {
49+
internal const string ReturnBindingName = "$return";
50+
internal const string HttpResponseBindingName = "HttpResponse";
51+
internal const string IsBatchedKey = "IsBatched";
52+
}
3853
}
3954
}

0 commit comments

Comments
 (0)