thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gonzalo Aguilar Delgado <gagui...@aguilardelgado.com>
Subject Documentation on thrift IDL is really parsed?
Date Fri, 24 Mar 2017 10:44:24 GMT
Hello,

I'm trying to make thrift spit documentation with the objects when
generating. Code.

I'm testing the HTML generation that's also quite nice already.

But something like:

/*

    Comment line 2
    id: test
   
    */
struct MvcCustomerDTO
 {
             /* Comment line 1*/
          1 : i32 id,
          2 : MvcCustomerStatusDTO mvcCustomerStatusDTO,
          3 : string firstname,
          4 : string lastname,
          5 : i64 dateCreated,
          6 : i64 dateUpdated,
          7 : string fullName,
          8 : string customerCode,
   }



Doesn't spit anything on output. No comment for the struct and no
comment for the field.

It's nasty cause the generator has the code in to handle everything.

  f_out_ << "<table class=\"table-bordered table-striped
table-condensed\">";
  f_out_ <<
"<thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</"
            "th><th>Default value</th></thead>" << endl;
  for (; mem_iter != members.end(); mem_iter++) {
    f_out_ << "<tr><td>" << (*mem_iter)->get_key() << "</td><td>";
    f_out_ << (*mem_iter)->get_name();
    f_out_ << "</td><td>";
    print_type((*mem_iter)->get_type());
    f_out_ << "</td><td>";
    f_out_ << escape_html((*mem_iter)->get_doc());
    f_out_ << "</td><td>";
    if ((*mem_iter)->get_req() == t_field::T_OPTIONAL) {
      f_out_ << "optional";
    } else if ((*mem_iter)->get_req() == t_field::T_REQUIRED) {
      f_out_ << "required";
    } else {
      f_out_ << "default";
    }
    f_out_ << "</td><td>";
    t_const_value* default_val = (*mem_iter)->get_value();
    if (default_val != NULL) {
      f_out_ << "<code>";
      print_const_value((*mem_iter)->get_type(), default_val);
      f_out_ << "</code>";
    }
    f_out_ << "</td></tr>" << endl;


And the output has the field to be filled in.



      Struct: MvcClientDTO

Key 	Field 	Type 	Description 	Requiredness 	Default value
1 	id 	|i32| 	
	default 	
2 	firstname 	|string| 	
	default 	
3 	lastname 	|string| 	
	default 	
4 	status 	|string| 	
	default 	
5 	dateCreated 	|i64| 	
	default 	
6 	dateUpdated 	|i64| 	
	default 	
7 	fullName 	|string| 	
	default 	
8 	clientCode 	|string| 	
	default 	


So I suppose it's just a matter of doing the comments right. But what's
the exact format?




Mime
View raw message