현재 유일하게 지원되는 플러그인 종류는 주석 프로세서뿐입니다.
회원
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
이러한 주석 프로세서는 메서드 서명이 포함된 헤더 jar를 생성하기 전에 Java 대상에 적용됩니다. API 플러그인이 없으면 소스에서 헤더 jar가 생성되어 주요 경로가 축소됩니다.
api_generating_plugins
는 plugins
의 하위 집합입니다.
java_outputs
list JavaPluginInfo.java_outputs
플러그인
JavaPluginData JavaPluginInfo.plugins
일반적으로 java_plugin
자체이거나 하나 이상의 플러그인을 내보내는 java_library
입니다.
java_library
는 deps
및 plugins
속성에 표시되는 이 필드의 모든 플러그인을 사용하여 주석 처리를 실행합니다.
to_json
string JavaPluginInfo.to_json()
---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()
---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)를 사용하세요.