aloof-angle-91616
01/21/2019, 12:21 AMaloof-angle-91616
01/21/2019, 12:24 AMaloof-angle-91616
01/21/2019, 1:00 AMaloof-angle-91616
01/21/2019, 5:16 AMaloof-angle-91616
01/21/2019, 5:35 AMaloof-angle-91616
01/22/2019, 2:11 AMyield [Get(FallibleExecuteProcessResult, ...)]
with a specified degree of parallelism over all input files (as in the native image PR i currently have up) in a couple hoursaloof-angle-91616
01/22/2019, 2:13 AMbazel_protos
in its <http://build.rs|build.rs>
?aloof-angle-91616
01/22/2019, 2:54 AMExecuteProcessRequest
has issues with symlinked executablesaloof-angle-91616
01/22/2019, 3:24 AMenv={'PATH': './bin'}
isn't working for some reason although relative PATH
entries work on the command linealoof-angle-91616
01/22/2019, 3:24 AMaloof-angle-91616
01/22/2019, 4:08 AM> ./pants --v2 --no-v1 lint.scalafmt --jvm-options="[]" src/scala::
Looking for unformatted files...
Exception in thread "main" org.scalafmt.Error$MisformattedFile: /home/cosmicexplorer/tools/pants/src/scala/org/pantsbuild/zinc/extractor/Extractor.scala is mis-formatted.
at java.lang.Throwable.<init>(Throwable.java:265)
at java.lang.Exception.<init>(Exception.java:66)
at org.scalafmt.Error.<init>(Error.scala:15)
at org.scalafmt.Error$MisformattedFile.<init>(Error.scala:66)
at org.scalafmt.cli.InputMethod$FileContents.write(InputMethod.scala:51)
at org.scalafmt.cli.Cli$.org$scalafmt$cli$Cli$$handleFile(Cli.scala:121)
at org.scalafmt.cli.Cli$$anonfun$run$1.apply(Cli.scala:180)
at org.scalafmt.cli.Cli$$anonfun$run$1.apply(Cli.scala:177)
at scala.collection.Iterator$class.foreach(Iterator.scala:891)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
at scala.collection.parallel.ParIterableLike$Foreach.leaf(ParIterableLike.scala:972)
at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply$mcV$sp(Tasks.scala:49)
at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply(Tasks.scala:48)
scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:443)
... many more lines
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:480)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:198)
Compilation exited abnormally with code 1 at Mon Jan 21 20:20:41
aloof-angle-91616
01/22/2019, 4:11 AMnative-image
can't find my gcc that i very kindly placed on its PATH (it's only working when i provide the absolute path to the gcc install)aloof-angle-91616
01/22/2019, 4:28 AMPathGlobsAndRoot
to hackily_snapshot()
the graal NativeTool
(which still can't be done from an @console_rule
because it requires a context._scheduler
) i feel like an "inverse" (ish) which writes a specific file or directory to a specified subdir of get_pants_cachedir()
and then checks if it exists on successive runs could also be a fantastic and easy and fun way to bridge v1 and v2 tasks. i just thought of this and i think it's a great idea that will make all of this a very small amount of code. looking into that nowaloof-angle-91616
01/22/2019, 4:29 AMaloof-angle-91616
01/22/2019, 5:53 AMoptionable_rule
is fantasticaloof-angle-91616
01/22/2019, 8:05 AM--workunit-stdout
dict option described in the comment) wouldn't take that long to implement, and after the @union_rule
stuff goes through and i synthesize all the thoughts above about storing rule output persistently (such as native images, in ~/.cache/pants
, so we don't keep reproducing them) i think the only remaining blocker to using v2 as a first-class citizen is developing the output story ("obviously"), and i think itemizing workunit output like this fits in really well with the whole v2/pantsd idea of "pants is always running, and you can request big or small things from it, and the tokio executor/etc makes things parallel" instead of "big monolithic pants process that you have to wait around to complete"aloof-angle-91616
01/22/2019, 8:09 AMaloof-angle-91616
01/22/2019, 8:24 AM> ./pants --compile-zinc-workunit-output="+{'stdout': {'output.txt': ['COMPILE']}}" test ::
and the stdout
corresponds to workunit.output('stdout')
, but we can extend that to other output types to allow for non-hierarchical output labelling for an asynchronous v2 UI!hundreds-father-404
01/23/2019, 7:06 AMaloof-angle-91616
01/23/2019, 6:33 PMSimpleCodegenTask
type of thing in v2 (we may not even need a specific wrapper) lmk https://github.com/pantsbuild/pants/issues/7137average-vr-56795
01/23/2019, 7:01 PMwrapper_type
?aloof-angle-91616
01/25/2019, 2:42 AMaloof-angle-91616
01/25/2019, 2:42 AMaloof-angle-91616
01/25/2019, 5:12 AMaloof-angle-91616
01/25/2019, 5:13 AMaloof-angle-91616
01/25/2019, 10:15 AMaloof-angle-91616
01/26/2019, 2:26 AMaloof-angle-91616
01/26/2019, 2:30 AMaloof-angle-91616
01/26/2019, 3:02 AMCommandRunner
proposal thoughaloof-angle-91616
01/26/2019, 3:03 AMfs
seems like an adventure we don't need to have, still looking