Last active
April 11, 2020 19:05
Gradle build script to install NodeJS packages and Bower dependencies. This assumes you create package.json (nodejs) and bower.json files in the root of your project.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.gradle.api.tasks.Exec | |
defaultTasks 'bower' | |
// Get the path for the locally installed binaries | |
task npmBin << { | |
new ByteArrayOutputStream().withStream { os -> | |
def result = exec { | |
executable = 'npm' | |
args = ['bin'] | |
standardOutput = os | |
} | |
ext.binPath = os.toString().trim() + "/" | |
} | |
} | |
// Install packages from package.json | |
task npm(type: Exec) { | |
description = "Grab NodeJS dependencies (from package.json)" | |
commandLine = ["npm", "install"] | |
inputs.file "package.json" | |
outputs.dir "node_modules" | |
tasks.npmBin.execute() | |
} | |
// Install the bower components for front-end library management | |
task bower(dependsOn: 'npm', type: Exec){ | |
commandLine "${npmBin.binPath}bower", 'install' | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the initial code to solve this problem. We ran into issues on Windows and have found an OK work-around :) https://gist.github.com/pacey/54278ecd716e82b16f14