규칙
- <ph type="x-smartling-placeholder"></ph> j2objc_library
- <ph type="x-smartling-placeholder"></ph> objc_import
- <ph type="x-smartling-placeholder"></ph> objc_library
- <ph type="x-smartling-placeholder"></ph> available_xcodes
- <ph type="x-smartling-placeholder"></ph> xcode_config
- <ph type="x-smartling-placeholder"></ph> xcode_version
j2objc_library
j2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)
이 규칙은 J2ObjC를 사용하여 Java 소스를 변환합니다. 파일을 Objective-C로 전송한 다음 objc_library 및 objc_binary 의 종속 항목으로 사용 가능 있습니다. J2ObjC에 대한 자세한 내용은 J2ObjC 사이트
맞춤형 J2ObjC 변환 컴파일 플래그는 빌드 플래그를 사용하여 지정할 수 있습니다.
--j2objc_translation_flags
를 사용합니다.
j2objc_library 타겟에 포함된 번역된 파일은 기본 컴파일 구성을 사용하여 컴파일되는 경우 속성에 컴파일 옵션이 지정되지 않은 objc_library 규칙
또한 생성된 코드는 소스 수준이 아닌 타겟 수준에서 중복 삭제됩니다. 만약 동일한 Java 소스 파일이 포함된 다른 Java 타겟이 있는 경우 중복 기호 오류가 표시될 수 있습니다. . 이 문제를 해결하는 올바른 방법은 공유된 Java 소스 파일을 공통 타겟이 1개 있습니다.
인수
속성 | |
---|---|
name |
이 대상의 고유한 이름입니다. |
deps
|
j2objc_library , java_library ,
다음을 포함하는 java_import 및 java_proto_library 타겟
Objective-C로 변환 컴파일할 Java 파일
도달할 수 있는 모든 J2ObjC 변환은 소스 Java 소스의 유형에 따라 다르게 작동합니다.
임시 폐쇄에 포함된 파일 .java에 포함된 각 .java 소스 파일에 대해
사용자는 자신의 코드에서 J2ObjC에서 생성된 헤더 파일을 가져올 수 있습니다. 다음의 가져오기 경로:
이러한 파일은 원본 Java 아티팩트의 루트 상대 경로입니다. 예를 들어
proto_library 규칙이 이 규칙에 대한 임시 폐쇄에 포함된 경우 J2ObjC protos도
바이너리 수준에서 생성, 컴파일 및 링크됩니다. proto용
|
entry_classes
|
--j2objc_dead_code_removal
플래그가 켜져 있는 경우 이 속성은 필수입니다. Java 클래스는
Java는
언어 사양.
--j2objc_dead_code_removal 플래그를 지정하면 항목 클래스 목록이
전이적으로 수집되어 데드 코드 분석을 수행하기 위한 진입점으로 사용됩니다.
그러면 사용되지 않는 클래스가 최종 ObjC App Bundle에서 삭제됩니다.
|
jre_deps
|
j2objc_library 규칙 기본적으로 핵심 JRE 기능만 연결됩니다.
|
objc_import
objc_import(name, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, features, includes, licenses, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, visibility, weak_sdk_frameworks)
이 규칙은 이미 컴파일된 정적 라이브러리를
.a
파일. 또한 동일한 명령어를 사용하여 헤더와 리소스를
objc_library
에서 지원하는 속성입니다.
인수
속성 | |
---|---|
name |
이 대상의 고유한 이름입니다. |
hdrs
|
이러한 헤더는 라이브러리의 공개 인터페이스를 설명하며 이 규칙에 의해 또는 독립된 출처에 의해 포함될 수 있도록 제공 있습니다. 이 라이브러리의 클라이언트가 포함할 수 없는 헤더 대신 srcs 속성에 나열되어야 합니다. 모듈이 사용 설정된 경우 소스와 별도로 컴파일됩니다. |
alwayslink
|
srcs 및 non_arc_srcs (일부에
바이너리에서 참조한 기호입니다.
이는 코드가
바이너리(예: 코드가 콜백을 수신하도록 등록되는 경우)
제공할 수 있습니다
|
archives
|
.a 파일 목록은
이 타겟에 종속됩니다.
|
includes
|
#include/#import 개 목록
대상에 따라 다릅니다
이는 SDK를 지원하지 않는 서드 파티 및 오픈소스 라이브러리를 지원하기 위한 것입니다.
전체 작업공간 경로를
#import/#include 문
경로는 패키지 디렉터리를 기준으로 해석됩니다.
생성형 파일 및 빈 루트 (예: COPTS와 달리 이러한 플래그는 이 규칙에 추가됩니다. 그것에 의존하는 모든 규칙이 있습니다. (참고: 적용 대상 규칙이 아님) CANNOT TRANSLATE 매우 신중해야 합니다. 왜냐하면 광범위한 영향을 미칠 수 있기 때문입니다. 확실하지 않은 경우 다음을 추가하세요. '-iquote' 대신 플래그를 COPTS로 변경합니다. |
sdk_dylibs
|
|
sdk_frameworks
|
최상위 Apple 바이너리를 연결하면 해당 바이너리의 전이 종속 항목 그래프가 연결됩니다. |
sdk_includes
|
#include/#import 개 목록
모든 종속된 타겟이 있으며, 여기서 각 경로는
$(SDKROOT)/usr/include 입니다.
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
objc_library
objc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, copts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, implementation_deps, includes, licenses, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, runtime_deps, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
이 규칙은 지정된 Objective-C 소스 파일에서 정적 라이브러리를 생성합니다.
인수
속성 | |
---|---|
name |
이 대상의 고유한 이름입니다. |
deps
|
|
srcs
|
|
hdrs
|
이러한 헤더는 라이브러리의 공개 인터페이스를 설명하며 이 규칙에 의해 또는 독립된 출처에 의해 포함될 수 있도록 제공 있습니다. 이 라이브러리의 클라이언트가 포함할 수 없는 헤더 대신 srcs 속성에 나열되어야 합니다. 모듈이 사용 설정된 경우 소스와 별도로 컴파일됩니다. |
alwayslink
|
srcs 및 non_arc_srcs (일부에
바이너리에서 참조한 기호입니다.
이는 코드가
바이너리(예: 코드가 콜백을 수신하도록 등록되는 경우)
제공할 수 있습니다
|
copts
|
생성된 Xcode 프로젝트의 경우 디렉터리 경로는 '-I'를 사용하여 지정됩니다. 깃발 copts는 파싱되어 앞에 '$(WORKSPACE_ROOT)/'가 추가됩니다. 상대 경로인 경우 관련 Xcode 타겟의 헤더 검색 경로에 추가됩니다. |
defines
|
-D 플래그 해당 위치는 다음과 같아야 합니다.
KEY=VALUE 또는 간단히 KEY 형식이며
이 타겟의 컴파일러로도 전달되지 않습니다 (copts 로).
are)뿐만 아니라 이 타겟의 모든 objc_ 종속 항목에도 적용됩니다.
'Make 변수' 대체 적용
Bourne 셸 토큰화.
|
enable_modules
|
|
implementation_deps
|
deps - 이러한 라이브러리 (및 모든 라이브러리)의 헤더와 포함 경로
전이 deps)는 이 라이브러리의 컴파일에만 사용되며,
있습니다. implementation_deps 로 지정된 라이브러리가 계속 연결되어 있음
바이너리 타겟에 사용합니다.
|
includes
|
#include/#import 개 목록
대상에 따라 다릅니다
이는 SDK를 지원하지 않는 서드 파티 및 오픈소스 라이브러리를 지원하기 위한 것입니다.
전체 작업공간 경로를
#import/#include 문
경로는 패키지 디렉터리를 기준으로 해석됩니다.
생성형 파일 및 빈 루트 (예: COPTS와 달리 이러한 플래그는 이 규칙에 추가됩니다. 그것에 의존하는 모든 규칙이 있습니다. (참고: 적용 대상 규칙이 아님) CANNOT TRANSLATE 매우 신중해야 합니다. 왜냐하면 광범위한 영향을 미칠 수 있기 때문입니다. 확실하지 않은 경우 다음을 추가하세요. '-iquote' 대신 플래그를 COPTS로 변경합니다. |
linkopts
|
|
module_map
|
|
module_name
|
|
non_arc_srcs
|
|
pch
|
|
runtime_deps
|
|
sdk_dylibs
|
|
sdk_frameworks
|
최상위 Apple 바이너리를 연결하면 해당 바이너리의 전이 종속 항목 그래프가 연결됩니다. |
sdk_includes
|
#include/#import 개 목록
모든 종속된 타겟이 있으며, 여기서 각 경로는
$(SDKROOT)/usr/include 입니다.
|
textual_hdrs
|
|
weak_sdk_frameworks
|
|
available_xcodes
available_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)
이 규칙의 두 대상은 xcode_config
규칙 인스턴스가 의존하여
원격 및 로컬에서 사용할 수 있는 xcode 버전을 나타냅니다.
이렇게 하면 전체적으로 사용 가능한 xcode에서 공식 xcode 버전을 선택할 수 있습니다.
인수
속성 | |
---|---|
name |
이 대상의 고유한 이름입니다. |
default
|
|
versions
|
|
xcode_config
xcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)
이 규칙의 단일 대상은 --xcode_version_config
빌드에서 참조할 수 있습니다.
플래그: --xcode_version
플래그를 허용된 공식 xcode 버전으로 변환합니다.
이를 통해 등록된 여러 별칭 중에서 공식 xcode 버전을 선택할 수 있습니다.
인수
속성 | |
---|---|
name |
이 대상의 고유한 이름입니다. |
default
|
xcode_version 타겟으로 지정된 버전은 다음과 같은 경우에 사용됩니다.
xcode_version 빌드 플래그가 지정되지 않았습니다. 다음이 있는 경우 필수입니다.
versions 가 설정되었습니다. remote_versions 또는
local_versions 가 설정되었습니다.
|
local_versions
|
xcode_version |
remote_versions
|
xcode_version |
versions
|
xcode_version 개 승인됨 |
xcode_version
xcode_version(name, default_ios_sdk_version, default_macos_sdk_version, default_tvos_sdk_version, default_visionos_sdk_version, default_watchos_sdk_version, deprecation, distribs, features, licenses, tags, testonly, version, visibility)
해당 xcode 버전에 대해 허용되는 별칭이 있는 단일 공식 xcode 버전을 나타냅니다.
xcode_config
규칙을 참고하세요.
인수
속성 | |
---|---|
name |
이 대상의 고유한 이름입니다. |
default_ios_sdk_version
|
ios_sdk_version 빌드 플래그는 여기에 지정된 값을 재정의합니다.
|
default_macos_sdk_version
|
macos_sdk_version 빌드 플래그는 여기에 지정된 값을 재정의합니다.
|
default_tvos_sdk_version
|
tvos_sdk_version 빌드 플래그는 여기에 지정된 값을 재정의합니다.
|
default_visionos_sdk_version
|
visionos_sdk_version 빌드 플래그는 여기에 지정된 값을 재정의합니다.
|
default_watchos_sdk_version
|
watchos_sdk_version 빌드 플래그는 여기에 지정된 값을 재정의합니다.
|
version
|
|