parameters: (package, required=True, env=None)
return_statement: return _manifest_file_by_dir(d, required=required, env=env)
docstring: @param package str: package name
      @type  package: str
      @param env: override os.environ dictionary
      @type  env: dict
      @param required: require that the directory exist
      @type  required: bool
      @return: path to manifest file of package
      @rtype: str
      @raise InvalidROSPkgException: if required is True and manifest file cannot be located
function: def manifest_file(package, required=True, env=None):
      """
      @param package str: package name
      @type  package: str
      @param env: override os.environ dictionary
      @type  env: dict
      @param required: require that the directory exist
      @type  required: bool
      @return: path to manifest file of package
      @rtype: str
      @raise InvalidROSPkgException: if required is True and manifest file cannot be located
      """
      # ros_root needs to be determined from the environment or else
      # everything breaks when trying to launch nodes via ssh where the
      # path isn't setup correctly.
      if env is None:
          env = os.environ
      d = roslib.packages.get_pkg_dir(package, required, ros_root=env['ROS_ROOT']) 
      return _manifest_file_by_dir(d, required=required, env=env)
function_tokens: def manifest_file ( package , required = True , env = None ) : # ros_root needs to be determined from the environment or else # everything breaks when trying to launch nodes via ssh where the # path isn't setup correctly. if env is None : env = os . environ d = roslib . packages . get_pkg_dir ( package , required , ros_root = env [ 'ROS_ROOT' ] ) return _manifest_file_by_dir ( d , required = required , env = env )