@@ -146,7 +146,7 @@ class CatkinPackage {
146
146
147
147
def void generateMessageArtifact (Project p ) {
148
148
p. version = version
149
- p. dependencies. add(" compile" , ' org.ros.rosjava_bootstrap:message_generation:[0.1,)' )
149
+ p. dependencies. add(" compile" , ' org.ros.rosjava_bootstrap:message_generation:[0.1,0.2 )' )
150
150
messageDependencies(). each { d ->
151
151
p. dependencies. add(" compile" , p. dependencies. project(path : ' :' + d))
152
152
}
@@ -160,13 +160,36 @@ 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.1,0.2)' )
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.
166
189
*/
167
190
def void generateMessageArtifactInSubFolder (Project p , String subfolderName , List<String > dependencies ) {
168
191
// p.version = version use the subfolder's project version
169
- p. dependencies. add(" compile" , ' org.ros.rosjava_bootstrap:message_generation:[0.1,)' )
192
+ p. dependencies. add(" compile" , ' org.ros.rosjava_bootstrap:message_generation:[0.1,0.2 )' )
170
193
dependencies. each { d ->
171
194
p. dependencies. add(" compile" , p. dependencies. project(path : ' :' + d))
172
195
}
0 commit comments