Skip to content

Commit 38a1a2c

Browse files
committed
[jcw-gen] Add jcw-gen utility.
`jcw-gen` is a Java Callable Wrapper generator: it emits Java Callable Wrappers, blobs of Java code to permit calling managed code from Java. https://developer.xamarin.com/guides/android/advanced_topics/java_integration_overview/android_callable_wrappers/
1 parent 842a369 commit 38a1a2c

File tree

13 files changed

+1602
-1
lines changed

13 files changed

+1602
-1
lines changed

Java.Interop.sln

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "jnienv-gen", "build-tools\j
8181
EndProject
8282
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Xamarin.Android.NamingCustomAttributes", "src\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.shproj", "{74598F5C-B8CC-4CE6-8EE2-AB9CA1400076}"
8383
EndProject
84+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Java.Interop.Tools.JavaCallableWrappers", "src\Java.Interop.Tools.JavaCallableWrappers\Java.Interop.Tools.JavaCallableWrappers.csproj", "{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}"
85+
EndProject
8486
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Java.Interop.Tools.Cecil", "src\Java.Interop.Tools.Cecil\Java.Interop.Tools.Cecil.csproj", "{D48EE8D0-0A0A-4493-AEF5-DAF5F8CF86AD}"
8587
EndProject
8688
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Java.Interop.Tools.Diagnostics", "src\Java.Interop.Tools.Diagnostics\Java.Interop.Tools.Diagnostics.csproj", "{64CC4E44-CE3A-4319-BF3F-6CF8BD513870}"
8789
EndProject
88-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Java.Interop.Tools.TypeNameMappings", "src\Java.Interop.Tools.TypeNameMappings\Java.Interop.Tools.TypeNameMappings.shproj", "{E706B6F2-5562-4765-8F07-8CF84A797B30}"
90+
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Java.Interop.Tools.TypeNameMappings", "src\Java.Interop.Tools.TypeNameMappings\Java.Interop.Tools.TypeNameMappings.shproj", "{E706B6F2-5562-4765-8F07-8CF84A797B30}"
91+
EndProject
92+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "jcw-gen", "tools\jcw-gen\jcw-gen.csproj", "{52C7D9B6-E8C8-47D0-9471-652D278D7D77}"
8993
EndProject
9094
Global
9195
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -365,6 +369,18 @@ Global
365369
{9ECA2816-41D2-4796-8CA2-758EDCFB5C68}.Debug|Any CPU.Build.0 = Debug|Any CPU
366370
{9ECA2816-41D2-4796-8CA2-758EDCFB5C68}.Release|Any CPU.ActiveCfg = Release|Any CPU
367371
{9ECA2816-41D2-4796-8CA2-758EDCFB5C68}.Release|Any CPU.Build.0 = Release|Any CPU
372+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
373+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Debug|Any CPU.Build.0 = Debug|Any CPU
374+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Release|Any CPU.ActiveCfg = Release|Any CPU
375+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Release|Any CPU.Build.0 = Release|Any CPU
376+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.XAIntegrationDebug|Any CPU.ActiveCfg = Debug|Any CPU
377+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.XAIntegrationDebug|Any CPU.Build.0 = Debug|Any CPU
378+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.XAIntegrationRelease|Any CPU.ActiveCfg = Debug|Any CPU
379+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.XAIntegrationRelease|Any CPU.Build.0 = Debug|Any CPU
380+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Debug|x86.ActiveCfg = Debug|Any CPU
381+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Debug|x86.Build.0 = Debug|Any CPU
382+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Release|x86.ActiveCfg = Release|Any CPU
383+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}.Release|x86.Build.0 = Release|Any CPU
368384
{D48EE8D0-0A0A-4493-AEF5-DAF5F8CF86AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
369385
{D48EE8D0-0A0A-4493-AEF5-DAF5F8CF86AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
370386
{D48EE8D0-0A0A-4493-AEF5-DAF5F8CF86AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -389,6 +405,18 @@ Global
389405
{64CC4E44-CE3A-4319-BF3F-6CF8BD513870}.Debug|x86.Build.0 = Debug|Any CPU
390406
{64CC4E44-CE3A-4319-BF3F-6CF8BD513870}.Release|x86.ActiveCfg = Release|Any CPU
391407
{64CC4E44-CE3A-4319-BF3F-6CF8BD513870}.Release|x86.Build.0 = Release|Any CPU
408+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
409+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Debug|Any CPU.Build.0 = Debug|Any CPU
410+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Release|Any CPU.ActiveCfg = Release|Any CPU
411+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Release|Any CPU.Build.0 = Release|Any CPU
412+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.XAIntegrationDebug|Any CPU.ActiveCfg = Debug|Any CPU
413+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.XAIntegrationDebug|Any CPU.Build.0 = Debug|Any CPU
414+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.XAIntegrationRelease|Any CPU.ActiveCfg = Debug|Any CPU
415+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.XAIntegrationRelease|Any CPU.Build.0 = Debug|Any CPU
416+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Debug|x86.ActiveCfg = Debug|Any CPU
417+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Debug|x86.Build.0 = Debug|Any CPU
418+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Release|x86.ActiveCfg = Release|Any CPU
419+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77}.Release|x86.Build.0 = Release|Any CPU
392420
EndGlobalSection
393421
GlobalSection(NestedProjects) = preSolution
394422
{0C001D50-4176-45AE-BDC8-BA626508B0CC} = {C8F58966-94BF-407F-914A-8654F8B8AE3B}
@@ -423,8 +451,10 @@ Global
423451
{F3ECB73D-9263-4E42-A5B4-3FC0D1D829F9} = {D5A93398-AEB1-49F3-89DC-3904A47DB0C7}
424452
{6410DA0F-5E14-4FC0-9AEE-F4C542C96C7A} = {172B608B-E6F3-41CC-9949-203A76BA247C}
425453
{74598F5C-B8CC-4CE6-8EE2-AB9CA1400076} = {0998E45F-8BCE-4791-A944-962CD54E2D80}
454+
{D18FCF91-8876-48A0-A693-2DC1E7D3D80A} = {0998E45F-8BCE-4791-A944-962CD54E2D80}
426455
{D48EE8D0-0A0A-4493-AEF5-DAF5F8CF86AD} = {0998E45F-8BCE-4791-A944-962CD54E2D80}
427456
{64CC4E44-CE3A-4319-BF3F-6CF8BD513870} = {0998E45F-8BCE-4791-A944-962CD54E2D80}
428457
{E706B6F2-5562-4765-8F07-8CF84A797B30} = {0998E45F-8BCE-4791-A944-962CD54E2D80}
458+
{52C7D9B6-E8C8-47D0-9471-652D278D7D77} = {C8F58966-94BF-407F-914A-8654F8B8AE3B}
429459
EndGlobalSection
430460
EndGlobal
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6+
<ProductVersion>8.0.30703</ProductVersion>
7+
<SchemaVersion>2.0</SchemaVersion>
8+
<ProjectGuid>{D18FCF91-8876-48A0-A693-2DC1E7D3D80A}</ProjectGuid>
9+
<OutputType>Library</OutputType>
10+
<RootNamespace>Java.Interop.Tools.JavaCallableWrappers</RootNamespace>
11+
<AssemblyName>Java.Interop.Tools.JavaCallableWrappers</AssemblyName>
12+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
13+
</PropertyGroup>
14+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
15+
<DebugSymbols>true</DebugSymbols>
16+
<DebugType>full</DebugType>
17+
<Optimize>false</Optimize>
18+
<OutputPath>..\..\bin\Debug</OutputPath>
19+
<DefineConstants>DEBUG;JCW_ONLY_TYPE_NAMES;HAVE_CECIL</DefineConstants>
20+
<ErrorReport>prompt</ErrorReport>
21+
<WarningLevel>4</WarningLevel>
22+
<ConsolePause>false</ConsolePause>
23+
</PropertyGroup>
24+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
25+
<Optimize>true</Optimize>
26+
<OutputPath>..\..\bin\Release</OutputPath>
27+
<DefineConstants>JCW_ONLY_TYPE_NAMES;HAVE_CECIL</DefineConstants>
28+
<ErrorReport>prompt</ErrorReport>
29+
<WarningLevel>4</WarningLevel>
30+
<ConsolePause>false</ConsolePause>
31+
</PropertyGroup>
32+
<ItemGroup>
33+
<Reference Include="System" />
34+
<Reference Include="Mono.Cecil">
35+
<HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.dll</HintPath>
36+
</Reference>
37+
<Reference Include="Mono.Cecil.Mdb">
38+
<HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Mdb.dll</HintPath>
39+
</Reference>
40+
<Reference Include="Mono.Cecil.Pdb">
41+
<HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Pdb.dll</HintPath>
42+
</Reference>
43+
<Reference Include="Mono.Cecil.Rocks">
44+
<HintPath>..\..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Rocks.dll</HintPath>
45+
</Reference>
46+
</ItemGroup>
47+
<ItemGroup>
48+
<Compile Include="Properties\AssemblyInfo.cs" />
49+
<Compile Include="Java.Interop.Tools.JavaCallableWrappers\JavaCallableWrapperGenerator.cs" />
50+
<Compile Include="Java.Interop.Tools.JavaCallableWrappers\JavaTypeScanner.cs" />
51+
<Compile Include="Java.Interop.Tools.JavaCallableWrappers\TypeNameMapGenerator.cs" />
52+
</ItemGroup>
53+
<Import Project="..\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems" Label="Shared" Condition="Exists('..\Xamarin.Android.NamingCustomAttributes\Xamarin.Android.NamingCustomAttributes.projitems')" />
54+
<Import Project="..\Java.Interop.Tools.TypeNameMappings\Java.Interop.Tools.TypeNameMappings.projitems" Label="Shared" Condition="Exists('..\Java.Interop.Tools.TypeNameMappings\Java.Interop.Tools.TypeNameMappings.projitems')" />
55+
<ItemGroup>
56+
<ProjectReference Include="..\Java.Interop.Tools.Diagnostics\Java.Interop.Tools.Diagnostics.csproj">
57+
<Project>{64CC4E44-CE3A-4319-BF3F-6CF8BD513870}</Project>
58+
<Name>Java.Interop.Tools.Diagnostics</Name>
59+
</ProjectReference>
60+
<ProjectReference Include="..\Java.Interop.Tools.Cecil\Java.Interop.Tools.Cecil.csproj">
61+
<Project>{D48EE8D0-0A0A-4493-AEF5-DAF5F8CF86AD}</Project>
62+
<Name>Java.Interop.Tools.Cecil</Name>
63+
</ProjectReference>
64+
</ItemGroup>
65+
<ItemGroup>
66+
<EmbeddedResource Include="Resources\MonoRuntimeProvider.Bundled.java">
67+
<LogicalName>MonoRuntimeProvider.Bundled.java</LogicalName>
68+
</EmbeddedResource>
69+
<EmbeddedResource Include="Resources\MonoRuntimeProvider.Shared.java">
70+
<LogicalName>MonoRuntimeProvider.Shared.java</LogicalName>
71+
</EmbeddedResource>
72+
</ItemGroup>
73+
<ItemGroup>
74+
<None Include="packages.config" />
75+
</ItemGroup>
76+
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
77+
</Project>

0 commit comments

Comments
 (0)