@ -1,13 +1,19 @@
# -*- mode: python; -*- PYTHON-PREPROCESSING-REQUIRED
# -*- mode: python; -*- PYTHON-PREPROCESSING-REQUIRED
def _GetPath ( ctx , path ) :
if ctx . label . workspace_root :
return ctx . label . workspace_root + ' / ' + path
else :
return path
def _GenDir ( ctx ) :
def _GenDir ( ctx ) :
if not ctx . attr . includes :
if not ctx . attr . includes :
return " "
return ctx . label . workspace_root
if not ctx . attr . includes [ 0 ] :
if not ctx . attr . includes [ 0 ] :
return ctx . label . package
return _GetPath ( ctx , ctx . label . package )
if not ctx . label . package :
if not ctx . label . package :
return ctx . attr . includes [ 0 ]
return _GetPath ( ctx , ctx . attr . includes [ 0 ] )
return ctx . label . package + ' / ' + ctx . attr . includes [ 0 ]
return _GetPath ( ctx , ctx . label . package + ' / ' + ctx . attr . includes [ 0 ] )
def _CcOuts ( srcs ) :
def _CcOuts ( srcs ) :
return [ s [ : - len ( " .proto " ) ] + " .pb.h " for s in srcs ] + \
return [ s [ : - len ( " .proto " ) ] + " .pb.h " for s in srcs ] + \
@ -36,8 +42,6 @@ def _RelativeOutputPath(path, include):
return path [ len ( PACKAGE_NAME ) + 1 : ]
return path [ len ( PACKAGE_NAME ) + 1 : ]
def _proto_gen_impl ( ctx ) :
def _proto_gen_impl ( ctx ) :
""" General implementation for generating protos """
""" General implementation for generating protos """
srcs = ctx . files . srcs
srcs = ctx . files . srcs