10
10
import unittest
11
11
12
12
from pants .engine .fs import PathGlobs , Snapshot , create_fs_rules
13
- from pants .engine .isolated_process import (ExecuteProcessRequest , ExecuteProcessResult ,
14
- create_process_rules )
13
+ from pants .engine .isolated_process import ExecuteProcessRequest , ExecuteProcessResult
15
14
from pants .engine .rules import RootRule , rule
16
15
from pants .engine .selectors import Get , Select
17
16
from pants .util .objects import TypeCheckError , datatype
@@ -64,26 +63,21 @@ def argv_from_snapshot(self, snapshot):
64
63
class CatExecutionRequest (datatype ([('shell_cat' , ShellCat ), ('path_globs' , PathGlobs )])): pass
65
64
66
65
67
- @rule (ExecuteProcessRequest , [Select (CatExecutionRequest )])
68
- def cat_files_process_request_input_snapshot (cat_exe_req ):
66
+ @rule (Concatted , [Select (CatExecutionRequest )])
67
+ def cat_files_process_result_concatted (cat_exe_req ):
69
68
cat_bin = cat_exe_req .shell_cat
70
69
cat_files_snapshot = yield Get (Snapshot , PathGlobs , cat_exe_req .path_globs )
71
- yield ExecuteProcessRequest .create_from_snapshot (
70
+ process_request = ExecuteProcessRequest .create_from_snapshot (
72
71
argv = cat_bin .argv_from_snapshot (cat_files_snapshot ),
73
72
env = tuple (),
74
73
snapshot = cat_files_snapshot ,
75
74
)
76
-
77
-
78
- @rule (Concatted , [Select (CatExecutionRequest )])
79
- def cat_files_process_result_concatted (cat_exe_req ):
80
- cat_process_result = yield Get (ExecuteProcessResult , CatExecutionRequest , cat_exe_req )
75
+ cat_process_result = yield Get (ExecuteProcessResult , ExecuteProcessRequest , process_request )
81
76
yield Concatted (str (cat_process_result .stdout ))
82
77
83
78
84
79
def create_cat_stdout_rules ():
85
80
return [
86
- cat_files_process_request_input_snapshot ,
87
81
cat_files_process_result_concatted ,
88
82
RootRule (CatExecutionRequest ),
89
83
]
@@ -177,17 +171,6 @@ def argv_from_source_snapshot(self, snapshot):
177
171
return (self .bin_path ,) + tuple (snapshot_file_paths )
178
172
179
173
180
- @rule (ExecuteProcessRequest , [Select (JavacCompileRequest )])
181
- def javac_compile_sources_execute_process_request (javac_compile_req ):
182
- sources_snapshot = yield Get (
183
- Snapshot , PathGlobs , javac_compile_req .javac_sources .path_globs )
184
- yield ExecuteProcessRequest .create_from_snapshot (
185
- argv = javac_compile_req .argv_from_source_snapshot (sources_snapshot ),
186
- env = tuple (),
187
- snapshot = sources_snapshot ,
188
- )
189
-
190
-
191
174
# TODO: make this contain the snapshot(s?) of the output files (or contain
192
175
# something that contains it) once we've made it so processes can make snapshots
193
176
# of the files they produce.
@@ -196,10 +179,13 @@ class JavacCompileResult(object): pass
196
179
197
180
@rule (JavacCompileResult , [Select (JavacCompileRequest )])
198
181
def javac_compile_process_result (javac_compile_req ):
199
- javac_proc_req = yield Get (
200
- ExecuteProcessRequest , JavacCompileRequest , javac_compile_req )
201
- javac_proc_result = yield Get (
202
- ExecuteProcessResult , ExecuteProcessRequest , javac_proc_req )
182
+ sources_snapshot = yield Get (Snapshot , PathGlobs , javac_compile_req .javac_sources .path_globs )
183
+ process_request = ExecuteProcessRequest .create_from_snapshot (
184
+ argv = javac_compile_req .argv_from_source_snapshot (sources_snapshot ),
185
+ env = tuple (),
186
+ snapshot = sources_snapshot ,
187
+ )
188
+ javac_proc_result = yield Get (ExecuteProcessResult , ExecuteProcessRequest , process_request )
203
189
204
190
exit_code = javac_proc_result .exit_code
205
191
if exit_code != 0 :
@@ -213,7 +199,6 @@ def javac_compile_process_result(javac_compile_req):
213
199
214
200
def create_javac_compile_rules ():
215
201
return [
216
- javac_compile_sources_execute_process_request ,
217
202
javac_compile_process_result ,
218
203
RootRule (JavacCompileRequest ),
219
204
]
@@ -328,5 +313,5 @@ def mk_example_fs_tree(self):
328
313
return fs_tree
329
314
330
315
def mk_scheduler_in_example_fs (self , rules ):
331
- rules = list (rules ) + create_fs_rules () + create_process_rules ()
316
+ rules = list (rules ) + create_fs_rules ()
332
317
return self .mk_scheduler (rules = rules , project_tree = self .mk_example_fs_tree ())
0 commit comments