Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
The attached project wraps the Google Analytics easytracker jar file. This is a jar which is an enhancement arround Google Analytics to make it easier to include GA in Android and perform the heavy lifting on a different thread.
The problem is that the supplied javadocs are not used to generate parameter names. E.g.
EasyTracker.setCustomVar(int index, String name, String value)
EasyTracker.SetCustomVar (int p0, string p1, string p2)
For more information:
Created attachment 2040 [details]
The easytracker javabinding project
From where did you get the "supplied javadocs" ? The parsable javadocs are very limited and there is no assurance that existing code can handle others.
I've obtained them from svn and copied those in the project (where i've deleted the svn binding directories).
It seems that the method you are expecting to get parameter names from the docs does *not* actually exist in the Javadoc, hence our binding generator can't know the parameter names.
If you have a look at obj/Debug/api.xml you'll find that other methods in EasyTracker, like this:
<method abstract="false" deprecated="not deprecated" final="false" name="addTransaction" native="false" return="void" static="false" synchronized="false" visibility="public">
<parameter name="transaction" type="com.google.android.apps.analytics.Transaction">
This "transaction" parameter cannot be filled without valid Javadoc reference, which means, the javadoc is successfully parsed. And the resulting EasyTracker.dll contains EasyTracker class whose AddTransaction() method contains a (meaningfully) named parameter.
I'm having thee same problem. I see that the javadoc has parameter names and comments but I'm not seeing them in the generated binary. I've added JavadocPaths to my csproj and I can see that it's being passed to jar2xml but the generated api.xml is unchanged.
Note that if you have the *same* problem, that's your problem. We cannot fill parameter names from non-existent docs.
The docs exist... they are in a directory and I can view them in my web browser. The problem is that they are not being picked up by jar2xml (though the directory is being passed in according to msbuild).
Could you open another bug (so that irrelevant people keep receiving notifications which is annoying) and attach your project along with javadoc files so that we can investigate?