Skip to content

Commit c7b1e74

Browse files
authored
[build] Add Public APIs (#1211)
This does nothing and is generated during build. This will allow us to see all the APIs in an assembly over time.
1 parent 179d214 commit c7b1e74

File tree

1,306 files changed

+243621
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,306 files changed

+243621
-2
lines changed

Directory.Build.targets

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<!-- Enables "ExactVersion" attribute on "ProjectReference" to allow an exact NuGet reference version to be used.
3-
https://github.com/NuGet/Home/issues/5556#issuecomment-1179526189 -->
3+
https://github.com/NuGet/Home/issues/5556#issuecomment-1179526189 -->
44
<Target Name="UseExplicitPackageVersions" BeforeTargets="GenerateNuspec">
55
<ItemGroup>
66
<_ProjectReferenceWithExplicitPackageVersion Include="@(ProjectReference->'%(FullPath)')" Condition="'%(ProjectReference.PackageVersion)' != ''" />
@@ -15,10 +15,46 @@
1515
<_ProjectReferencesWithVersions Include="@(_ProjectReferenceWithReassignedVersion)" />
1616
</ItemGroup>
1717
</Target>
18-
18+
1919
<PropertyGroup>
2020
<!-- Mark .NET6+ packages as supporting trimming -->
2121
<IsTrimmable Condition=" $([MSBuild]::VersionGreaterThanOrEquals('$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)'))', '6.0')) ">true</IsTrimmable>
2222
</PropertyGroup>
2323

24+
<ItemGroup>
25+
<PackageReference Include="Mono.ApiTools.MSBuildTasks" Version="0.4.0" PrivateAssets="all" />
26+
</ItemGroup>
27+
28+
<Target Name="_GeneratePublicApiFiles"
29+
AfterTargets="Build"
30+
Condition="'$(TargetFramework)' != '' and '$(PublicAPIShippedFile)' != '' and '$(PublicAPIUnshippedFile)' != ''"
31+
Inputs="$(TargetDir)$(AssemblyName).dll"
32+
Outputs="$(IntermediateOutputPath)GeneratePublicApiFiles.stamp">
33+
34+
<!-- Make sure the empty files exist -->
35+
<WriteLinesToFile
36+
Condition="!Exists('$(PublicAPIShippedFile)')"
37+
File="$(PublicAPIShippedFile)"
38+
Lines="#nullable enable" />
39+
<WriteLinesToFile
40+
Condition="!Exists('$(PublicAPIUnshippedFile)')"
41+
File="$(PublicAPIUnshippedFile)"
42+
Lines="#nullable enable" />
43+
44+
<!-- Generate the public API files -->
45+
<GeneratePublicApiFiles
46+
Assembly="$(TargetDir)$(AssemblyName).dll"
47+
Files="@(PublicAPIFiles)"
48+
ReferenceSearchPaths="@(ReferencePath)" />
49+
50+
<!-- Touch the stamp file to indicate that the public API files have been generated -->
51+
<Touch
52+
Files="$(IntermediateOutputPath)GeneratePublicApiFiles.stamp"
53+
AlwaysCreate="True" />
54+
<ItemGroup>
55+
<FileWrites Include="$(IntermediateOutputPath)GeneratePublicApiFiles.stamp" />
56+
</ItemGroup>
57+
58+
</Target>
59+
2460
</Project>

source/AndroidXProject.cshtml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,15 @@
149149
}
150150
</ItemGroup>
151151

152+
<!-- Public API files -->
153+
<PropertyGroup>
154+
<PublicAPIShippedFile>..\..\source\@(Model.MavenGroupId)\@(Model.Name)\PublicAPI\PublicAPI.Shipped.txt</PublicAPIShippedFile>
155+
<PublicAPIUnshippedFile>..\..\source\@(Model.MavenGroupId)\@(Model.Name)\PublicAPI\PublicAPI.Unshipped.txt</PublicAPIUnshippedFile>
156+
</PropertyGroup>
157+
<ItemGroup>
158+
<PublicAPIFiles Include="$(PublicAPIShippedFile);$(PublicAPIUnshippedFile)" />
159+
</ItemGroup>
160+
152161
@{ await IncludeAsync("source/_PackageLevelCustomizations.cshtml", Model); }
153162

154163
</Project>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable

source/androidx.activity/activity/PublicAPI/PublicAPI.Unshipped.txt

Lines changed: 472 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#nullable enable
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#nullable enable
2+
AndroidX.Ads.Identifier.AdvertisingIdUtils
3+
AndroidX.Ads.Identifier.AdvertisingIdUtils.AdvertisingIdUtils(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
4+
AndroidX.Ads.Identifier.Provider.AdvertisingIdService
5+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceConsts
6+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault
7+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.AdvertisingIdServiceDefault() -> void
8+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.AdvertisingIdServiceDefault(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
9+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.InterfaceConsts
10+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub
11+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.AdvertisingIdServiceStub() -> void
12+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.AdvertisingIdServiceStub(nint javaReference, Android.Runtime.JniHandleOwnership transfer) -> void
13+
AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.InterfaceConsts
14+
AndroidX.Ads.Identifier.Provider.IAdvertisingIdService
15+
AndroidX.Ads.Identifier.Provider.IAdvertisingIdService.Id.get -> string?
16+
AndroidX.Ads.Identifier.Provider.IAdvertisingIdService.IsLimitAdTrackingEnabled.get -> bool
17+
abstract AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.Id.get -> string?
18+
abstract AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.IsLimitAdTrackingEnabled.get -> bool
19+
const AndroidX.Ads.Identifier.AdvertisingIdUtils.GetAdIdAction = "androidx.ads.identifier.provider.GET_AD_ID" -> string!
20+
const AndroidX.Ads.Identifier.Provider.AdvertisingIdService.Descriptor = "androidx.ads.identifier.provider.IAdvertisingIdService" -> string!
21+
const AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.InterfaceConsts.Descriptor = "androidx.ads.identifier.provider.IAdvertisingIdService" -> string!
22+
const AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.InterfaceConsts.Descriptor = "androidx.ads.identifier.provider.IAdvertisingIdService" -> string!
23+
override AndroidX.Ads.Identifier.AdvertisingIdUtils.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
24+
override AndroidX.Ads.Identifier.AdvertisingIdUtils.ThresholdClass.get -> nint
25+
override AndroidX.Ads.Identifier.AdvertisingIdUtils.ThresholdType.get -> System.Type!
26+
override AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
27+
override AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.ThresholdClass.get -> nint
28+
override AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.ThresholdType.get -> System.Type!
29+
override AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.JniPeerMembers.get -> Java.Interop.JniPeerMembers!
30+
override AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.ThresholdClass.get -> nint
31+
override AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.ThresholdType.get -> System.Type!
32+
static AndroidX.Ads.Identifier.AdvertisingIdUtils.GetAdvertisingIdProviderServices(Android.Content.PM.PackageManager! packageManager) -> System.Collections.Generic.IList<Android.Content.PM.ServiceInfo!>!
33+
static AndroidX.Ads.Identifier.AdvertisingIdUtils.SelectServiceByPriority(System.Collections.Generic.IList<Android.Content.PM.ServiceInfo!>! serviceInfos, Android.Content.PM.PackageManager! packageManager) -> Android.Content.PM.ServiceInfo?
34+
static AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.AsInterface(Android.OS.IBinder? obj) -> AndroidX.Ads.Identifier.Provider.IAdvertisingIdService?
35+
virtual AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.AsBinder() -> Android.OS.IBinder?
36+
virtual AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.Id.get -> string?
37+
virtual AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceDefault.IsLimitAdTrackingEnabled.get -> bool
38+
virtual AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.AsBinder() -> Android.OS.IBinder?
39+
virtual AndroidX.Ads.Identifier.Provider.AdvertisingIdServiceStub.OnTransact(int code, Android.OS.Parcel? data, Android.OS.Parcel? reply, int flags) -> bool

0 commit comments

Comments
 (0)