자바_일반

문제 신고 소스 보기

Starlark에서 자바 컴파일을 지원하는 유틸리티입니다.

구성원

부팅 클래스 경로 정보

Provider java_common.BootClassPathInfo

bootclasspath 정보를 제공하는 데 사용된 제공자

compile

JavaInfo 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, 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 규칙 구현에서 자바 소스 파일/jar를 컴파일하고 컴파일 결과를 나타내는 제공자를 반환하고 이 규칙에서 내보낸 제공자 집합에 추가할 수 있습니다.

매개변수

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

자바 플러그인 정보

Provider java_common.JavaPluginInfo

자바 플러그인에 대한 정보가 포함된 제공자를 검색하는 데 사용되는 키입니다. JavaPluginInfo와 동일한 값에 액세스할 수 있습니다.
새 코드에서 JavaPluginInfo 사용을 선호합니다.

자바 런타임 정보

Provider java_common.JavaRuntimeInfo

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

JavaToolchain정보

Provider java_common.JavaToolchainInfo

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

엄격한_없음

JavaInfo java_common.make_non_strict(java_info)

지정된 자바 제공업체의 direct jar과 간접 jar을 모두 합친 jars 부분을 포함하는 새 자바 제공자를 반환합니다.

매개변수

매개변수 설명
java_info 필수
자바 정보입니다.

병합하다

JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)

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

매개변수

매개변수 설명
providers sequence of JavaInfos, 필수
병합할 제공업체 목록입니다.
merge_java_outputs 기본값 = True
merge_source_jars 기본값 = True

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 File; or None; 기본값 = None
지원 중단됨. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --+incompatible_java_common_parameters에 의해 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다.
지원 중단됨: 규칙의 출력 jar입니다. 결과 소스 jar의 이름을 지정하는 데 사용됩니다. 매개변수는 output_source_jar 매개변수를 `{output_jar}-src.jar`로 설정합니다.대신 output_source_jar 매개변수를 직접 사용하세요.
output_source_jar File; or None; default = None
출력 소스 jar.
sources sequence of Files; default = []
소스 jar에 패키징할 자바 소스 파일 목록입니다.
source_jars sequence of Files; default = []
소스 jar에 패키징할 소스 jar 목록입니다.
java_toolchain 필수
ijar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다.
host_javabase default = None
지원 중단됨. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --+incompatible_java_common_parameters에 의해 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다.
지원 중단됨: 이 매개변수를 삭제할 수 있습니다 (host_javabase는 java_toolchain과 함께 제공됨).
None가 반환될 수 있습니다.

제공업체

Provider java_common.provider

자바에서 선언된 제공자를 반환합니다.
JavaInfo와 동일한 값에 액세스할 수 있습니다.
새 코드에서 JavaInfo 사용을 선호합니다.

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 Label; or None; 기본값 = None
jar에 스탬프를 삽입할 대상 라벨입니다. add_dep 지원에 사용됩니다. 일반적으로 ctx.label를 전달하여 현재 규칙의 라벨로 jar을 스탬프 처리합니다.
java_toolchain 필수
ijar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다.

스탬프_jar

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

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

매개변수

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

to_java_binary_info

JavaInfo java_common.to_java_binary_info(java_info)

java_binary에서 반환된 최소한의 정보로 지정된 JavaInfo의 사본을 반환합니다.

매개변수

매개변수 설명
java_info 필수
개선할 JavaInfo입니다.