vala-lang / valadoc-org

Build tools used to generate valadoc.org
https://valadoc.org
GNU Lesser General Public License v2.1
84 stars 25 forks source link

Documentation for gxml-0.14 not present #57

Closed astavale closed 7 years ago

astavale commented 7 years ago

The direct link, https://valadoc.org/gxml-0.10/index.htm , shows blank content. Clicking the link on the side menu shows "Error 0: . When loading /gxml-0.10/." So it looks like there was an error when building the gxml-0.10 docs.

Using the VAPI at https://github.com/nemequ/vala-girs/blob/master/vala/vapi/gxml-0.10.vapi I can build the docs fine with the command: valadoc --directory gxml-0.10 --pkg gee-0.8 --pkg gio-2.0 --pkg libxml-2.0 gxml-0.10.vapi This suggests there is something wrong in the valadoc-org build somewhere rather than the source.

benwaffle commented 7 years ago

As stated here, when I try to build the valadoc I get gxml-0.10.vapi:17.76-17.129: error: too many type arguments. You said to rebuild gxml but when I run jhbuild build gxml I get build errors.

astavale commented 7 years ago

Thanks for pointing out the issue raised on the other GitHub repo. Although you seem to think I'm the same person. I assumed that the docs were built straight from the vala-girs repo. Looking through the build errors like: /gxml/gxml/GXmlNode.vala:58.64-58.101: error: Return: Cannot convert from GXml.GHashMapAttr' toGee.Map<string,GXml.Node>' public virtual Gee.Map<string,GXml.Node> attrs { owned get { return new GHashMapAttr (_doc, _node); } } It suggests that Vala's improved generic type checking is picking up some things that need changing in the GXml source. So is it a question of waiting for those to be fixed or is it better to use the VAPI from vala-girs instead for now?

benwaffle commented 7 years ago

Those errors have to be fixed because the vapi from vala-girs doesn't work with valadoc.

Edit: the gxml code looks correct, I'm not sure why valac is giving me errors

Why are we on 0.10 anyways? 0.12 is the latest

astavale commented 7 years ago

This seems to be a bit of a sticky one.

GXml 0.10

The VAPI from vala-girs mostly works. Doing:

curl https://raw.githubusercontent.com/nemequ/vala-girs/master/vala/vapi/gxml-0.10.vapi --silent --output gxml-0.10.vapi
valadoc --directory gxml --pkg gee-0.8 --pkg gio-2.0 --pkg libxml-2.0 gxml-0.10.vapi

The documentation builds, but there are some missing symbols:

gxml-0.10.vapi: GXml.xElement: @link: warning: `GXml.xDocument.create_element' does not exist
gxml-0.10.vapi: GXml.Serializable.list_serializable_properties: @link: warning: `GXml.Serialization' does not exist
gxml-0.10.vapi: GXml.Serializable.list_serializable_properties: @link: warning: `GXml.Serialization' does not exist
gxml-0.10.vapi: GXml.Serializable.find_property_spec: @link: warning: `GXml.Serialization' does not exist
gxml-0.10.vapi: GXml.Serializable.find_property_spec: @link: warning: `GXml.Serialization' does not exist
gxml-0.10.vapi: GXml.Serializable.deserialize_property: @link: warning: `GXml.Serialization' does not exist
gxml-0.10.vapi: GXml.Serializable.serialize_use_xml_node_value: @link: warning: `ignored_serializable_properties' does not exist
gxml-0.10.vapi: GXml.warning: @param: warning: Unknown parameter `exception'
gxml-0.10.vapi: GXml.ElementList: @link: warning: `Gee.ListArray' does not exist
gxml-0.10.vapi: GXml.exception: @param: warning: Unknown parameter `exception'
gxml-0.10.vapi: GXml.NodeList: @link: warning: `Gee.ListArray' does not exist
gxml-0.10.vapi: GXml.xComment: @link: warning: `GXml.xDocument.create_comment' does not exist
gxml-0.10.vapi: GXml.SerializableCollection.deserialize_children: @link: warning: `GXml.SerializableCollection.is_prepared' does not exist
gxml-0.10.vapi: GXml.SerializableCollection.deserialize_node: @link: warning: `GXml.SerializableCollection.is_prepared' does not exist

Having most of the documentation is better than what we have at the moment.

GXml 0.12

GXml is a GNOME project: https://git.gnome.org/browse/gxml/ So it would be nice to treat GXml the same as other GNOME projects for documentation. I'm not sure how valadoc.org does this. Does valadoc.org always build GNOME projects from source? It looks like the latest release of GXml is 0.13.1, so if valadoc.org has a mechanism for tracking the latest release then this is probably the best option. Although it is unclear how much the API is changing with each release. It may be time for the main authors of the project to separate version numbers of the API from version numbers of the release.