Skip to content

Commit f5ff71c

Browse files
committed
Make sure the Java.Interop dll configs are OK
... when building the tests, which use jnimarshalmethod-gen.exe
1 parent dcf6421 commit f5ff71c

File tree

5 files changed

+41
-23
lines changed

5 files changed

+41
-23
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<UsingTask AssemblyFile="$(MSBuildThisFileDirectory)..\..\bin\Build$(Configuration)\xa-prep-tasks.dll" TaskName="Xamarin.Android.BuildTools.PrepTasks.ReplaceFileContents" />
4+
<Target Name="_CreateJavaInteropDllConfigs"
5+
Inputs="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Interop.dll;$(JavaInteropSourceDirectory)\src\Java.Runtime.Environment\Java.Runtime.Environment.dll.config"
6+
Outputs="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Interop.dll.config;$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Runtime.Environment.dll.config">
7+
<ReadLinesFromFile
8+
File="$(MSBuildThisFileDirectory)java-interop.dllmap">
9+
<Output TaskParameter="Lines" ItemName="_JavaInteropDllMapContent" />
10+
</ReadLinesFromFile>
11+
<WriteLinesToFile
12+
File="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Interop.dll.config"
13+
Lines="&lt;configuration&gt;;@(_JavaInteropDllMapContent);&lt;/configuration&gt;"
14+
Overwrite="True"
15+
/>
16+
<PropertyGroup>
17+
<_DllMaps>@(_JavaInteropDllMapContent->'%(Identity)', '%0a ')</_DllMaps>
18+
</PropertyGroup>
19+
<ReplaceFileContents
20+
Condition="Exists('$(JavaInteropSourceDirectory)\src\Java.Runtime.Environment\Java.Runtime.Environment.dll.config')"
21+
SourceFile="$(JavaInteropSourceDirectory)\src\Java.Runtime.Environment\Java.Runtime.Environment.dll.config"
22+
DestinationFile="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Runtime.Environment.dll.config"
23+
Replacements="&lt;configuration&gt;=&lt;configuration&gt;%0a $(_DllMaps)"
24+
/>
25+
</Target>
26+
</Project>

src/Mono.Android/Test/Mono.Android-Tests.targets

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
</ItemGroup>
99
<Import Project="Mono.Android-Tests.projitems" />
1010
<Import Project="..\..\..\build-tools\scripts\TestApks.targets" />
11+
<Import Project="..\..\..\build-tools\scripts\JavaInteropDllConfigs.targets" />
1112
<Target Name="BuildNativeLibs"
1213
BeforeTargets="Build"
1314
DependsOnTargets="AndroidPrepareForBuild"
@@ -16,4 +17,8 @@
1617
<Error Text="Could not locate Android NDK." Condition="!Exists ('$(NdkBuildPath)')" />
1718
<Exec Command="&quot;$(NdkBuildPath)&quot;" />
1819
</Target>
20+
<Target Name="EnsureJavaInteropDllConfigs"
21+
BeforeTargets="_GenerateJniMarshalMethods"
22+
DependsOnTargets="_CreateJavaInteropDllConfigs">
23+
</Target>
1924
</Project>

src/monodroid/monodroid.targets

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<Import Project="monodroid.props" />
55
<Import Project="monodroid.projitems" />
66
<Import Project="..\..\build-tools\scripts\RequiredPrograms.targets" />
7+
<Import Project="..\..\build-tools\scripts\JavaInteropDllConfigs.targets" />
78
<Import Project="sources.projitems" Condition="Exists ('sources.projitems')" />
89
<UsingTask AssemblyFile="..\..\bin\Build$(Configuration)\Xamarin.Android.Tools.BootstrapTasks.dll" TaskName="Xamarin.Android.Tools.BootstrapTasks.GenerateMonoDroidIncludes" />
910
<UsingTask AssemblyFile="..\..\bin\Build$(Configuration)\xa-prep-tasks.dll" TaskName="Xamarin.Android.BuildTools.PrepTasks.ReplaceFileContents" />
@@ -131,29 +132,6 @@
131132
</ItemGroup>
132133
</Target>
133134

134-
<Target Name="_CreateJavaInteropDllConfigs"
135-
Inputs="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Interop.dll;$(JavaInteropSourceDirectory)\src\Java.Runtime.Environment\Java.Runtime.Environment.dll.config"
136-
Outputs="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Interop.dll.config;$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Runtime.Environment.dll.config">
137-
<ReadLinesFromFile
138-
File="../../build-tools/scripts/java-interop.dllmap">
139-
<Output TaskParameter="Lines" ItemName="_JavaInteropDllMapContent" />
140-
</ReadLinesFromFile>
141-
<WriteLinesToFile
142-
File="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Interop.dll.config"
143-
Lines="&lt;configuration&gt;;@(_JavaInteropDllMapContent);&lt;/configuration&gt;"
144-
Overwrite="True"
145-
/>
146-
<PropertyGroup>
147-
<_DllMaps>@(_JavaInteropDllMapContent->'%(Identity)', '%0a ')</_DllMaps>
148-
</PropertyGroup>
149-
<ReplaceFileContents
150-
Condition="Exists('$(JavaInteropSourceDirectory)\src\Java.Runtime.Environment\Java.Runtime.Environment.dll.config')"
151-
SourceFile="$(JavaInteropSourceDirectory)\src\Java.Runtime.Environment\Java.Runtime.Environment.dll.config"
152-
DestinationFile="$(XAInstallPrefix)xbuild\Xamarin\Android\Java.Runtime.Environment.dll.config"
153-
Replacements="&lt;configuration&gt;=&lt;configuration&gt;%0a $(_DllMaps)"
154-
/>
155-
</Target>
156-
157135
<Target Name="_CreateMacMxeCmakeToolchainFiles"
158136
Inputs="mxe-32.cmake.in;mxe-64.cmake.in"
159137
Outputs="$(IntermediateOutputPath)\mxe-32.cmake;$(IntermediateOutputPath)\mxe-64.cmake">

tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@
155155
<AndroidResource Include="Resources\values\styles.xml" />
156156
</ItemGroup>
157157
<Import Project="..\Xamarin.Forms.Performance.Integration.projitems" Label="Shared" Condition="Exists('..\Xamarin.Forms.Performance.Integration.projitems')" />
158+
<Import Project="Xamarin.Forms.Performance.Integration.Droid.targets" />
158159
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
159160
<Import Project="..\..\..\packages\Xamarin.Android.Support.Annotations.27.0.2.1\build\MonoAndroid81\Xamarin.Android.Support.Annotations.targets" Condition="Exists('..\..\..\packages\Xamarin.Android.Support.Annotations.27.0.2.1\build\MonoAndroid81\Xamarin.Android.Support.Annotations.targets')" />
160161
<Import Project="..\..\..\packages\Xamarin.Android.Arch.Core.Common.1.0.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Core.Common.targets" Condition="Exists('..\..\..\packages\Xamarin.Android.Arch.Core.Common.1.0.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Core.Common.targets')" />
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="..\..\..\build-tools\scripts\JavaInteropDllConfigs.targets" />
4+
<Target Name="EnsureJavaInteropDllConfigs"
5+
BeforeTargets="_GenerateJniMarshalMethods"
6+
DependsOnTargets="_CreateJavaInteropDllConfigs">
7+
</Target>
8+
</Project>

0 commit comments

Comments
 (0)