자바_일반

문제 신고 소스 보기 Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Starlark의 Java 컴파일 지원을 위한 유틸리티입니다.

회원

BootClassPathInfo

Provider java_common.BootClassPathInfo

부트스트랩 경로 정보를 제공하는 데 사용된 제공자

compile

struct java_common.compile(ctx, *, source_jars=[], source_files=[], output, output_source_jar=None, javac_opts=[], deps=[], runtime_deps=[], exports=[], plugins=[], exported_plugins=[], native_libraries=[], annotation_processor_additional_inputs=[], annotation_processor_additional_outputs=[], strict_deps='ERROR', java_toolchain, bootclasspath=None, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])

Starlark 규칙의 구현에서 Java 소스 파일/jar를 컴파일하고 컴파일 결과를 나타내며 이 규칙에서 내보낸 제공자 집합에 추가할 수 있는 제공자를 반환합니다.

매개변수

매개변수 설명
ctx 필수
규칙 컨텍스트입니다.
source_jars 파일시퀀스입니다. 기본값은 []입니다.
compiling source_jars 또는 source_files 중 하나 이상을 지정해야 합니다.
source_files 파일시퀀스입니다. 기본값은 []입니다.
컴파일할 Java 소스 파일 목록입니다. source_jars 또는 source_files 중 하나 이상을 지정해야 합니다.
output 필수
output_source_jar 파일 또는 None(기본값: None)
출력 소스 jar입니다. 선택사항입니다. 설정하지 않으면 기본값은 `{output_jar}-src.jar` 입니다.
javac_opts 문자열시퀀스입니다. 기본값은 []입니다.
원하는 javac 옵션 목록입니다. 선택사항입니다.
deps 구조체시퀀스입니다. 기본값은 []입니다.
종속 항목 목록입니다. 선택사항입니다.
runtime_deps 구조체시퀀스입니다. 기본값은 []입니다.
런타임 종속 항목 목록입니다. 선택사항입니다.
exports 구조체시퀀스입니다. 기본값은 []입니다.
내보내기 목록입니다. 선택사항입니다.
plugins 구조체시퀀스 또는 구조체시퀀스입니다. 기본값은 []
입니다. 플러그인 목록입니다. 선택사항입니다.
exported_plugins 구조체시퀀스 또는 구조체시퀀스입니다. 기본값은 []
입니다. 내보낸 플러그인의 목록입니다. 선택사항입니다.
native_libraries CcInfo시퀀스입니다. 기본값은 이 라이브러리에 필요한 []
CC 네이티브 라이브러리 종속 항목입니다.
annotation_processor_additional_inputs 파일 시퀀스입니다. 기본값은 []입니다.
Annotation 처리를 위해 Java 소스 외에도 Java 컴파일 작업에서 사용할 입력 목록입니다.
annotation_processor_additional_outputs 파일시퀀스입니다. 기본값은 []입니다.
Java 컴파일 작업에서 주석 처리의 클래스 jar 외에도 출력할 출력 목록입니다.
strict_deps 기본값은 'ERROR'입니다.
엄격한 종속 항목을 처리하는 방법을 지정하는 문자열입니다. 가능한 값은 'OFF', 'ERROR', 'WARN', 'DEFAULT'입니다. 자세한 내용은 /docs/user-manual#flag--strict_java_deps를 참고하세요. 기본값은 'ERROR'입니다.
java_toolchain 필수
이 컴파일에 사용할 JavaToolchainInfo입니다. 필수사항입니다.
bootclasspath 기본값은 None
입니다. 이 컴파일에 사용되는 BootClassPathInfo입니다. 이 값이 있으면 제공된 java_toolchain과 연결된 bootclasspath를 재정의합니다. 선택사항입니다.
host_javabase 기본값은 None입니다.
지원 중단됨 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 이 방법을 사용하지 마세요. --+incompatible_java_common_parameters를 사용하면 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제될 예정인지 확인합니다.
지원 중단됨: 이 매개변수를 삭제할 수 있습니다 (host_javabase는 java_toolchain과 함께 제공됨).
sourcepath 파일 시퀀스입니다. 기본값은 []
입니다.
resources 파일 시퀀스입니다. 기본값은 []
입니다.
resource_jars 파일 시퀀스입니다. 기본값은 []
입니다.
classpath_resources 파일 시퀀스입니다. 기본값은 []
입니다.
기본값은 False
입니다.
enable_annotation_processing 기본값은 True
이 컴파일에서 주석 처리를 사용 중지하여 플러그인 또는 의존 항목의 exported_plugins에 제공된 주석 프로세서가 무시되도록 합니다.
enable_compile_jar_action 기본값은 True입니다.
헤더 컴파일 또는 ijar 생성을 사용 설정합니다. false로 설정하면 종속 항목의 컴파일 클래스 경로에서 전체 클래스 jar가 사용됩니다. 이는 종속 항목이 없는 바이너리와 같이 라이브러리가 아닌 타겟에서 사용하기 위한 것입니다.
add_exports 문자열 시퀀스입니다. 기본값은 []입니다.
이 라이브러리가 지정된 /에 액세스하도록 허용합니다. 선택사항입니다.
add_opens 문자열시퀀스입니다. 기본값은 []입니다.
이 라이브러리가 지정된 /에 반사적으로 액세스하도록 허용합니다. 선택사항입니다.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

사용 중인 Java 런타임에 관한 정보가 포함된 제공자를 검색하는 데 사용되는 키입니다.

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

사용 중인 Java 도구 모음에 관한 정보가 포함된 제공자를 검색하는 데 사용되는 키입니다.

병합하다

struct java_common.merge(providers)

지정된 제공자를 단일 JavaInfo로 병합합니다.

매개변수

매개변수 설명
providers 구조체시퀀스입니다. 필수
병합할 제공업체 목록입니다.

pack_sources

File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)

소스 및 소스 jar를 단일 소스 jar 파일로 패키징합니다. 반환 값은 일반적으로

JavaInfo#source_jar

.output_jar 또는 output_source_jar 매개변수 중 하나 이상이 필요합니다.

매개변수

매개변수 설명
actions 필수
ctx.actions
output_jar 파일 또는 None 기본값은 None
지원 중단됨 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 이 방법을 사용하지 마세요. --+incompatible_java_common_parameters를 사용하면 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제될 예정인지 확인합니다.
지원 중단됨: 규칙의 출력 jar입니다. 결과 소스 jar의 이름을 지정하는 데 사용됩니다. 이 매개변수는 output_source_jar 매개변수를 `{output_jar}-src.jar`로 설정합니다.대신 output_source_jar 매개변수를 직접 사용하세요.
output_source_jar 파일 또는 None(기본값: None)
출력 소스 jar입니다.
sources 파일 시퀀스입니다. 기본값은 []입니다.
소스 jar에 패킹할 Java 소스 파일 목록입니다.
source_jars 파일시퀀스입니다. 기본값은 []입니다.
소스 jar에 패킹할 소스 jar 목록입니다.
java_toolchain 필수
ijar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다.
host_javabase 기본값은 None입니다.
지원 중단됨 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 이 방법을 사용하지 마세요. --+incompatible_java_common_parameters를 사용하면 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제될 예정인지 확인합니다.
지원 중단됨: 이 매개변수를 삭제할 수 있습니다 (host_javabase는 java_toolchain과 함께 제공됨).

run_ijar

File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)

jar에서 ijar를 실행하여 메서드 본문을 제거합니다. 이렇게 하면 메서드 구현의 간단한 변경사항으로만 구성된 재컴파일 중에 종속 jar를 다시 빌드하는 작업이 줄어듭니다. 반환 값은 일반적으로 JavaInfo#compile_jar에 전달됩니다.

매개변수

매개변수 설명
actions 필수
ctx.actions
jar 필수
ijar를 실행할 jar입니다.
target_label 라벨 또는 None; 기본값은 None입니다.
jar에 스탬프를 찍을 대상 라벨입니다. add_dep 지원에 사용됩니다. 일반적으로 ctx.label를 전달하여 현재 규칙의 라벨로 jar를 스탬프합니다.
java_toolchain 필수
ijar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다.

stamp_jar

File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)

add_dep 지원을 위한 타겟 라벨로 jar를 스탬프합니다. 반환 값은 일반적으로 JavaInfo#compile_jar에 전달됩니다. 가능하면 run_ijar를 사용하는 것이 좋습니다.

매개변수

매개변수 설명
actions 필수
ctx.actions
jar 필수
stamp_jar를 실행할 jar입니다.
target_label 필수
jar에 스탬프를 찍을 타겟 라벨입니다. add_dep 지원에 사용됩니다. 일반적으로 ctx.label를 전달하여 현재 규칙의 라벨로 jar를 스탬프합니다.
java_toolchain 필수
stamp_jar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다.