Request for info: Building on Windows (or on Github)
Thanks for your work developing this!
I am interested in learning how to run the program in order to generate a site for Endless Sky Delta; either running it locally or on Github via actions.
I am currently trying to run it locally on a Windows machine. I have boot and yarn installed (as well as node.js), but when I get to the last step of this section:
$ git clone [email protected]:7even/endless-ships.git
$ cd endless-ships
$ git submodule update --init
I get an error
Please make sure you have the correct access rights
and the repository exists.```
I tried swapping that out for zitchas/endless-ships.git to pull from my fork instead, but that didn't change anything.
That being said, given that I have a copy of endless-ships downloaded (via github desktop), is it possible to manually place the data files from endless-sky instead of doing it via the program?
edit1 : Just discovered the game data is located inside the .../endless-ships/resources/game/ folder
So that is in place, albeit old as I note it is 0.10.4, but that's alright. For the moment, this is just trying to get it to run properly locally.
Can you please try doing git submodule set-url resources/game https://github.com/endless-sky/endless-sky.git when you're in the endless-ships directory, then try git submodule update --init once again?
At this point, while in the endless-ships folder, I tried running the boot build command
java.lang.IllegalArgumentException: Cannot open <nil> as a Reader.
clojure.lang.ExceptionInfo: Cannot open <nil> as a Reader.
line: 47
Yes, I can.
Can you please try doing
git submodule set-url resources/game https://github.com/endless-sky/endless-sky.gitwhen you're in the endless-ships directory
It gave this result: Synchronizing submodule url for 'resources/game'
then try
git submodule update --init
And it didn't display anything after the second command, and at a glance there isn't any changes in the resource/game folder.
Well, since the game files are already in resources/game, then the git submodule should be fine. Now you can switch to it with cd resources/game and do anything git allows you to do, like checking out a given game version with git checkout v0.10.8 (though I would avoid changing anything in there).
As for the Cannot open <nil> as a Reader error, I need to check it when I have the time.
By the way, are you sure you ran boot build when the game files were already in place at resources/game?
Yes, although I can relaunch powershell and try again.
It gave the same error message.
Full output:
Boot.main Boot.java: 258
...
boot.App.main App.java: 500
boot.App.runBoot App.java: 407
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 145
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 154
...
boot.main/-main main.clj: 216
boot.main/-main/fn main.clj: 216
clojure.core/load-string core.clj: 3959
clojure.core/load-reader core.clj: 3957
...
boot.user$eval3009.invoke : 11
boot.user$eval3009.invokeStatic : 11
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.core/eval3269 core.clj: 1
endless-ships.core/eval3269/loading--auto-- core.clj: 1
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.outfits/eval3275 outfits.clj: 1
endless-ships.outfits/eval3275/loading--auto-- outfits.clj: 1
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.parser/fn parser.clj: 49
...
clojure.core/mapcat core.clj: 2674 (repeats 2 times)
clojure.core/apply core.clj: 641
clojure.core/seq core.clj: 137
...
clojure.core/map/fn core.clj: 2646
endless-ships.parser/fn/fn parser.clj: 51
endless-ships.parser/parse parser.clj: 40
...
instaparse.core/parser core.clj: 171
instaparse.core/parser core.clj: 255
...
clojure.core/slurp core.clj: 6657 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.java.io/reader io.clj: 86
clojure.java.io/reader io.clj: 102
clojure.java.io/fn/G io.clj: 69
clojure.java.io/fn io.clj: 288
java.lang.IllegalArgumentException: Cannot open <nil> as a Reader.
clojure.lang.ExceptionInfo: Cannot open <nil> as a Reader.
line: 47
I'll look into it, thanks for the bug report.
Thank you!
@Zitchas can you please try replacing / with \ in this line and launch boot build again?
Just tried doing that, and it gave me an error. I think most of the feedback isn't relevant, but there was this:
java.lang.RuntimeException: Unsupported escape character: \d
clojure.lang.ExceptionInfo: Unsupported escape character: \d
line: 10
Full Output
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Boot.main Boot.java: 258
...
boot.App.main App.java: 500
boot.App.runBoot App.java: 407
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 145
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 154
...
boot.main/-main main.clj: 216
boot.main/-main/fn main.clj: 216
clojure.core/load-string core.clj: 3959
clojure.core/load-reader core.clj: 3957
...
boot.user$eval3009.invoke : 11
boot.user$eval3009.invokeStatic : 11
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.core/eval3269 core.clj: 1
endless-ships.core/eval3269/loading--auto-- core.clj: 1
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.outfits/eval3275 outfits.clj: 1
endless-ships.outfits/eval3275/loading--auto-- outfits.clj: 1
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
java.lang.RuntimeException: Unsupported escape character: \d
clojure.lang.ExceptionInfo: Unsupported escape character: \d
line: 10
Sorry, I forgot that backslashes need to be escaped inside strings in Clojure. Please add a second backslash, so that it's "game\\data".
OK, I added the \ to escape it. Unfortunately, it still gives an error.
java.lang.IllegalArgumentException: Cannot open <nil> as a Reader.
clojure.lang.ExceptionInfo: Cannot open <nil> as a Reader.
line: 47
Full Output
Boot.main Boot.java: 258
...
boot.App.main App.java: 500
boot.App.runBoot App.java: 407
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 145
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 154
...
boot.main/-main main.clj: 216
boot.main/-main/fn main.clj: 216
clojure.core/load-string core.clj: 3959
clojure.core/load-reader core.clj: 3957
...
boot.user$eval3009.invoke : 11
boot.user$eval3009.invokeStatic : 11
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.core/eval3269 core.clj: 1
endless-ships.core/eval3269/loading--auto-- core.clj: 1
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.outfits/eval3275 outfits.clj: 1
endless-ships.outfits/eval3275/loading--auto-- outfits.clj: 1
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
endless-ships.parser/fn parser.clj: 49
...
clojure.core/mapcat core.clj: 2674 (repeats 2 times)
clojure.core/apply core.clj: 641
clojure.core/seq core.clj: 137
...
clojure.core/map/fn core.clj: 2646
endless-ships.parser/fn/fn parser.clj: 51
endless-ships.parser/parse parser.clj: 40
...
instaparse.core/parser core.clj: 171
instaparse.core/parser core.clj: 255
...
clojure.core/slurp core.clj: 6657 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.java.io/reader io.clj: 86
clojure.java.io/reader io.clj: 102
clojure.java.io/fn/G io.clj: 69
clojure.java.io/fn io.clj: 288
java.lang.IllegalArgumentException: Cannot open <nil> as a Reader.
clojure.lang.ExceptionInfo: Cannot open <nil> as a Reader.
line: 47
A question regarding this error: Do you know what document it is referring to? Just trying to look at things to see if I can get any insight on it, but I can't even tell what file that line: 47 is in.
edit: In the build.boot file at L 47 there is a [] Should this be a location or something?
edit: In the build.boot file at L 47 there is a
[]Should this be a location or something?
No, it's just an empty parameters list for a function.
From the stack trace it seems like it cannot find the resources/parser.bnf file, can you please check if it exists on your machine? Maybe it was accidentally deleted.
OK, yes, from the root of Endless-Ships there's a folder called resources, and within it there is a file called parser.bnf
Any chance that it's looking for a hardcoded location (for instance, located directly at the root of C: ?
edit:
Just comparing the contents here on GitHub and my local copy, I note that in the resources folder the parser.bnf file has the same name, but other item is a folder referred to as game @ c7874d3 on GitHub, but only as game locally.
edit2: Just did a cursory visual check between the file on GitHub and locally, and the two appear to be identical.
Any chance that it's looking for a hardcoded location (for instance, located directly at the root of C: ?
I don't think so but I have pretty much no experience working with Java/Clojure under Windows. Unfortunately I don't have a Windows machine to check it.
edit: Just comparing the contents here on GitHub and my local copy, I note that in the
resourcesfolder theparser.bnffile has the same name, but other item is a folder referred to asgame @ c7874d3on GitHub, but only asgamelocally.
game @ c7874d3 is how Github shows git submodules, and the game is plugged into endless-ships as a submodule; in the filesystem it's just game, it is the expected behavior.
I guess the problem can also be related to file permissions and the user who is launching boot build, but I can't really help here due to my lack of knowledge of Windows. It would be great if you could investigate something on your own.
I did try running it under admin as well as regular user, but it didn't change the error.
Unfortunately my java experience is limited to making a really basic game (use arrow keys to move from one side of the field to the other. You win!) and running a Minecraft server (which does not involve doing anything with the java code at all).
Given my lack of technical abilities to really troubleshoot much two alternative routes present themselves:
a) figuring out how to run a linux VM of some kind in order to do this in that environment.
b) figure out how to run Endless-Ships to generate the website package via GitHub.
I note that Endless Sky's current automatic checks and release process actually involves running the game within the build environment in order to run the engine through a specific sequence of commands and tests and get an output. If we can do that, I would think that it should be possible to run Endless-Ships long enough to generate the package, and then save that as part of the artifacts.
Well, endless-ships can be run in a Docker container, so if you install Docker you can follow the instructions in readme. Furthermore, I think you could make changes to the source files and relaunch the docker run command described there to see them in action.
As for the automated build via Github Actions, it actually doesn't need to launch the game itself - basically there are 3 required operations:
- checkout the requested game version via
gitcommands I mentioned earlier - run
boot build(or even build a Docker image) - deploy it to some server
If you want to launch this process from the Endless Sky repository after each commit, then this repository needs to be cloned before doing these 3 steps.
I would gladly help but unfortunately I'm extremely busy with other projects right now, so I'd suggest you try the local Docker container approach for now.
I will try the docker method. I did look into it a few days ago, but that was in the middle of the Crowdstrike problems affecting the internet, and I couldn't even create an account/login. I'll try again in the near future.
I don't think this needs to run after every commit. I just mentioned that if we can run the game in a GitHub runner, we should be able to run this too. I'm not particularly knowledgeable in doing so, though.
@Zitchas it finally reproduced on my machine, and I decided it's time to move the project from boot-clj to tools.deps (the problem seemed to be related to the way boot-clj handles temporary files). Can you please try the latest version from the master branch?
Unfortunately the Docker installation method does not work (as described in #19), I still did not find the reason, so for now manual build is the only way that works (on my machine). See README for updated instructions.
Thanks for the update. I was running into problems with geting docker to do it. Glad it wasn't just me not being able to follow directions. :) Anyway, yes, I can attempt to follow the updated instructions using the new method. Unfortunately I can't do it right now, but I can do it within the next 12. I will update once I have tried it.
OK, using clojure it looked promising. The first time I ran it, it downloaded a few things, then the feedback was a long list of "parsing _____" where ___ is a long listing of all the data files.
Unfortunately, it finally terminates with the following error:
Execution error (IOException) at java.lang.ProcessImpl/create (ProcessImpl.java:-2).
CreateProcess error=2, The system cannot find the file specified
Full output here
parsing bunrodea missions.txt...
parsing bunrodea outfits.txt...
parsing bunrodea ships.txt...
parsing bunrodea weapons.txt...
parsing bunrodea.txt...
parsing categories.txt...
parsing coalition culture conversations.txt...
parsing coalition jobs.txt...
parsing coalition missions.txt...
parsing coalition news.txt...
parsing coalition outfits.txt...
parsing coalition ships.txt...
parsing coalition weapons.txt...
parsing coalition.txt...
parsing heliarch intro.txt...
parsing lunarium intro.txt...
parsing commodities.txt...
parsing dialog phrases.txt...
parsing drak missions.txt...
parsing drak outfits.txt...
parsing drak ships.txt...
parsing indigenous.txt...
parsing effects.txt...
parsing gamerules.txt...
parsing gegno events.txt...
parsing gegno fleets.txt...
parsing gegno intro missions.txt...
parsing gegno outfits.txt...
parsing gegno sales.txt...
parsing gegno ships.txt...
parsing gegno.txt...
parsing governments.txt...
parsing hai culture conversations.txt...
parsing hai fleets.txt...
parsing hai jobs.txt...
parsing hai missions.txt...
parsing hai news.txt...
parsing hai outfits.txt...
parsing hai reveal 0 prologue.txt...
parsing hai reveal 1 intro.txt...
parsing hai reveal 2 start.txt...
parsing hai reveal 3 early.txt...
parsing hai reveal 4 middle.txt...
parsing hai reveal 5 philosophers.txt...
parsing hai reveal 6 end.txt...
parsing hai reveal 7 epilogue.txt...
parsing hai reveal news.txt...
parsing hai ships.txt...
parsing hai.txt...
parsing unfettered 0 prologue.txt...
parsing unfettered jobs.txt...
parsing harvesting.txt...
parsing hazards.txt...
parsing boarding missions.txt...
parsing campaign events.txt...
parsing culture conversations.txt...
parsing deep jobs.txt...
parsing deep missions.txt...
parsing dirt belt jobs.txt...
parsing engines.txt...
parsing fleets.txt...
parsing free worlds 0 prologue.txt...
parsing free worlds 1 start.txt...
parsing free worlds 2 middle.txt...
parsing free worlds 3 checkmate.txt...
parsing free worlds 3 reconciliation.txt...
parsing free worlds 4 epilogue.txt...
parsing free worlds side plots.txt...
parsing free worlds war jobs.txt...
parsing frontier jobs.txt...
parsing hails.txt...
parsing human missions.txt...
parsing intro missions.txt...
parsing jobs.txt...
parsing kestrel.txt...
parsing marauders.txt...
parsing names.txt...
parsing near earth jobs.txt...
parsing news.txt...
parsing outfits.txt...
parsing paradise world jobs.txt...
parsing pirate jobs.txt...
parsing post-war reactions.txt...
parsing power.txt...
parsing rim jobs.txt...
parsing sales.txt...
parsing ships.txt...
parsing south jobs.txt...
parsing syndicate jobs.txt...
parsing variants.txt...
parsing weapons.txt...
parsing iije.txt...
parsing kahet missions.txt...
parsing kahet outfits.txt...
parsing kahet ships.txt...
parsing kahet.txt...
parsing korath hails.txt...
parsing korath jobs.txt...
parsing korath missions.txt...
parsing korath news.txt...
parsing korath outfits.txt...
parsing korath ships.txt...
parsing korath variants.txt...
parsing korath weapons.txt...
parsing korath.txt...
parsing nanobots.txt...
parsing map planets.txt...
parsing map systems.txt...
parsing persons.txt...
parsing pug missions.txt...
parsing pug news.txt...
parsing pug outfits.txt...
parsing pug ships.txt...
parsing pug.txt...
parsing quarg missions.txt...
parsing quarg news.txt...
parsing quarg outfits.txt...
parsing quarg ships.txt...
parsing quarg.txt...
parsing remnant 1 introduction.txt...
parsing remnant 2 cognizance.txt...
parsing remnant 2 side missions.txt...
parsing remnant commodities.txt...
parsing remnant events.txt...
parsing remnant jobs.txt...
parsing remnant news.txt...
parsing remnant outfits.txt...
parsing remnant ships.txt...
parsing remnant.txt...
parsing rulei outfits.txt...
parsing rulei ships.txt...
parsing rulei.txt...
parsing series.txt...
parsing archaeology missions.txt...
parsing sheragi outfits.txt...
parsing sheragi ships.txt...
parsing stars.txt...
parsing start.txt...
parsing vyrmeid.txt...
parsing wanderer jobs.txt...
parsing wanderer news.txt...
parsing wanderer outfits.txt...
parsing wanderer ships.txt...
parsing wanderers middle.txt...
parsing wanderers start.txt...
parsing wanderers.txt...
parsing critters.txt...
parsing elenchus.txt...
parsing deprecated outfits.txt...
parsing deprecated ships.txt...
parsing flight checks.txt...
parsing help.txt...
parsing interfaces.txt...
parsing landing messages.txt...
parsing ratings.txt...
parsing tooltips.txt...
"Elapsed time: 50249.1998 msecs"
Execution error (IOException) at java.lang.ProcessImpl/create (ProcessImpl.java:-2).
CreateProcess error=2, The system cannot find the file specified
Full report at:
my user filepath \AppData\Local\Temp\clojure-13086490615955654607.edn
Contents of the Full Report mentioned in the output
Second time I ran it, it didn't download anything, and generated an output that looked basically identical to the first time, just without the download info at the start.
Could it be possible that it is reading the Endless Sky repository data, the game sub folder data, noticing that they it don't match, and throwing errors because of that?
Oh, the reason is that the build script uses the rm Unix command which doesn't exist in Windows. I replaced it and some other file management commands with Clojure/Java functions, I think now it should work.
Second time I ran it, it didn't download anything, and generated an output that looked basically identical to the first time, just without the download info at the start.
This is expected, it always downloads the dependencies on the first launch (or right after they get changed).
This is expected, it always downloads the dependencies on the first launch (or right after they get changed).
Yes, I suspected (or hoped, for the sake of efficiency) that it was probably a first-time-only sort of thing. That's why I ran it a second time to see if having everything already downloaded would prevent the error.
OK, updated to include the recent push and ran it again. Still generates an error, but it is a different one. I'm including the last handful of lines showing where it was in the parsing process:
parsing flight checks.txt...
parsing help.txt...
parsing interfaces.txt...
parsing landing messages.txt...
parsing ratings.txt...
parsing tooltips.txt...
"Elapsed time: 59039.3171 msecs"
Execution error (IOException) at endless-ships.core/build (core.clj:116).
Couldn't delete .\build
Full report at: ...
Contents of the Full Report
{:clojure.main/message
"Execution error (IOException) at endless-ships.core/build (core.clj:116).\r\nCouldn't delete .\\build\r\n",
:clojure.main/triage
{:clojure.error/class java.io.IOException,
:clojure.error/line 116,
:clojure.error/cause "Couldn't delete .\\build",
:clojure.error/symbol endless-ships.core/build,
:clojure.error/source "core.clj",
:clojure.error/phase :execution},
:clojure.main/trace
{:via
[{:type java.io.IOException,
:message "Couldn't delete .\\build",
:at [clojure.java.io$delete_file invokeStatic "io.clj" 434]}],
:trace
[[clojure.java.io$delete_file invokeStatic "io.clj" 434]
[clojure.java.io$delete_file doInvoke "io.clj" 430]
[clojure.lang.RestFn invoke "RestFn.java" 410]
[clojure.core$run_BANG_$fn__8880 invoke "core.clj" 7784]
[clojure.lang.PersistentList reduce "PersistentList.java" 141]
[clojure.core$reduce invokeStatic "core.clj" 6886]
[clojure.core$run_BANG_ invokeStatic "core.clj" 7779]
[clojure.core$run_BANG_ invoke "core.clj" 7779]
[endless_ships.core$build invokeStatic "core.clj" 116]
[endless_ships.core$build invoke "core.clj" 110]
[clojure.lang.Var invoke "Var.java" 384]
[clojure.run.exec$exec invokeStatic "exec.clj" 88]
[clojure.run.exec$exec invoke "exec.clj" 78]
[clojure.run.exec$_main$fn__220 invoke "exec.clj" 227]
[clojure.run.exec$_main invokeStatic "exec.clj" 223]
[clojure.run.exec$_main doInvoke "exec.clj" 191]
[clojure.lang.RestFn invoke "RestFn.java" 397]
[clojure.lang.AFn applyToHelper "AFn.java" 152]
[clojure.lang.RestFn applyTo "RestFn.java" 132]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.core$apply invokeStatic "core.clj" 667]
[clojure.main$main_opt invokeStatic "main.clj" 514]
[clojure.main$main_opt invoke "main.clj" 510]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause "Couldn't delete .\\build"}}
Yep, sorry, forgot to check if directory exists before trying to delete it. Now it's fixed.
Thanks! Trying it now.
The full out put mentions that it can't find yarn. That one sounds like it might be on me to fix.
parsing ratings.txt...
parsing tooltips.txt...
"Elapsed time: 61724.3037 msecs"
Execution error (IOException) at java.lang.ProcessImpl/create (ProcessImpl.java:-2).
CreateProcess error=2, The system cannot find the file specified
Full report at:
Full output file
{:clojure.main/message
"Execution error (IOException) at java.lang.ProcessImpl/create (ProcessImpl.java:-2).\r\nCreateProcess error=2, The system cannot find the file specified\r\n",
:clojure.main/triage
{:clojure.error/class java.io.IOException,
:clojure.error/line -2,
:clojure.error/cause
"CreateProcess error=2, The system cannot find the file specified",
:clojure.error/symbol java.lang.ProcessImpl/create,
:clojure.error/source "ProcessImpl.java",
:clojure.error/phase :execution},
:clojure.main/trace
{:via
[{:type java.io.IOException,
:message
"Cannot run program \"yarn\": CreateProcess error=2, The system cannot find the file specified",
:at [java.lang.ProcessBuilder start "ProcessBuilder.java" 1170]}
{:type java.io.IOException,
:message
"CreateProcess error=2, The system cannot find the file specified",
:at [java.lang.ProcessImpl create "ProcessImpl.java" -2]}],
:trace
[[java.lang.ProcessImpl create "ProcessImpl.java" -2]
[java.lang.ProcessImpl <init> "ProcessImpl.java" 500]
[java.lang.ProcessImpl start "ProcessImpl.java" 159]
[java.lang.ProcessBuilder start "ProcessBuilder.java" 1126]
[java.lang.ProcessBuilder start "ProcessBuilder.java" 1089]
[java.lang.Runtime exec "Runtime.java" 681]
[clojure.java.shell$sh invokeStatic "shell.clj" 113]
[clojure.java.shell$sh doInvoke "shell.clj" 79]
[clojure.lang.RestFn invoke "RestFn.java" 421]
[endless_ships.core$build invokeStatic "core.clj" 118]
[endless_ships.core$build invoke "core.clj" 110]
[clojure.lang.Var invoke "Var.java" 384]
[clojure.run.exec$exec invokeStatic "exec.clj" 88]
[clojure.run.exec$exec invoke "exec.clj" 78]
[clojure.run.exec$_main$fn__220 invoke "exec.clj" 227]
[clojure.run.exec$_main invokeStatic "exec.clj" 223]
[clojure.run.exec$_main doInvoke "exec.clj" 191]
[clojure.lang.RestFn invoke "RestFn.java" 397]
[clojure.lang.AFn applyToHelper "AFn.java" 152]
[clojure.lang.RestFn applyTo "RestFn.java" 132]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.core$apply invokeStatic "core.clj" 667]
[clojure.main$main_opt invokeStatic "main.clj" 514]
[clojure.main$main_opt invoke "main.clj" 510]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause
"CreateProcess error=2, The system cannot find the file specified"}}
hmmm... yarn says it's installed, but still generates the same error.
Full Output log
{:clojure.main/message
"Execution error (IOException) at java.lang.ProcessImpl/create (ProcessImpl.java:-2).\r\nCreateProcess error=2, The system cannot find the file specified\r\n",
:clojure.main/triage
{:clojure.error/class java.io.IOException,
:clojure.error/line -2,
:clojure.error/cause
"CreateProcess error=2, The system cannot find the file specified",
:clojure.error/symbol java.lang.ProcessImpl/create,
:clojure.error/source "ProcessImpl.java",
:clojure.error/phase :execution},
:clojure.main/trace
{:via
[{:type java.io.IOException,
:message
"Cannot run program \"yarn\": CreateProcess error=2, The system cannot find the file specified",
:at [java.lang.ProcessBuilder start "ProcessBuilder.java" 1170]}
{:type java.io.IOException,
:message
"CreateProcess error=2, The system cannot find the file specified",
:at [java.lang.ProcessImpl create "ProcessImpl.java" -2]}],
:trace
[[java.lang.ProcessImpl create "ProcessImpl.java" -2]
[java.lang.ProcessImpl <init> "ProcessImpl.java" 500]
[java.lang.ProcessImpl start "ProcessImpl.java" 159]
[java.lang.ProcessBuilder start "ProcessBuilder.java" 1126]
[java.lang.ProcessBuilder start "ProcessBuilder.java" 1089]
[java.lang.Runtime exec "Runtime.java" 681]
[clojure.java.shell$sh invokeStatic "shell.clj" 113]
[clojure.java.shell$sh doInvoke "shell.clj" 79]
[clojure.lang.RestFn invoke "RestFn.java" 421]
[endless_ships.core$build invokeStatic "core.clj" 118]
[endless_ships.core$build invoke "core.clj" 110]
[clojure.lang.Var invoke "Var.java" 384]
[clojure.run.exec$exec invokeStatic "exec.clj" 88]
[clojure.run.exec$exec invoke "exec.clj" 78]
[clojure.run.exec$_main$fn__220 invoke "exec.clj" 227]
[clojure.run.exec$_main invokeStatic "exec.clj" 223]
[clojure.run.exec$_main doInvoke "exec.clj" 191]
[clojure.lang.RestFn invoke "RestFn.java" 397]
[clojure.lang.AFn applyToHelper "AFn.java" 152]
[clojure.lang.RestFn applyTo "RestFn.java" 132]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.core$apply invokeStatic "core.clj" 667]
[clojure.main$main_opt invokeStatic "main.clj" 514]
[clojure.main$main_opt invoke "main.clj" 510]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause
"CreateProcess error=2, The system cannot find the file specified"}}
@Zitchas can you please run yarn install manually from the project's root directory and paste the result here?