Articles of gradle

避免每次在CI环境中安装所有node_modules依赖关系

我在我的项目中有多个模块,其中只有一个是节点项目。 然后,我使用gradle-node-plugin与其余的模块集成。 因为我使用jenkins的CI,我想让jenkins做项目目录和结帐最近版本的全部擦拭每次默认行为是npm install (这里通过gradle-node-plugin npmInstall包装,但同样的情况是普通的npm)下载所有每次CI重build已被触发时,依赖关系。 我想知道是否可以在全局某处安装package.json依赖项(例如,在.gradle/nodejs/<node-dist>/lib/node_modules/中使用gradle-node-plugin情况下)或者在构build树之外保留node_modules在jenkins工作区文件夹)。 编辑: 由于项目中的所有节点依赖项实际上需要大约300MB,所以代理caching似乎还不够,因为解决所有这些问题所需的大小,时间以及一些依赖关系在下载后需要重新编译(例如socket -io)。 目前,我们正在使用build.gradle中定义的解决方法,将node_modules移动到不会清理的父文件夹,而不是使用符号链接。 该解决方法仅在Jenkins环境中激活。

从CLI添加依赖到gradle.build

许多依赖pipe理工具都有非常方便的cli助手来保存configuration文件中的新依赖。 例如, npm install –save express会将关于express依赖的信息保存到项目的package.json文件中。 我想知道在这个gradle世界里是否有相同的东西? 特别是,我正在寻找一种方法来添加fabric依赖于我的build.gradle从cli。 这里需要对我的build.gradle : buildscript { repositories { jcenter() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'com.android.tools.build:gradle:1.0.+' // The Fabric Gradle plugin uses an open ended version to react // quickly to Android tooling updates classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' //Put Fabric plugin after Android […]

错误当我使用gradlew -Pprod bootRepackage将Jhipster Project转换为war时

我正在尝试使用这个命令将Jhipster项目转换为war,而我得到了下面的错误。 命令是gradlew -Pprod bootRepackage events.js:141 throw er; // Unhandled 'error' event ^ at new HTMLParser (C:\kaisify-demo\node_modules\html-minifier\src\htmlparser.js:236:13) at minify (C:\kaisify-demo\node_modules\html-minifier\src\htmlminifier.js:861:3) at Object.exports.minify (C:\kaisify-demo\node_modules\html-minifier\src\htmlminifier.js:1216:10) at objectAssign.fileName (C:\kaisify-demo\node_modules\gulp-htmlmin\index.js:22:39) at module.exports (C:\kaisify-demo\node_modules\tryit\tryit.js:8:9) at minifyHtml (C:\kaisify-demo\node_modules\gulp-htmlmin\index.js:21:9) at Transform.htmlminTransform [as _transform] (C:\kaisify-demo\node_modules\gulp-htmlmin\index.js:51:7) at Transform._read (C:\kaisify-demo\node_modules\readable-stream\lib\_stream_transform.js:159:10) at Transform._write (C:\kaisify-demo\node_modules\readable-stream\lib\_stream_transform.js:147:83) at doWrite (C:\kaisify-demo\node_modules\readable-stream\lib\_stream_writable.js:319:64) at writeOrBuffer (C:\kaisify-demo\node_modules\readable-stream\lib\_stream_writable.js:308:5) at Transform.Writable.write (C:\kaisify-demo\node_modules\readable-stream\lib\_stream_writable.js:246:11) at write (C:\kaisify-demo\node_modules\gulp\node_modules\readable-stream\lib\_stream_readable.js:623:24) at […]

如何从gradle任务中打开魅力?

我对gradle很陌生,试图编写一个gradle任务来生成和打开诱惑报告。 我正在尝试使用gradle节点插件(com.moowork.node)来使用“allure-commandline”节点包。 报告运行良好,当我有一个自定义节点脚本,而不是从默认的allure-commandline脚本从gradle做同样的事情。报告过程我认为在后台工作,因此,即不打开。 task allure(type: NodeTask){ script =file('node_modules/allure-commandline/index.js') args = ["allure","generate","allureResults","–clean","-o","allureReport"] args = ["allure","open","allureReport"] } 此节点任务工作: task nodeAllure(type: NodeTask){ script =file('allure.js') } 我的allure.js: var allure = require('allure-commandline'); // returns ChildProcess instance var generation = allure(['generate', 'reports/allure-results','–clean','-o','allure-report']); generation.on('exit', function(exitCode) { allure(['open','allure-report']); });

从nodejs运行gradlew

试图从nodeJS运行gradlew: const spawn = require('child_process').spawn; const path = require('path'); function run() { var path_dir = path.resolve('./../movies/VanillaApp/android'); var options = { cwd: path_dir }; const ls = spawn('gradlew', ['assembleRelease'], options); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process exited with code ${code}`); }); } […]

生成发布APK在bundleReleaseJsAndAssets失败

每次我尝试运行: ./gradlew assembleRelease我得到以下内容: FAILURE: Build failed with an exception. Execution failed for task ':app:bundleReleaseJsAndAssets'. > A problem occurred starting process 'command 'react-native'' 这里是stacktrace的输出: https : //gist.github.com/rpastorelle/f0a42a87656e5326a186de4e34f691a0 如果我使用sudo来运行这个命令,它会工作。 但是,这主要是拧了一些权限,然后在构builddebugging版本时在Android Studio中出现“无法展开ZIP”错误。 我的全局npm模块在/usr/local/lib/node_modules &我是拥有该文件夹的用户。 react-native-cli没有使用sudo安装。

React Native – 将package.json中的自动版本名称转换为Android构build清单

目前我有一个反应原生的应用程序,我有这个问题是非常耗时更新每个版本或提交的版本。 另外,我还有Sentry,因此每次构build时,都会得到相同的版本,所以一些崩溃很难确定它们来自哪里。 最后,手动更新版本容易出错。 我怎样才能设置我的构build生成一个自动版本,每次我build立和忘记所有这个手动任务?

Grails 3访问node_modules

从Grails 3应用程序开始,尝试使用节点插件。 我的自定义JavaScript位于grails-app/assets/javascripts但是当我运行gradle build ,会在我的根目录下安装node_modules文件夹。 这个文件夹有我所有的JS库,我无法从我的内部grails-app/assets/javascripts访问它们。 有没有办法在grails-app下安装node_modules ? 我需要在我的build.gradle指定目录吗? 这是我的build.gradle节点和grunt插件。 classpath "com.moowork.gradle:gradle-node-plugin:0.12" classpath "com.moowork.gradle:gradle-grunt-plugin:0.12" apply plugin:"com.moowork.node" apply plugin:"com.moowork.grunt"

如何将NodeJStesting包含到Gradle和Hudson中?

我们是一个Scala / Java商店,我们使用Gradle构build,Hudson使用CI。 我们最近用摩卡testing了一些node.js代码。 无论如何要把它包含在我们的Gradle工作stream程中,并在Hudson中进行设置? 我查看了gradle-javascript-plugin,但是我不知道如何通过它运行npm test或npm install,也不知道如何通过gradle-build或gradle-test命令来运行它,并且让Hudson捡起它。

Gradle“…在Mac上发生了启动过程'命令'npm''”

我安装了IntelliJ Idea的MacOS。 我正在使用Gradle(gradle-2.4)来构build项目。 我在Mac上安装了NodeJS和NPM,并可从shell中获得。 MacBook:~ user$ node -v v4.2.2 MacBook:~ user$ npm -v 2.14.7 运行使用NODE / NPM的Gradle任务时,会失败,并显示以下错误(在当前示例中为NPM)。 * What went wrong: Execution failed for task ':module:task'. > A problem occurred starting process 'command 'npm'' 来自Gradle的错误堆栈跟踪如下。 Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':module:task'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) […]