Skip to content

Binding libraries (jar2xml) do not reference @(AndroidJavaLibrary) #3776

@mattleibow

Description

@mattleibow

Steps to Reproduce

  1. Create a binding project (jar2xml)
  2. Install Xamarin.Kotlin.StdLib
  3. Build and observe the

Expected Behavior

The generator should have a reference to 3 Kotlin libraries:

  • org.jetbrains.kotlin.kotlin-stdlib-common.jar
  • org.jetbrains.annotations.jar
  • org.jetbrains.kotlin.kotlin-stdlib.jar

Actual Behavior

No references, and I get exceptions like:

  java.lang.NoClassDefFoundError: kotlin/jvm/internal/DefaultConstructorMarker
  	at java.lang.Class.getDeclaredConstructors0(Native Method)
  	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
  	at java.lang.Class.getDeclaredConstructors(Class.java:2020)
  	at jar2xml.JavaClass.doAppendToDocument(JavaClass.java:630)
  	at jar2xml.JavaClass.appendToDocument(JavaClass.java:561)
  	at jar2xml.JavaPackage.appendToDocument(JavaPackage.java:72)
  	at jar2xml.Start.main(Start.java:134)
  Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.DefaultConstructorMarker
  	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
  	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

Version Information

Mono 6.4.0 and Android 10.0.3

https://gist.github.com/mattleibow/9981159519aa2e02ce85f72e4190ee42

Log File

msbuild.binlog.zip

Workaround

<Target Name="_ExportJarToXml_Fixups" BeforeTargets="ExportJarToXml">
  <ItemGroup>
    <ReferenceJar Include="@(AndroidJavaLibrary)" />
  </ItemGroup>
</Target>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: App+Library BuildIssues when building Library projects or Application projects.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions