-
Notifications
You must be signed in to change notification settings - Fork 17
/
Directory.Build.targets
85 lines (81 loc) · 4.24 KB
/
Directory.Build.targets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<Project>
<Target Name="ExposeAssemblies" BeforeTargets="PreBuildEvent">
<ItemGroup>
<ExposeAssemblies Include="$(ManagedPath)\Assembly-CSharp*.dll"/>
<ExposureRules Include="Private and internal targets to public">
<PatternRule>^(private|internal)</PatternRule>
<TargetRule>All</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</ExposureRules>
<ExposureRules Include="DragTool::OnDrag* to public">
<PatternRule>Tool::OnDrag</PatternRule>
<TargetRule>Method</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</ExposureRules>
<ExposureRules Include="Game::OnPrefabInit to public">
<PatternRule>Game::OnPrefabInit</PatternRule>
<TargetRule>Method</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</ExposureRules>
<ExposureRules Include="KMonoBehaviour overriden methods to public">
<PatternRule>^(?!.*?KMonoBehaviour).*?::(OnSpawn)</PatternRule>
<TargetRule>Method</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</ExposureRules>
<ExposureRules Include="Protected types and fields to public">
<PatternRule>protected</PatternRule>
<TargetRule>Type, Field</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</ExposureRules>
<ExposureRules Include="Game scene partitioner protected methods">
<PatternRule>GameScenePartitioner::</PatternRule>
<TargetRule>Method</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</ExposureRules>
<ExposureRules Include="Chore::GetSMI">
<PatternRule>Chore::GetSMI</PatternRule>
<TargetRule>Method</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</ExposureRules>
</ItemGroup>
<ExposeAssembly SourceAssemblies="@(ExposeAssemblies)" Rules="@(ExposureRules)" OutputDirectory="$(ExposedLibrariesPath)"/>
</Target>
<Target Name="ExposeUnityAssemblies" BeforeTargets="PreBuildEvent">
<ItemGroup>
<UnityAssemblies Include="$(ManagedPath)\UnityEngine.CoreModule.dll"/>
<UnityAssemblies Include="$(ManagedPath)\UnityEngine.UI.dll"/>
<UnityExposureRules Include="Cached pointer to public">
<PatternRule>^private.*?Object::m_CachedPtr</PatternRule>
<TargetRule>Field</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</UnityExposureRules>
<UnityExposureRules Include="Open Toggle constructor">
<PatternRule>Toggle::.ctor()</PatternRule>
<TargetRule>Method</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</UnityExposureRules>
<UnityExposureRules Include="Open DebugLogHandler">
<PatternRule>DebugLogHandler</PatternRule>
<TargetRule>Type, Method</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</UnityExposureRules>
<UnityExposureRules Include="Open ResourcesAPIInternal">
<PatternRule>ResourcesAPIInternal</PatternRule>
<TargetRule>All</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</UnityExposureRules>
</ItemGroup>
<ExposeAssembly SourceAssemblies="@(UnityAssemblies)" Rules="@(UnityExposureRules)" OutputDirectory="$(ExposedLibrariesPath)"/>
</Target>
<Target Name="ExposeHarmonyAssembly" BeforeTargets="PreBuildEvent">
<ItemGroup>
<HarmonyAssembly Include="$(ManagedPath)\0Harmony.dll"/>
<HarmonyExposureRules Include="Private and internal targets to public">
<PatternRule>^(private|internal).*?</PatternRule>
<TargetRule>All</TargetRule>
<VisibilityRule>Public</VisibilityRule>
</HarmonyExposureRules>
</ItemGroup>
<ExposeAssembly SourceAssemblies="@(HarmonyAssembly)" Rules="@(HarmonyExposureRules)" OutputDirectory="$(ExposedLibrariesPath)"/>
</Target>
</Project>