규칙
작업_리스너
규칙 소스 보기action_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
경고: 추가 작업은 지원 중단되었습니다. 대신 aspects를 사용하세요.
action_listener
규칙은 출력을 자체적으로 생성하지 않습니다.
대신 이 API를 사용하면 도구 개발자가 빌드에서 extra_action
로의 매핑을 제공하여 extra_action
를 빌드 시스템에 삽입할 수 있습니다.
이 규칙의 인수는 액션 연상 효과를 extra_action
규칙에 매핑합니다.
--experimental_action_listener=<label>
옵션을 지정하면 빌드가 지정된 action_listener
를 사용하여 빌드 그래프에 extra_action
를 삽입합니다.
예
action_listener( name = "index_all_languages", mnemonics = [ "Javac", "CppCompile", "Python", ], extra_actions = [":indexer"], ) action_listener( name = "index_java", mnemonics = ["Javac"], extra_actions = [":indexer"], ) extra_action( name = "indexer", tools = ["//my/tools:indexer"], cmd = "$(location //my/tools:indexer)" + "--extra_action_file=$(EXTRA_ACTION_FILE)", )
인수
속성 | |
---|---|
name |
이 타겟의 고유한 이름입니다. |
extra_actions
|
action_listener 가 빌드 그래프에 추가해야 하는 extra_action 목록
예: [ "//my/tools:analyzer" ] .
|
mnemonics
|
action_listener 에서 수신 대기해야 하는 작업 연상 기호 목록입니다(예: [ "Javac" ] ).
연상 기호는 공개 인터페이스가 아닙니다. 니모닉과 그 행동이 바뀌지 않는다는 보장은 없습니다. |
추가_작업
규칙 소스 보기extra_action(name, data, cmd, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, out_templates, requires_action_output, restricted_to, tags, target_compatible_with, testonly, toolchains, tools, visibility)
경고: 추가 작업은 지원 중단되었습니다. 대신 aspects를 사용하세요.
extra_action
규칙은 일반 빌드 타겟으로 지정될 때 유의미한 출력을 생성하지 않습니다. 대신 도구 개발자는 기존 작업을 섀도잉하는 추가 작업을 빌드 그래프에 삽입할 수 있습니다.
extra_action
를 사용 설정하는 방법에 관한 자세한 내용은 action_listener
를 참고하세요.
extra_action
는 명령줄로 실행됩니다. 명령줄 도구는 프로토콜 버퍼가 $(EXTRA_ACTION_FILE)으로 섀도 처리된 원래 작업에 관한 자세한 정보가 포함된 파일에 액세스합니다.
또한 원래 작업이 액세스할 수 있는 모든 입력 파일에 액세스할 수 있습니다.
프로토콜 버퍼에 저장된 데이터에 관한 자세한 내용은 extra_actions_base.proto를 참고하세요. 각 proto 파일에는 ExtraActionInfo 메시지가 포함되어 있습니다.
다른 모든 작업과 마찬가지로 추가 작업은 샌드박스가 처리되며 이를 처리하도록 설계되어야 합니다.
인수
속성 | |
---|---|
name |
이 타겟의 고유한 이름입니다. action_listener 규칙의 extra_actions 인수에서 label 로 이 규칙을 참조할 수 있습니다.
|
cmd
|
다음과 같은 차이점이 있는 genrule cmd attribute과 같습니다.
|
out_templates
|
extra_action 명령어로 생성된 파일의 템플릿 목록입니다.
템플릿은 다음 변수를 사용할 수 있습니다.
|
requires_action_output
|
extra_action 에 원본 작업의 출력이 이 extra_action 의 입력으로 존재해야 함을 나타냅니다.
true (기본값 false)인 경우 extra_action은 원래 작업 출력을 입력의 일부로 사용할 수 있다고 가정할 수 있습니다. |
tools
|
tool 종속 항목 목록입니다.
자세한 내용은 종속 항목의 정의를 참조하세요.
빌드 시스템은 이러한 기본 요건이 모든 도구와 데이터 종속 항목은 명령어가 상대 경로를 사용할 수 있는 단일 트리로 통합됩니다. 작업 디렉터리는 통합 트리의 루트가 됩니다. |