blob: e448c75026fdb8f39ce3d2b4edb90f2e04099a4f [file] [log] [blame]
configurations {
etrice_c
etrice_cpp
etrice_java
modelpath_c
modelpath_cpp
modelpath_java
}
dependencies {
etrice_c project(':plugins:org.eclipse.etrice.generator.c')
etrice_cpp project(':plugins:org.eclipse.etrice.generator.cpp')
etrice_java project(':plugins:org.eclipse.etrice.generator.java')
}
/**
* Creates an eTrice generator task
* @param name: The name of the new task
* @param lang: One of the following languages 'c', 'cpp', 'java'
* @param models: A list of models passed to the generator
* @param genDir: The generation directory
* @param options: The eTrice generator options
*/
ext.createGeneratorTask = { name, lang, models, genDir = 'src-gen', options = [] ->
return tasks.create(name: name, type: JavaExec) {
main = "org.eclipse.etrice.generator.${lang}.Main"
classpath = configurations."etrice_$lang"
args '-clean', '-msc_instr'
args '-genDir', genDir
args options
def modelpath = configurations."modelpath_$lang"
if(!modelpath.isEmpty()) {
args '-modelpath', modelpath.asPath
}
args models
}
}