@@ -160,6 +160,29 @@ class CatkinPackage {
160
160
p. tasks. compileJava. source generateSourcesTask. outputs. files
161
161
}
162
162
163
+ def void generateUnofficialMessageArtifact (Project p ) {
164
+ /* Couple of constraints here:
165
+ 1) maven group forced to org.ros.rosjava_messages to that all message artifact
166
+ dependencies are easily found.
167
+ 2) Open ended dependency range (takes the latest in ROS_PACKAGE_PATH) since we
168
+ don't know the artifact versions the user really wants.
169
+ */
170
+ p. version = version
171
+ p. group = ' org.ros.rosjava_messages'
172
+ p. dependencies. add(" compile" , ' org.ros.rosjava_bootstrap:message_generation:[0.2,0.3)' )
173
+ messageDependencies(). each { d ->
174
+ p. dependencies. add(" compile" , ' org.ros.rosjava_messages:' + d + ' :[0.1,)' )
175
+ }
176
+ def generatedSourcesDir = " ${ p.buildDir} /generated-src"
177
+ def generateSourcesTask = p. tasks. create(" generateSources" , JavaExec )
178
+ generateSourcesTask. description = " Generate sources for " + name
179
+ generateSourcesTask. outputs. dir(p. file(generatedSourcesDir))
180
+ generateSourcesTask. args = new ArrayList<String > ([generatedSourcesDir, name])
181
+ generateSourcesTask. classpath = p. configurations. runtime
182
+ generateSourcesTask. main = ' org.ros.internal.message.GenerateInterfaces'
183
+ p. tasks. compileJava. source generateSourcesTask. outputs. files
184
+ }
185
+
163
186
/*
164
187
* Hack to work around for rosjava_test_msgs - look in a subfolder for the
165
188
* msgs and name the artifact by the subfolder name/version.
0 commit comments