Starlark에서 Java 컴파일을 위한 유틸리티를 지원합니다.
회원
BootClassPathInfo
Provider java_common.BootClassPathInfobootclasspath 정보를 제공하는 데 사용되는 제공자
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
|
string의 sequence. 기본값은 [] 입니다.원하는 javac 옵션의 목록입니다. 선택사항입니다. |
deps
|
struct의 sequence. 기본값은 [] 종속 항목 목록입니다. 선택사항입니다. |
runtime_deps
|
구조체의 시퀀스입니다. 기본값은 [] 입니다.런타임 종속 항목 목록입니다. 선택사항입니다. |
exports
|
struct의 sequence. 기본값은 [] 내보내기 목록입니다. 선택사항입니다. |
plugins
|
struct의 시퀀스 또는 struct의 시퀀스입니다. 기본값은 [] 입니다. 플러그인 목록입니다. 선택사항입니다. |
exported_plugins
|
struct의 sequence 또는 struct의 시퀀스. 기본값은 [] 내보낸 플러그인 목록입니다. 선택사항입니다. |
native_libraries
|
CcInfo의 시퀀스입니다. 기본값은 이 라이브러리에 필요한 [] CC 네이티브 라이브러리 종속 항목입니다. |
annotation_processor_additional_inputs
|
File의 sequence. 기본값은 [] 입니다.주석 처리를 위해 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
|
File의 시퀀스. 기본값은 [] 입니다. |
classpath_resources
|
파일 시퀀스입니다. 기본값은 [] 입니다. |
neverlink
|
기본값은 False 입니다. |
enable_annotation_processing
|
기본값은 True 입니다.이 컴파일에서 주석 처리를 사용 중지하여 플러그인 또는 deps의 export_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
|
struct의 시퀀스입니다.
필수 병합할 제공업체 목록입니다. |
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
매개변수
매개변수 | 설명 |
---|---|
actions
|
required 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
|
File의 sequence. 기본값은 [] 입니다.소스 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
|
required ctx.actions |
jar
|
필수 ijar를 실행할 jar입니다. |
target_label
|
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
|
required ctx.actions |
jar
|
필수 stamp_jar를 실행할 jar입니다. |
target_label
|
필수 jar에 스탬프를 찍을 타겟 라벨입니다. add_dep 지원에 사용됩니다. 일반적으로 ctx.label 를 전달하여 현재 규칙의 라벨로 jar에 스탬프를 찍습니다.
|
java_toolchain
|
필수 stamp_jar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다. |