Coder Social home page Coder Social logo

Comments (4)

nkoterba avatar nkoterba commented on June 22, 2024 1

I was able to get something to work, although I'm not sure it's the best strategy. If either of you have better suggestion, would appreciate it.

ignoreExitValue = true
    def execRunner = null
    execOverrides {
        execRunner = it
        it.standardOutput = new ByteArrayOutputStream()
        it.errorOutput = it.standardOutput
    }
    doLast {
        if (result.exitValue != 0) {
            println(execRunner.standardOutput.toString())
            throw new GradleException("exec failed; see output above")
        }
    }

from gradle-node-plugin.

johnrengelman avatar johnrengelman commented on June 22, 2024

+1 - I'm just looking at this now, because I want to redirect the output/error streams to something that isn't the console but then on an error condition, print out the entire output so it's not interleaved with the output from other tasks.

from gradle-node-plugin.

srs avatar srs commented on June 22, 2024

Will pull in your pull request i a couple of hours. Thanks.

from gradle-node-plugin.

nkoterba avatar nkoterba commented on June 22, 2024

@johnrengelman Can you share how you were able to redirect output/error streams?

I'm trying to do the same thing, but standardOutput and errorOutput are not exposed on the Node/Npm Tasks (which wrap and insulate an internal Exec runner) so not sure how to do this. My thought was:

standardOutput = new ByteArrayOutputStream()
    errorOutput = standardOutput
    ignoreExitValue = true
    doLast {
        if (result.exitValue != 0) {
            println(standardOutput.toString())
            throw new GradleException("exec failed; see output above")
        }
    }

But standardOutput as I mentioned isn't defined on NodeTask or NpmTask.

from gradle-node-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.