JavaPluginInfo

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

현재 유일하게 지원되는 플러그인 종류는 주석 프로세서뿐입니다.

회원

JavaPluginInfo

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

JavaPluginInfo 생성자

매개변수

매개변수 설명
runtime_deps sequence of JavaInfos 필수
주석 프로세서가 포함된 라이브러리입니다.
processor_class string; or None 필수
Java 컴파일러가 주석 프로세서의 진입점으로 사용하는 정규화된 클래스 이름입니다.
data sequence of Files; or depset of Files 기본값 = []
실행 중에 이 주석 프로세서에 필요한 파일입니다.
generates_api 기본값 = 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)를 사용하세요.