Gonzalo Aguilar Delgado
2017-03-24 10:44:24 UTC
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?
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?