Make -rest an optional param to the Thrift PHP compiler
Summary: You rarely need the generated REST stuff
Reviewed By: jwang
Test Plan: Gen falcon code without REST part
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665150 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_php_generator.cc b/compiler/cpp/src/generate/t_php_generator.cc
index 34a3aae..d8db9fa 100644
--- a/compiler/cpp/src/generate/t_php_generator.cc
+++ b/compiler/cpp/src/generate/t_php_generator.cc
@@ -581,7 +581,9 @@
// Generate the three main parts of the service (well, two for now in PHP)
generate_service_interface(tservice);
- generate_service_rest(tservice);
+ if (rest_) {
+ generate_service_rest(tservice);
+ }
generate_service_client(tservice);
generate_service_helpers(tservice);
generate_service_processor(tservice);
diff --git a/compiler/cpp/src/generate/t_php_generator.h b/compiler/cpp/src/generate/t_php_generator.h
index 86051b0..1df23ec 100644
--- a/compiler/cpp/src/generate/t_php_generator.h
+++ b/compiler/cpp/src/generate/t_php_generator.h
@@ -21,9 +21,10 @@
*/
class t_php_generator : public t_oop_generator {
public:
- t_php_generator(t_program* program, bool binary_inline=false) :
+ t_php_generator(t_program* program, bool binary_inline=false, bool rest=false) :
t_oop_generator(program),
- binary_inline_(binary_inline) {
+ binary_inline_(binary_inline),
+ rest_(rest) {
if (binary_inline_) {
T_PHP_DIR = "gen-phpi";
} else {
@@ -161,6 +162,11 @@
*/
bool binary_inline_;
+ /**
+ * Generate a REST handler class
+ */
+ bool rest_;
+
};
#endif
diff --git a/compiler/cpp/src/main.cc b/compiler/cpp/src/main.cc
index 41305d5..949558e 100644
--- a/compiler/cpp/src/main.cc
+++ b/compiler/cpp/src/main.cc
@@ -124,6 +124,7 @@
bool gen_xsd = false;
bool gen_php = false;
bool gen_phpi = false;
+bool gen_rest = false;
bool gen_perl = false;
bool gen_erl = false;
bool gen_recurse = false;
@@ -526,14 +527,14 @@
if (gen_php) {
pverbose("Generating PHP\n");
- t_php_generator* php = new t_php_generator(program, false);
+ t_php_generator* php = new t_php_generator(program, false, gen_rest);
php->generate_program();
delete php;
}
if (gen_phpi) {
pverbose("Generating PHP-inline\n");
- t_php_generator* phpi = new t_php_generator(program, true);
+ t_php_generator* phpi = new t_php_generator(program, true, gen_rest);
phpi->generate_program();
delete phpi;
}
@@ -627,6 +628,8 @@
gen_php = true;
} else if (strcmp(arg, "-phpi") == 0) {
gen_phpi = true;
+ } else if (strcmp(arg, "-rest") == 0) {
+ gen_rest = true;
} else if (strcmp(arg, "-py") == 0) {
gen_py = true;
} else if (strcmp(arg, "-rb") == 0) {