eriwen / gradle-js-plugin

Gradle plugin for working with JS
http://eriwen.github.io/gradle-js-plugin
Apache License 2.0
382 stars 113 forks source link

Cannot pass jsdoc options #139

Closed Jinshichi closed 7 years ago

Jinshichi commented 7 years ago

I couldn't use JsDocTask's 'options' property. Without 'options' property, jsdoc task working well. However, I need to use conf.json for my project.

My environment settings: Java: 1.8.0_25 Gradle: 3.0 gradle-js-plugin: 2.14.1

Here is my code:

import com.eriwen.gradle.js.tasks.JsDocTask
task createJsDoc(type: JsDocTask) {
  source = 'example.js'
  destinationDir = file(destJsDocDir)
  options = '-c conf.json'  // options.options also not work
}

Above code generates following error:

Could not set unknown property 'options' for task ':createJsDoc' of type com.eriwen.gradle.js.tasks.JsDocTask.

My current workaround:

task copyConfFile(type: Copy) {
  from file('conf.json')
  into 'build/tmp/js/jsdoc-releases-3.3/jsdoc-releases-3.3'
}

import com.eriwen.gradle.js.tasks.JsDocTask
task createJsdoc(type: JsDocTask, dependsOn: copyConfFile) {
  source = 'template/www/' + scriptName
  destinationDir = file(destJsDocDir)
  //  options = '-c conf.json'
}
Jinshichi commented 7 years ago

Sorry, this issue is not valid. I was able to pass jsdoc options by following syntax:

import com.eriwen.gradle.js.tasks.JsDocTask
task createJsdoc(type: JsDocTask) {
  source = 'mymodule.js'
  destinationDir = 'build/jsdoc'
  jsdoc.options = ["-c", "${projectDir}/conf.json"]
}