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=[])
매개변수
매개변수 | 설명 |
---|---|
ctx
|
필수 규칙 컨텍스트입니다. |
source_jars
|
File의 sequence;
기본값은 [] 입니다. 컴파일할 jar 목록입니다. source_jars 또는 source_files 중 하나 이상을 지정해야 합니다. |
source_files
|
File의 sequence;
기본값은 [] 입니다. 컴파일할 Java 소스 파일의 목록입니다. source_jars 또는 source_files 중 하나 이상을 지정해야 합니다. |
output
|
필수 |
output_source_jar
|
File 또는 None
기본값은 None 입니다. 출력 소스 jar입니다. 선택사항입니다. 설정되지 않은 경우 기본값은 `{output_jar}-src.jar` 입니다. |
javac_opts
|
string의 sequence;
기본값은 [] 입니다. 원하는 javac 옵션의 목록입니다. 선택사항입니다. |
deps
|
struct의 sequence;
기본값은 [] 입니다. 종속 항목 목록 선택사항입니다. |
runtime_deps
|
struct의 sequence;
기본값은 [] 입니다. 런타임 종속 항목 목록 선택사항입니다. |
exports
|
struct의 sequence;
기본값은 [] 입니다. 내보내기 목록입니다. 선택사항입니다. |
plugins
|
struct의 sequence; 또는 구조체의 시퀀스입니다.
기본값은 [] 입니다. 플러그인 목록입니다. 선택사항입니다. |
exported_plugins
|
struct의 sequence; 또는 구조체의 시퀀스입니다.
기본값은 [] 입니다. 내보낸 플러그인 목록입니다. 선택사항입니다. |
native_libraries
|
CcInfo의 시퀀스
기본값은 [] 입니다. 이 라이브러리에 필요한 CC 네이티브 라이브러리 종속 항목입니다. |
annotation_processor_additional_inputs
|
File의 sequence;
기본값은 [] 입니다. 주석 처리를 위해 Java 소스 외에 Java 컴파일 작업이 수행하는 입력의 목록입니다. |
annotation_processor_additional_outputs
|
File의 sequence;
기본값은 [] 입니다. Java 컴파일 작업이 주석 처리의 클래스 jar에 더해 추가로 출력하는 출력의 목록입니다. |
strict_deps
|
기본값은 'ERROR' 입니다. 엄격한 deps 처리 방법을 지정하는 문자열입니다. 가능한 값: 'OFF', 'ERROR', 'WARN' 'DEFAULT'를 입력합니다. 자세한 내용은 /docs/user-manual#flag--strict_java_deps를 참조하세요. 기본값은 'ERROR'입니다. |
java_toolchain
|
필수 이 컴파일에 사용할 JavaToolchainInfo입니다. 필수입니다. |
bootclasspath
|
기본값은 None 입니다. 이 컴파일에 사용할 BootClassPathInfo입니다. 있는 경우 제공된 java_Tools와 연결된 bootclasspath가 재정의됩니다. 선택사항입니다. |
host_javabase
|
기본값은 None 입니다. 지원 중단되었습니다. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --+incompatible_java_common_parameters 로 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다. 지원 중단됨: 이 매개변수를 삭제할 수 있습니다 (host_javabase는 java_Tools와 함께 제공됨). |
sourcepath
|
File의 sequence;
기본값은 [] 입니다. |
resources
|
File의 sequence;
기본값은 [] 입니다. |
resource_jars
|
File의 sequence;
기본값은 [] 입니다. |
classpath_resources
|
File의 sequence;
기본값은 [] 입니다. |
neverlink
|
기본값은 False 입니다. |
enable_annotation_processing
|
기본값은 True 입니다. 이 컴파일에서 주석 처리를 사용 중지하여, 플러그인 또는 deps의 export_plugins에서 제공된 주석 프로세서가 무시되도록 합니다. |
enable_compile_jar_action
|
기본값은 True 입니다. 헤더 컴파일 또는 ijar 생성을 사용 설정합니다. False로 설정하면 종속 항목의 컴파일 클래스 경로에서 전체 클래스 jar를 강제로 사용합니다. 이는 종속 항목이 없는 바이너리와 같이 라이브러리가 아닌 타겟에서 사용하기 위한 것입니다. |
add_exports
|
string의 sequence;
기본값은 [] 입니다. 이 라이브러리가 지정된 |
add_opens
|
string의 sequence;
기본값은 [] 입니다. 이 라이브러리가 주어진 |
JavaRuntimeInfo
Provider java_common.JavaRuntimeInfo
JavaToolchainInfo
Provider java_common.JavaToolchainInfo
병합하다
struct java_common.merge(providers)
매개변수
매개변수 | 설명 |
---|---|
providers
|
struct의 sequence;
필수 병합할 제공업체 목록입니다. |
pack_sources
File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)
JavaInfo#source_jar
매개변수
매개변수 | 설명 |
---|---|
actions
|
필수 ctx.actions |
output_jar
|
File 또는 None
기본값은 None 입니다. 지원 중단되었습니다. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --+incompatible_java_common_parameters 로 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다. 지원 중단됨: 규칙의 출력 jar입니다. 결과 소스 jar의 이름을 지정하는 데 사용됩니다. 매개변수는 output_source_jar 매개변수를 `{output_jar}-src.jar`로 설정합니다.대신 output_source_jar 매개변수를 직접 사용합니다. |
output_source_jar
|
File 또는 None
기본값은 None 입니다. 출력 소스 jar입니다. |
sources
|
File의 sequence;
기본값은 [] 입니다. 소스 jar에 패키징할 Java 소스 파일의 목록입니다. |
source_jars
|
File의 sequence;
기본값은 [] 입니다. 소스 jar에 패키징할 소스 jar 목록입니다. |
java_toolchain
|
필수 ijar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다. |
host_javabase
|
기본값은 None 입니다. 지원 중단되었습니다. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --+incompatible_java_common_parameters 로 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다. 지원 중단됨: 이 매개변수를 삭제할 수 있습니다 (host_javabase는 java_Tools와 함께 제공됨). |
run_ijar
File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)
JavaInfo#compile_jar
에 전달됩니다.
매개변수
매개변수 | 설명 |
---|---|
actions
|
필수 ctx.actions |
jar
|
필수 ijar를 실행할 jar입니다. |
target_label
|
라벨 또는 None
기본값은 None 입니다. 병에 스탬프를 표시할 대상 라벨입니다. 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
|
필수 timestamp_jar를 실행할 jar입니다. |
target_label
|
필수 병에 스탬프를 표시할 대상 라벨입니다. add_dep 지원에 사용됩니다. 일반적으로 ctx.label 를 전달하여 현재 규칙의 라벨로 jar에 스탬프를 찍습니다.
|
java_toolchain
|
필수 timestamp_jar 도구를 찾는 데 사용되는 JavaToolchainInfo입니다. |