AndroidSupportComponents/source/AndroidSupportProject.cshtml

213 строки
9.7 KiB
Plaintext
Исходник Обычный вид История

2019-09-30 23:45:31 +03:00
@using System.Linq
2019-10-01 16:36:18 +03:00
<Project Sdk="MSBuild.Sdk.Extras/2.0.54">
<PropertyGroup>
2019-09-30 23:45:31 +03:00
<TargetFramework>MonoAndroid90</TargetFramework>
<IsBindingProject>true</IsBindingProject>
@if (!string.IsNullOrEmpty(Model.AssemblyName)) {
<AssemblyName>@(Model.AssemblyName)</AssemblyName>
} else {
<AssemblyName>@(Model.NuGetPackageId)</AssemblyName>
}
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk>
<AndroidUseIntermediateDesignerFile>True</AndroidUseIntermediateDesignerFile>
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
</PropertyGroup>
<PropertyGroup>
<PackageId>@(Model.NuGetPackageId)</PackageId>
<Title>Xamarin Android Support Library - @(Model.Name)</Title>
<Summary>Xamarin.Android bindings for Android Support Library - @(Model.Name)</Summary>
<Description>Xamarin.Android bindings for Android Support Library - @(Model.Name)</Description>
<PackageTags>Xamarin Android Xamarin.Android Support</PackageTags>
2018-10-11 18:48:28 +03:00
<Authors>Microsoft</Authors>
<Owners>Microsoft</Owners>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<PackageProjectUrl>https://go.microsoft.com/fwlink/?linkid=865352</PackageProjectUrl>
<PackageLicenseUrl>https://go.microsoft.com/fwlink/?linkid=865381</PackageLicenseUrl>
<PackageIconUrl>https://raw.githubusercontent.com/xamarin/AndroidSupportComponents/master/icons/@(Model.Name)_128x128.png</PackageIconUrl>
<PackageVersion>@(Model.NuGetVersion)</PackageVersion>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
2020-02-12 18:34:46 +03:00
<!-- Include symbol files (*.pdb) in the built .nupkg -->
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
</PropertyGroup>
<PropertyGroup>
<AndroidClassParser>class-parse</AndroidClassParser>
<AndroidCodegenTarget>XAJavaInterop1</AndroidCodegenTarget>
</PropertyGroup>
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
<TransformFile Include="..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)-paramnames.xml" Condition="Exists('..\..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)-paramnames.xml')" />
}
</ItemGroup>
@*<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
<JavaSourceJar Include="..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)-sources.jar" Condition="Exists('..\..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)-sources.jar')" />
}
</ItemGroup>*@
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
<_AndroidDocumentationPath Include="..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)-paramnames.txt" Condition="Exists('..\..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)-paramnames.txt')" />
}
</ItemGroup>
<ItemGroup>
<None Include="@(Model.NuGetPackageId).targets" Pack="True" PackagePath="build\$(TargetFramework)" />
</ItemGroup>
@if (@Model.MavenArtifacts.Count > 0) {
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
if (art.ProguardFile != null) {
<None Include="..\..\@(art.ProguardFile)" Pack="True" PackagePath="proguard\" />
}
}
</ItemGroup>
}
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
if (art.MavenArtifactPackaging == "aar") {
<LibraryProjectZip Include="..\..\externals\@(art.MavenGroupId)\@(art.MavenGroupId).@(art.MavenArtifactId).aar" />
}
}
</ItemGroup>
<ItemGroup>
<Folder Include="Additions\" />
<Folder Include="Jars\" />
<Folder Include="Transforms\" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\source\AssemblyInfo.cs" />
<Compile Include="..\..\source\@(Model.MavenGroupId)\@(Model.Name)\additions\*.cs">
<Link>Additions/%(RecursiveDir)/%(Filename)%(Extension)</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<TransformFile Include="..\..\source\Metadata.common.xml" >
<Link>Transforms/Metadata.common.xml</Link>
</TransformFile>
<TransformFile Include="..\..\source\@(Model.MavenGroupId)\@(Model.Name)\transforms\*.xml">
<Link>Transforms/%(RecursiveDir)/%(Filename)%(Extension)</Link>
</TransformFile>
</ItemGroup>
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
if (1==2 && art.MavenArtifactPackaging == "aar") {
<None Include="..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId).aar" Pack="True" PackagePath="aar\" />
}
}
</ItemGroup>
@if (@Model.MavenArtifacts.Count > 0) {
<ItemGroup>
@foreach (var art in @Model.MavenArtifacts) {
if (art.MavenArtifactPackaging == "aar") {
<InputJar Include="..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)\classes.jar" />
<!-- For those artifacts with lib/ folder -->
<InputJar
Condition="Exists('..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)\libs\')"
Include="..\..\externals\@(art.MavenGroupId).@(art.MavenArtifactId)\libs\*.jar"
/>
} else {
<EmbeddedJar Include="..\..\externals\@(art.MavenGroupId)\@(art.MavenGroupId).@(art.MavenArtifactId).jar" />
}
}
</ItemGroup>
}
<ItemGroup>
<!-- ProjectReference -->
@foreach (var dep in @Model.NuGetDependencies) {
if (dep.IsProjectReference) {
<ProjectReference Include="..\..\generated\@(dep.MavenArtifact.MavenGroupId).@(dep.MavenArtifact.MavenArtifactId)\@(dep.MavenArtifact.MavenGroupId).@(dep.MavenArtifact.MavenArtifactId).csproj" PrivateAssets="none" />
}
}
<!-- some additional fixes -->
@if (@Model.NuGetPackageId == "Xamarin.Android.Support.Transition")
{
<ProjectReference Include="..\com.android.support.support-fragment\com.android.support.support-fragment.csproj" PrivateAssets="none" />
}
</ItemGroup>
<ItemGroup>
<!-- PackageReference -->
@foreach (var dep in @Model.NuGetDependencies) {
if (!dep.IsProjectReference) {
<PackageReference Include="@(dep.NuGetPackageId)" Version="@(dep.NuGetVersion)" />
}
}
</ItemGroup>
@if (@Model.NuGetPackageId == "Xamarin.Android.Support.Annotations")
{
<ItemGroup>
<None Include="..\..\source\buildtasks\support-annotations\bin\$(Configuration)\Xamarin.Android.Support.BuildTasks.dll" Pack="True" PackagePath="build\$(TargetFramework)" />
</ItemGroup>
}
@if (@Model.NuGetPackageId == "Xamarin.Android.Support.Vector.Drawable")
{
<ItemGroup>
<None Include="..\..\source\buildtasks\support-vector-drawable\bin\$(Configuration)\Xamarin.Android.Support.Tasks.VectorDrawable.dll" Pack="True" PackagePath="build\$(TargetFramework)" />
</ItemGroup>
}
@if (1==2 && @Model.NuGetPackageId == "Xamarin.Android.Support.v4")
{
<Target Name="AndroidSupportLibrariesTypeForwardersGenerationWithGenAPI" BeforeTargets="Build">
<Message Text="AndroidSupportLibrariesTypeForwardersGenerationWithGenAPI" ></Message>
<PropertyGroup>
<GenAPITargetFramework>$(TargetFramework)</GenAPITargetFramework>
<GenAPITargetFramework Condition=" '$(GenAPITargetFramework)' == '' ">$(TargetFrameworks)</GenAPITargetFramework>
<GenAPIPath>$(MSBuildProjectDirectory)\..\..\tools\microsoft.dotnet.buildtools.genapi.1.0.0-beta-00081\Microsoft.DotNet.BuildTools.GenAPI\tools\GenAPI.exe</GenAPIPath>
<GenAPIIntermediateOutputPath>bin\Release\MonoAndroid90\</GenAPIIntermediateOutputPath>
<GenAPILibPaths Condition=" '$(OS)' == 'Windows_NT' ">$(VsInstallRoot)\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0,$(VsInstallRoot)\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v9.0</GenAPILibPaths>
<GenAPILibPaths Condition=" '$(OS)' != 'Windows_NT' ">/Library/Frameworks/Xamarin.Android.Framework/Libraries/mono/2.1,/Library/Frameworks/Xamarin.Android.framework/Libraries/mandroid/platforms/android-28</GenAPILibPaths>
<GenAPICommand Condition=" '$(OS)' == 'Windows_NT'">"$(GenAPIPath)"</GenAPICommand>
<GenAPICommand Condition=" '$(OS)' != 'Windows_NT'">mono --runtime=v4.0.30319 "$(GenAPIPath)"</GenAPICommand>
</PropertyGroup>
<ItemGroup>
@foreach (var dep in @Model.NuGetDependencies)
{
if (dep.IsProjectReference)
{
<GenAPIItemBase
Include="$(MSBuildProjectDirectory)\..\@(dep.MavenArtifact.MavenGroupId).@(dep.MavenArtifact.MavenArtifactId)\">
<GenAPIAssembly>$(GenAPIIntermediateOutputPath)@(dep.NuGetPackageId).dll</GenAPIAssembly>
<GenAPICSCode>$(MSBuildProjectDirectory)\Additions\@(dep.NuGetPackageId).cs</GenAPICSCode>
</GenAPIItemBase>
}
}
</ItemGroup>
<Message Text=" GenAPIItemBase = %(GenAPIItemBase.Identity) %0A %(GenAPIItemBase.GenAPICSCode) %0A %(GenAPIItemBase.GenAPIAssembly)"></Message>
<!--
// For some reason GenAPI.exe can't handle absolute paths on mac/unix properly, so always make them relative
// GenAPI.exe -libPath:$(MONOANDROID) -out:Some.generated.cs -w:TypeForwards ./relative/path/to/Assembly.dll
-->
<MakeDir Directories="$(MSBuildProjectDirectory)\Additions" />
<Exec
Command="$(GenAPIPath) -libPath:&quot;$(GenAPILibPaths)&quot; -out:&quot;%(GenAPIItemBase.GenAPICSCode)&quot; -w:TypeForwards &quot;%(GenAPIItemBase.Identity)%(GenAPIItemBase.GenAPIAssembly)&quot;"
/>
</Target>
}
</Project>