@@ -128,9 +128,6 @@ def _collect_plugin_paths(plugins):
128
128
129
129
def _compile (ctx , _jars , dep_srcjars , buildijar ):
130
130
jars = _jars
131
- cp_resources = _add_resources_cmd (
132
- ctx , "{out}_tmp" .format (out = ctx .outputs .jar .path )
133
- )
134
131
ijar_output_path = ""
135
132
ijar_cmd_path = ""
136
133
if buildijar :
@@ -145,9 +142,6 @@ def _compile(ctx, _jars, dep_srcjars, buildijar):
145
142
plugins = _collect_plugin_paths (ctx .attr .plugins )
146
143
plugin_arg = "," .join (list (plugins ))
147
144
148
- # Set up the args to pass to scalac because they can be too long for bash
149
- scalac_args_file = ctx .new_file (ctx .outputs .jar , ctx .label .name + "_scalac_args" ) # noqa
150
-
151
145
compiler_classpath = '{scalalib}:{scalacompiler}:{scalareflect}:{jars}' .format ( # noqa
152
146
scalalib = ctx .file ._scalalib .path ,
153
147
scalacompiler = ctx .file ._scalacompiler .path ,
@@ -170,6 +164,8 @@ JavacPath: {javac_path}
170
164
JavacOpts: {javac_opts}
171
165
JavaFiles: {java_files}
172
166
JvmFlags: {jvm_flags}
167
+ ResourceSrcs: {resource_src}
168
+ ResourceDests: {resource_dest}
173
169
""" .format (
174
170
out = ctx .outputs .jar .path , # 0
175
171
manifest = ctx .outputs .manifest .path , # 1
@@ -185,81 +181,16 @@ JvmFlags: {jvm_flags}
185
181
javac_path = ctx .file ._javac .path ,
186
182
java_files = "," .join ([f .path for f in java_srcs ]),
187
183
jvm_flags = " " .join (["-J" + flag for flag in ctx .attr .jvm_flags ]),
184
+ resource_src = "," .join ([f .path for f in ctx .files .resources ]),
185
+ resource_dest = "," .join ([_adjust_resources_path (f .path )[1 ] for f in ctx .files .resources ]),
188
186
)
189
- ctx .file_action (output = scalac_args_file , content = scalac_args )
190
- javac_sources_cmd = ""
191
- compile_java_srcs = len (java_srcs ) != 0
192
- if (compile_java_srcs ):
193
- # Set up the args to pass to javac because they can be
194
- # too long for bash
195
- javac_args_file = ctx .new_file (
196
- ctx .outputs .jar ,
197
- ctx .label .name + "_javac_args" )
198
-
199
- javac_args = """{javac_opts} -classpath "{jars}:{out}_tmp" -d {out}_tmp {files}""" .format ( # noqa
200
- javac_opts = " " .join (ctx .attr .javacopts ),
201
- jars = ":" .join ([j .path for j in jars ]),
202
- files = " " .join ([f .path for f in java_srcs ]),
203
- out = ctx .outputs .jar .path
204
- )
205
- ctx .file_action (output = javac_args_file , content = javac_args )
206
- javac_sources_cmd = """
207
- cat {javac_args} {{out}}_args/files_from_jar > {{out}}_args/java_args
208
- {javac} {{jvm_flags}} @{{out}}_args/java_args""" .format (
209
- javac_args = javac_args_file .path ,
210
- javac = ctx .file ._javac .path
211
- )
212
-
213
- # srcjar_cmd = ""
214
- # if len(all_srcjars) > 0:
215
- # srcjar_cmd = "\nmkdir -p {out}_tmp_expand_srcjars\n"
216
- # for srcjar in all_srcjars:
217
- # # Note: this is double escaped because
218
- # # we need to do one format call
219
- # # per each srcjar, but then we are going to include
220
- # # this in the bigger format
221
- # # call that is done to generate the full command
222
-
223
- # # TODO would like to be able to switch >/dev/null, -v,
224
- # # etc based on the user's settings
225
- # srcjar_cmd += """
226
- # unzip -o {srcjar} -d {{out}}_tmp_expand_srcjars >/dev/null
227
- # """.format(
228
- # srcjar=srcjar.path)
229
- # srcjar_cmd += """find {out}_tmp_expand_srcjars """
230
- # srcjar_cmd += """-type f -name "*.scala"""
231
- # srcjar_cmd += """ > {out}_args/files_from_jar\n"""
232
- # TODO ADD RESOURCES SUPPORT!
233
- # # add any resources
234
- # {cp_resources}
235
-
236
- # TODO add source jar support
237
- # touch {out}_args/files_from_jar
238
- # mkdir -p {out}_tmp""" + srcjar_cmd + """
239
- # {out}_args/files_from_jar
240
-
187
+ # TODO why this path here?
241
188
argfile = ctx .new_file (
242
189
ctx .configuration .bin_dir ,
243
190
"%s_worker_input" % ctx .label .name
244
191
)
245
192
ctx .file_action (output = argfile , content = scalac_args )
246
193
247
- # cmd = """
248
- # cat {scalac_args} > {out}_args/scala_args
249
- # {java} -jar {scalac} {jvm_flags} @{out}_args/scala_args""" + javac_sources_cmd + """
250
- # """ + ijar_cmd
251
- # cmd = cmd.format(
252
- # cp_resources=cp_resources,
253
- # java=ctx.file._java.path,
254
- # jvm_flags=" ".join(["-J" + flag for flag in ctx.attr.jvm_flags]),
255
- # scalac=_get_scalac_jar_path(ctx.files._scalac),
256
- # scalac_args=scalac_args_file.path,
257
- # out=ctx.outputs.jar.path,
258
- # manifest=ctx.outputs.manifest.path,
259
- # jar=_get_jar_path(ctx.files._jar),
260
- # ijar=ctx.file._ijar.path,
261
- # )
262
-
263
194
outs = [ctx .outputs .jar ]
264
195
if buildijar :
265
196
outs .extend ([ctx .outputs .ijar ])
@@ -271,20 +202,14 @@ JvmFlags: {jvm_flags}
271
202
ctx .files .plugins +
272
203
ctx .files .resources +
273
204
ctx .files ._jdk +
274
- ctx .files ._scalac +
275
- ctx .files ._jar +
276
205
ctx .files ._scalasdk +
277
206
[ctx .outputs .manifest ,
278
207
ctx .file ._ijar ,
279
208
ctx .file ._java ,
280
- scalac_args_file ,
281
209
argfile ])
282
- if compile_java_srcs :
283
- ins .extend ([javac_args_file ])
284
210
ctx .action (
285
211
inputs = ins ,
286
212
outputs = outs ,
287
- # command=cmd,
288
213
executable = ctx .executable ._scalac ,
289
214
mnemonic = "Scalac" ,
290
215
progress_message = "scala %s" % ctx .label ,
0 commit comments