JavaInfo

자바 및 자바와 유사한 대상에 관한 정보를 캡슐화하는 제공자입니다.

구성원

JavaInfo

JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])

JavaInfo 생성자입니다.

매개변수

매개변수 설명
output_jar 필수
컴파일의 결과로 생성된 jar (예: javac, scalac 등)입니다.
compile_jar File; or None, 필수
output_jar 대신 컴파일 시간 종속 항목으로 추가된 jar입니다. 일반적으로 run_ijar에서 생성된 ijar입니다. ijar를 사용할 수 없으면 대신 stamp_ijar의 출력을 사용하는 것이 좋습니다. 둘 다 사용하지 않으려면 output_jar를 전달하기만 하면 됩니다. 이 매개변수를 None로 설정할 수 있는 몇 가지 특수한 사례가 있습니다(예: 리소스가 포함된 jar을 추가하거나 java_binary과 같은 터미널 규칙에 사용되는 경우).
source_jar File; or None; default = None
출력 jar를 만드는 데 사용된 소스 jar입니다. 이 소스 jar를 생성하려면 pack_sources를 사용하세요.
compile_jdeps File; or None, default = None
JavaCompileAction에서 사용할 컴파일 시간 종속 항목에 대한 jdeps 정보 Bazel과 함께 포함된 deps.proto protobuf를 사용하여 인코딩된 바이너리 proto여야 합니다. 가능한 경우 이 파일은 일반적으로 헤더 컴파일러에 의해 생성됩니다.
generated_class_jar File; or None; default = None
주석 처리 중에 생성된 소스에서 컴파일된 클래스 파일을 포함하는 jar 파일입니다.
generated_source_jar File; or None; default = None
주석 처리의 결과로 생성된 소스 jar입니다.
native_headers_jar File; or None; default = None
네이티브 메서드 구현 (일반적으로 javac -h의 출력)을 지원하는 CC 헤더 파일이 포함된 jar입니다.
manifest_proto File; or None; default = None
규칙 출력의 매니페스트 정보입니다 (사용 가능한 경우). Bazel과 함께 포함된 manifest.proto protobuf를 사용하여 인코딩된 바이너리 proto여야 합니다. IDE 및 기타 도구에서 이 정보를 사용하여 더 효율적으로 처리할 수 있습니다.
default = False
true인 경우 런타임이 아닌 컴파일에만 이 라이브러리를 사용합니다.
deps sequence of JavaInfos; default = []
출력 jar를 만드는 데 사용된 컴파일 시간 종속 항목입니다.
runtime_deps sequence of JavaInfos; default = []
이 라이브러리에 필요한 런타임 종속 항목입니다.
exports sequence of JavaInfos; default = []
이 라이브러리의 사용자가 사용할 수 있는 라이브러리입니다. java_library.exports도 참조하세요.
exported_plugins sequence of JavaPluginInfos; default = []
내보낸 플러그인 목록입니다. 선택사항입니다.
jdeps File; or None, default = None
규칙 출력에 대한 jdeps 정보 (사용 가능한 경우) Bazel과 함께 포함된 deps.proto protobuf를 사용하여 인코딩된 바이너리 proto여야 합니다. 가능한 경우 이 파일은 일반적으로 컴파일러에 의해 생성됩니다. IDE 및 기타 도구에서 이 정보를 사용하여 더 효율적으로 처리할 수 있습니다.
native_libraries sequence of CcInfos; default = []
이 라이브러리에 필요한 네이티브 라이브러리 종속 항목을 CC에 추가합니다.

annotation_processing

java_annotation_processing JavaInfo.annotation_processing

이 Java/Java와 같은 대상에 적용된 주석 프로세서에 대한 정보를 반환합니다.

지원 중단됨: 대신 plugins를 사용하세요. 타겟을 소비하여 적용할 주석 프로세서에 관한 정보를 반환합니다. None를 반환할 수 있습니다.

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

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

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

api_generating_pluginsplugins의 하위 집합입니다.

compilation_info

java_compilation_info JavaInfo.compilation_info

이 Java/Java와 유사한 타겟의 컴파일 정보를 반환합니다. None를 반환할 수 있습니다.

compile_jars

depset JavaInfo.compile_jars

컴파일 시간에 이 타겟에 직접 필요한 Jars를 반환합니다. 규칙 구현에서 인터페이스 jar를 생성했는지에 따라 인터페이스 jar (ijar 또는 hjar), 일반 jar 또는 둘 다일 수 있습니다.

full_compile_jars

depset JavaInfo.full_compile_jars

이 대상에 직접 필요한 일반적인 전체 컴파일 시간 Jars를 반환합니다. 가능한 값은

참고: JavaInfo.compile_jars는 인터페이스 Jar와 일반 Jars의 혼합을 반환할 수 있습니다.

인터페이스 Jar가 규칙 집합(예: 일부 Scala 대상)과 함께 작동하지 않는 경우에만 이 메서드를 사용합니다.Java 전용 대상으로 작업하는 경우 JavaInfo.compile_jars를 통해 인터페이스 Jars를 사용하는 것이 좋습니다.

java_outputs

list JavaInfo.java_outputs

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

module_flags_info

JavaModuleFlagsProvider JavaInfo.module_flags_info

자바 모듈 플래그 구성을 반환합니다.

출력

java_output_jars JavaInfo.outputs

이 Java/Java와 유사한 타겟의 출력 정보를 반환합니다. 지원 중단됨: java_outputs를 사용하세요. None를 반환할 수 있습니다.

플러그인

JavaPluginData JavaInfo.plugins

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

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

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

runtime_output_jars

sequence JavaInfo.runtime_output_jars

이 Java/Java와 유사한 타겟에 의해 생성된 런타임 Jars 목록을 반환합니다.

source_jars

sequence JavaInfo.source_jars

타겟 자체의 모든 소스 파일 (주석에서 생성된 파일 포함)이 있는 Jars 목록을 반환합니다. 즉, 전이 종속 항목의 소스는 포함하지 않습니다.

to_json

string JavaInfo.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 JavaInfo.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)를 대신 사용하세요.

transitive_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

타겟을 만드는 데 필요한 전이 Jars 집합을 반환합니다.

transitive_deps

depset JavaInfo.transitive_deps

지원 중단됨: JavaInfo.transitive_compile_time_jars를 대신 사용하세요. 동일한 값이 반환됩니다.

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

타겟에 필요한 전이 CC 네이티브 라이브러리의 집합을 반환합니다.

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

지원 중단되었습니다. 대신 JavaInfo.transitive_runtime_jars를 사용하세요. 같은 값을 반환합니다.

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

대상의 런타임 클래스 경로에 필요한 전이 Jars 집합을 반환합니다.

transitive_source_jars

depset JavaInfo.transitive_source_jars

현재 타겟 및 모든 전이 종속 항목의 소스 파일을 포함하는 Jars를 반환합니다.