eltimn / sbt-frontend

SBT version of frontend-maven-plugin
Apache License 2.0
13 stars 6 forks source link

Node archive extraction fails #10

Open alok1111 opened 1 year ago

alok1111 commented 1 year ago

Sometimes we face the following issue with Node archive extraction

Stack trace ``` com.github.eirslett.maven.plugins.frontend.lib.InstallationException: Could not extract the Node archive at com.github.eirslett.maven.plugins.frontend.lib.NodeInstaller.installNodeDefault(NodeInstaller.java:189) at com.github.eirslett.maven.plugins.frontend.lib.NodeInstaller.install(NodeInstaller.java:94) at sbtfrontend.Frontend$.$anonfun$nodeInstall$1(Frontend.scala:44) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at sbtfrontend.Frontend$.tryo(Frontend.scala:20) at sbtfrontend.Frontend$.nodeInstall(Frontend.scala:37) at sbtfrontend.FrontendPlugin$autoImport$.$anonfun$frontendSettings$52(FrontendPlugin.scala:229) at scala.Function1.$anonfun$compose$1(Function1.scala:49) at sbt.Project$.setProject(Project.scala:501) at sbt.BuiltinCommands$.doLoadProject(Main.scala:968) at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:906) at sbt.Command$.$anonfun$applyEffect$4(Command.scala:150) at sbt.Command$.$anonfun$applyEffect$2(Command.scala:145) at sbt.Command$.process(Command.scala:189) at sbt.MainLoop$.$anonfun$processCommand$5(MainLoop.scala:245) at scala.Option.getOrElse(Option.scala:189) at sbt.MainLoop$.process$1(MainLoop.scala:245) at sbt.MainLoop$.processCommand(MainLoop.scala:278) at sbt.MainLoop$.$anonfun$next$5(MainLoop.scala:163) at sbt.State$StateOpsImpl$.runCmd$1(State.scala:289) at sbt.State$StateOpsImpl$.process$extension(State.scala:325) at sbt.MainLoop$.$anonfun$next$4(MainLoop.scala:163) at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23) at sbt.MainLoop$.next(MainLoop.scala:163) at sbt.MainLoop$.run(MainLoop.scala:144) at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:119) at sbt.io.Using.apply(Using.scala:27) at sbt.MainLoop$.runWithNewLog(MainLoop.scala:112) at sbt.MainLoop$.runAndClearLast(MainLoop.scala:66) at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:51) at sbt.MainLoop$.runLogged(MainLoop.scala:42) at sbt.StandardMain$.runManaged(Main.scala:215) at sbt.xMain$.$anonfun$run$11(Main.scala:133) at sbt.internal.util.Terminal$.withStreams(Terminal.scala:381) at sbt.xMain$.withStreams$1(Main.scala:87) at sbt.xMain$.run(Main.scala:121) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at sbt.internal.XMainConfiguration.run(XMainConfiguration.java:57) at sbt.xMain.run(Main.scala:46) at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149) at xsbt.boot.Launch$.withContextLoader(Launch.scala:176) at xsbt.boot.Launch$.run(Launch.scala:149) at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44) at xsbt.boot.Launch$.launch(Launch.scala:159) at xsbt.boot.Launch$.apply(Launch.scala:44) at xsbt.boot.Launch$.apply(Launch.scala:21) at xsbt.boot.Boot$.runImpl(Boot.scala:78) at xsbt.boot.Boot$.run(Boot.scala:73) at xsbt.boot.Boot$.main(Boot.scala:21) at xsbt.boot.Boot.main(Boot.scala) Caused by: com.github.eirslett.maven.plugins.frontend.lib.ArchiveExtractionException: Could not extract archive: '/opt/buildagent/work/7c3ae909349802f0/web/.frontend/cache/node-v16.15.0-linux-x64.tar.gz' at com.github.eirslett.maven.plugins.frontend.lib.DefaultArchiveExtractor.extract(ArchiveExtractor.java:131) at com.github.eirslett.maven.plugins.frontend.lib.NodeInstaller.extractFile(NodeInstaller.java:302) at com.github.eirslett.maven.plugins.frontend.lib.NodeInstaller.installNodeDefault(NodeInstaller.java:141) ... 52 more Caused by: java.io.EOFException at org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream.read(GzipCompressorInputStream.java:303) at org.apache.commons.compress.archivers.tar.TarArchiveInputStream.read(TarArchiveInputStream.java:608) at java.base/java.io.InputStream.read(InputStream.java:205) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at com.github.eirslett.maven.plugins.frontend.lib.DefaultArchiveExtractor.extract(ArchiveExtractor.java:119) ... 54 more [error] com.github.eirslett.maven.plugins.frontend.lib.InstallationException: Could not extract the Node archive ```

More recent "com.github.eirslett" % "frontend-plugin-core" version should address it.

alok1111 commented 1 year ago

As the repository hasn't been updated in years, are the PR's welcomed?