Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
Grpc
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
tci-gateway-module
Grpc
Commits
d6b4628f
Commit
d6b4628f
authored
9 years ago
by
David Garcia Quintas
Browse files
Options
Downloads
Patches
Plain Diff
Further improvements
parent
4875ce60
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
tools/codegen/core/gen_nano_proto.sh
+20
-15
20 additions, 15 deletions
tools/codegen/core/gen_nano_proto.sh
tools/distrib/check_nanopb_output.sh
+17
-11
17 additions, 11 deletions
tools/distrib/check_nanopb_output.sh
with
37 additions
and
26 deletions
tools/codegen/core/gen_nano_proto.sh
+
20
−
15
View file @
d6b4628f
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
# Example usage:
# Example usage:
# tools/codegen/core/gen_nano_proto.sh \
# tools/codegen/core/gen_nano_proto.sh \
# src/proto/grpc/lb/v0/load_balancer.proto
# src/proto/grpc/lb/v0/load_balancer.proto
# src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0
#
$PWD/
src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0
read
-r
-d
''
COPYRIGHT
<<
'
EOF
'
read
-r
-d
''
COPYRIGHT
<<
'
EOF
'
/*
/*
...
@@ -76,15 +76,15 @@ COPYRIGHT_FILE=$(mktemp)
...
@@ -76,15 +76,15 @@ COPYRIGHT_FILE=$(mktemp)
echo
"
${
COPYRIGHT
/<YEAR>/
$CURRENT_YEAR
}
"
>
$COPYRIGHT_FILE
echo
"
${
COPYRIGHT
/<YEAR>/
$CURRENT_YEAR
}
"
>
$COPYRIGHT_FILE
set
-ex
set
-ex
if
[
$#
-
ne
2
]
;
then
if
[
$#
-
lt
2
]
;
then
echo
"Usage:
$0
<input.proto> <
output dir>
"
echo
"Usage:
$0
<input.proto> <
absolute path to output dir> [grpc path]
"
exit
1
exit
1
fi
fi
readonly
GRPC_ROOT
=
$PWD
readonly
GRPC_ROOT
=
"
$PWD
"
readonly
INPUT_PROTO
=
"
$1
"
readonly
INPUT_PROTO
=
"
$1
"
readonly
REL_
OUTPUT_DIR
=
"
$2
"
readonly
OUTPUT_DIR
=
"
$2
"
readonly
ABS
_OUTPUT_DIR
=
"
$
GRPC_ROOT
/
$2
"
readonly
GRPC
_OUTPUT_DIR
=
"
$
{
3
:-
$OUTPUT_DIR
}
"
readonly
EXPECTED_OPTIONS_FILE_PATH
=
"
${
1
%.*
}
.options"
readonly
EXPECTED_OPTIONS_FILE_PATH
=
"
${
1
%.*
}
.options"
if
[[
!
-f
"
$INPUT_PROTO
"
]]
;
then
if
[[
!
-f
"
$INPUT_PROTO
"
]]
;
then
...
@@ -96,9 +96,14 @@ if [[ ! -f "${EXPECTED_OPTIONS_FILE_PATH}" ]]; then
...
@@ -96,9 +96,14 @@ if [[ ! -f "${EXPECTED_OPTIONS_FILE_PATH}" ]]; then
exit
4
exit
4
fi
fi
mkdir
-p
"
$ABS_OUTPUT_DIR
"
if
[[
"
${
OUTPUT_DIR
:0:1
}
"
!=
'/'
]]
;
then
echo
"The output directory must be an absolute path. Got '
$OUTPUT_DIR
'"
exit
5
fi
mkdir
-p
"
$OUTPUT_DIR
"
if
[
$?
!=
0
]
;
then
if
[
$?
!=
0
]
;
then
echo
"Error creating output directory
$
ABS_
OUTPUT_DIR
"
echo
"Error creating output directory
$OUTPUT_DIR
"
exit
2
exit
2
fi
fi
...
@@ -117,19 +122,19 @@ pushd "$(dirname $INPUT_PROTO)" > /dev/null
...
@@ -117,19 +122,19 @@ pushd "$(dirname $INPUT_PROTO)" > /dev/null
protoc
\
protoc
\
--plugin
=
protoc-gen-nanopb
=
"
$GRPC_ROOT
/third_party/nanopb/generator/protoc-gen-nanopb"
\
--plugin
=
protoc-gen-nanopb
=
"
$GRPC_ROOT
/third_party/nanopb/generator/protoc-gen-nanopb"
\
--nanopb_out
=
'-T -L#include\ \"third_party/nanopb/pb.h\"'
":
$
ABS_
OUTPUT_DIR
"
\
--nanopb_out
=
'-T -L#include\ \"third_party/nanopb/pb.h\"'
":
$OUTPUT_DIR
"
\
"
$(
basename
$INPUT_PROTO
)
"
"
$(
basename
$INPUT_PROTO
)
"
readonly
PROTO_BASENAME
=
$(
basename
$INPUT_PROTO
.proto
)
readonly
PROTO_BASENAME
=
$(
basename
$INPUT_PROTO
.proto
)
sed
-i
"s:
$PROTO_BASENAME
.pb.h:
$
REL
_OUTPUT_DIR
/
$PROTO_BASENAME
.pb.h:g"
\
sed
-i
"s:
$PROTO_BASENAME
.pb.h:
$
{
GRPC
_OUTPUT_DIR
}
/
$PROTO_BASENAME
.pb.h:g"
\
"
$
ABS_
OUTPUT_DIR
/
$PROTO_BASENAME
.pb.c"
"
$OUTPUT_DIR
/
$PROTO_BASENAME
.pb.c"
# prepend copyright
# prepend copyright
TMPFILE
=
$(
mktemp
)
TMPFILE
=
$(
mktemp
)
cat
$COPYRIGHT_FILE
"
$
ABS_
OUTPUT_DIR
/
$PROTO_BASENAME
.pb.c"
>
$TMPFILE
cat
$COPYRIGHT_FILE
"
$OUTPUT_DIR
/
$PROTO_BASENAME
.pb.c"
>
$TMPFILE
mv
-v
$TMPFILE
"
$
ABS_
OUTPUT_DIR
/
$PROTO_BASENAME
.pb.c"
mv
-v
$TMPFILE
"
$OUTPUT_DIR
/
$PROTO_BASENAME
.pb.c"
cat
$COPYRIGHT_FILE
"
$
ABS_
OUTPUT_DIR
/
$PROTO_BASENAME
.pb.h"
>
$TMPFILE
cat
$COPYRIGHT_FILE
"
$OUTPUT_DIR
/
$PROTO_BASENAME
.pb.h"
>
$TMPFILE
mv
-v
$TMPFILE
"
$
ABS_
OUTPUT_DIR
/
$PROTO_BASENAME
.pb.h"
mv
-v
$TMPFILE
"
$OUTPUT_DIR
/
$PROTO_BASENAME
.pb.h"
deactivate
deactivate
rm
-rf
$VENV_DIR
rm
-rf
$VENV_DIR
...
...
This diff is collapsed.
Click to expand it.
tools/distrib/check_nanopb_output.sh
+
17
−
11
View file @
d6b4628f
...
@@ -31,36 +31,42 @@
...
@@ -31,36 +31,42 @@
set
-ex
set
-ex
readonly
NANOPB_TMP_OUTPUT
=
"
$(
mktemp
-d
)
"
readonly
NANOPB_TMP_OUTPUT
=
"
$(
mktemp
-d
)
"
readonly
PROTOBUF_INSTALL_PREFIX
=
"
$(
mktemp
-d
)
"
# install protoc version 3
# install protoc version 3
pushd
third_party/protobuf
pushd
third_party/protobuf
./autogen.sh
./autogen.sh
./configure
./configure
--prefix
=
"
$PROTOBUF_INSTALL_PREFIX
"
make
make
make
install
make
install
ldconfig
#
ldconfig
popd
popd
if
[
!
-x
"/usr/local/bin/protoc"
]
;
then
readonly
PROTOC_BIN_PATH
=
"
$PROTOBUF_INSTALL_PREFIX
/bin"
echo
"Error: protoc not found in path"
if
[
!
-x
"
$PROTOBUF_INSTALL_PREFIX
/bin/protoc"
]
;
then
echo
"Error: protoc not found in temp install dir '
$PROTOBUF_INSTALL_PREFIX
'"
exit
1
exit
1
fi
fi
readonly
PROTOC_PATH
=
'/usr/local/bin'
# stack up and change to nanopb's proto generator directory
# stack up and change to nanopb's proto generator directory
pushd
third_party/nanopb/generator/proto
pushd
third_party/nanopb/generator/proto
PATH
=
"
$PROTOC_PATH
:
$PATH
"
make
export
PATH
=
"
$PROTOC_
BIN_
PATH
:
$PATH
"
make
# back to the root directory
# back to the root directory
popd
popd
#
# Checks for load_balancer.proto
#
readonly
LOAD_BALANCER_GRPC_OUTPUT_PATH
=
'src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0'
# nanopb-compile the proto to a temp location
# nanopb-compile the proto to a temp location
PATH
=
"
$PROTOC_PATH
:
$PATH
"
./tools/codegen/core/gen_nano_proto.sh
\
./tools/codegen/core/gen_nano_proto.sh
\
src/proto/grpc/lb/v0/load_balancer.proto
\
src/proto/grpc/lb/v0/load_balancer.proto
\
$NANOPB_TMP_OUTPUT
"
$NANOPB_TMP_OUTPUT
"
\
"
$LOAD_BALANCER_GRPC_OUTPUT_PATH
"
# compare outputs to checked compiled code
# compare outputs to checked compiled code
if
!
diff
-r
$NANOPB_TMP_OUTPUT
src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0
;
then
if
!
diff
-r
$NANOPB_TMP_OUTPUT
src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0
;
then
echo
"Outputs differ:
$NANOPB_TMP_OUTPUT
vs
src/core/ext/lb_policy/grpclb/proto/grpc/lb/v0
"
echo
"Outputs differ:
$NANOPB_TMP_OUTPUT
vs
$LOAD_BALANCER_GRPC_OUTPUT_PATH
"
exit
2
exit
2
fi
fi
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment