Skip to content
Snippets Groups Projects
Commit 4ba46ae3 authored by Daniel Stonier's avatar Daniel Stonier
Browse files

extra method to help curious artifact generation in subfolders (e.g.

rosjava_test_msgs).
parent 420154ab
No related branches found
No related tags found
No related merge requests found
...@@ -118,7 +118,7 @@ class CatkinPackage { ...@@ -118,7 +118,7 @@ class CatkinPackage {
def void generateMessageArtifact(Project p) { def void generateMessageArtifact(Project p) {
p.version = version p.version = version
p.dependencies.add("compile", 'org.ros.rosjava_bootstrap:message_generator:0.1.0') p.dependencies.add("compile", 'org.ros.rosjava_bootstrap:message_generation:0.1.0')
messageDependencies().each { d -> messageDependencies().each { d ->
p.dependencies.add("compile", p.dependencies.project(path: ':' + d)) p.dependencies.add("compile", p.dependencies.project(path: ':' + d))
} }
...@@ -131,5 +131,25 @@ class CatkinPackage { ...@@ -131,5 +131,25 @@ class CatkinPackage {
generateSourcesTask.main = 'org.ros.internal.message.GenerateInterfaces' generateSourcesTask.main = 'org.ros.internal.message.GenerateInterfaces'
p.tasks.compileJava.source generateSourcesTask.outputs.files p.tasks.compileJava.source generateSourcesTask.outputs.files
} }
/*
* Hack to work around for rosjava_test_msgs - look in a subfolder for the
* msgs and name the artifact by the subfolder name.
*/
def void generateMessageArtifactInSubFolder(Project p, String subfolderName) {
p.version = version
p.dependencies.add("compile", 'org.ros.rosjava_bootstrap:message_generation:0.1.0')
messageDependencies().each { d ->
p.dependencies.add("compile", p.dependencies.project(path: ':' + d))
}
def generatedSourcesDir = "${p.buildDir}/generated-src"
def generateSourcesTask = p.tasks.create("generateSources", JavaExec)
generateSourcesTask.description = "Generate sources for " + name + "/" + subfolderName
generateSourcesTask.outputs.dir(p.file(generatedSourcesDir))
generateSourcesTask.args = new ArrayList<String>([generatedSourcesDir, subfolderName])
generateSourcesTask.classpath = p.configurations.runtime
generateSourcesTask.main = 'org.ros.internal.message.GenerateInterfaces'
p.tasks.compileJava.source generateSourcesTask.outputs.files
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment