JavaPluginInfo

자바 플러그인에 관한 정보를 캡슐화하는 제공자입니다.

현재 지원되는 유일한 플러그인 유형은 주석 프로세서입니다.

구성원

JavaPluginInfo

JavaPluginInfo JavaPluginInfo(runtime_deps, *, processor_class, data=[], generates_api=False)

JavaPluginInfo 생성자입니다.

매개변수

매개변수 설명
runtime_deps sequence of JavaInfos, 필수
주석 프로세서가 포함된 라이브러리입니다.
processor_class string; or None, 필수
자바 컴파일러가 주석 프로세서의 진입점으로 사용하는 정규화된 클래스 이름입니다.
data sequence of Files; or depset of Files; default = []
실행 중에 이 주석 프로세서에 필요한 파일입니다.
generates_api default = False
이 주석 프로세서가 API 코드를 생성하면 true로 설정합니다.

이러한 주석 프로세서는 메서드 서명을 포함하는 헤더 jar를 생성하기 전에 Java 대상에 적용됩니다. API 플러그인이 없으면 소스에서 헤더 jar가 생성되어 주요 경로가 줄어듭니다.

경고: 이 매개변수는 빌드 성능에 영향을 미치므로 필요한 경우에만 사용하세요.

api_generating_plugins

JavaPluginData JavaPluginInfo.api_generating_plugins

이 타겟에서 정의하거나 내보낸 API를 생성하는 플러그인에 대한 데이터를 반환합니다.

이러한 주석 프로세서는 메서드 서명을 포함하는 헤더 jar를 생성하기 전에 Java 대상에 적용됩니다. API 플러그인이 없으면 소스에서 헤더 jar가 생성되어 주요 경로가 줄어듭니다.

api_generating_pluginsplugins의 하위 집합입니다.

java_outputs

list JavaPluginInfo.java_outputs

이 Java/Java와 유사한 타겟의 출력 정보를 반환합니다.

플러그인

JavaPluginData JavaPluginInfo.plugins

소비 타겟이 적용해야 하는 모든 플러그인에 대한 데이터를 반환합니다.

일반적으로 java_plugin 자체이거나 하나 이상의 플러그인을 내보내는 java_library입니다.

java_librarydepsplugins 속성에 표시되는 이 필드의 모든 플러그인으로 주석 처리를 실행합니다.

to_json

string JavaPluginInfo.to_json()

지원 중단됨. 이 API는 지원 중단되었으며 곧 삭제됩니다. 의존하지 마세요. ---incompatible_struct_has_no_methods를 통해 사용 중지됩니다. 이 플래그를 사용하여 코드가 임박한 삭제와 호환되는지 확인합니다.
구조체 매개변수에서 JSON 문자열을 만듭니다. 이 메서드는 모든 구조체 요소가 문자열, 정수, 불리언, 기타 구조체, 이러한 유형의 목록 또는 문자열 키와 이러한 유형의 값이 포함된 사전인 경우에만 작동합니다. 문자열의 따옴표와 줄바꿈은 이스케이프 처리됩니다. 예:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}

지원 중단됨: 대신 구조체 이외의 값에 대해 작동하고 구조체 필드 네임스페이스를 오염하지 않는 json.encode(x) 또는 json.encode_indent(x)를 사용합니다.

to_proto

string JavaPluginInfo.to_proto()

지원 중단됨. 이 API는 지원 중단되었으며 곧 삭제됩니다. 의존하지 마세요. ---incompatible_struct_has_no_methods를 통해 사용 중지됩니다. 이 플래그를 사용하여 코드가 임박한 삭제와 호환되는지 확인합니다.
구조체 매개변수에서 텍스트 메시지를 만듭니다. 이 메서드는 모든 구조체 요소가 (재귀적으로) 문자열, 정수, 불리언, 기타 구조체 또는 사전 또는 이러한 유형의 목록인 경우에만 작동합니다. 문자열의 따옴표와 줄바꿈은 이스케이프 처리됩니다. 구조체 키는 정렬된 순서로 반복됩니다. 예:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

지원 중단됨: proto.encode_text(x)를 대신 사용하세요.