Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:catkin_migration [2014/07/24 14:20] – [Package structure] admindoc:catkin_migration [2014/09/10 15:52] – [Changelog] admin
Line 41: Line 41:
 ==== JAR files and build dependencies ==== ==== JAR files and build dependencies ====
 Rosjava is now based on Maven that 'magically' maintains jar files for dependendies. The following snippet explains how dependencies are specified in the build.gradle of the respective subproject: Rosjava is now based on Maven that 'magically' maintains jar files for dependendies. The following snippet explains how dependencies are specified in the build.gradle of the respective subproject:
 +<code java>
     dependencies {     dependencies {
       /* Dependency on a rosjava project in the same catkin package */        /* Dependency on a rosjava project in the same catkin package */ 
Line 52: Line 52:
       compile 'net.sf.json-lib:json-lib:2.4:jdk15'       compile 'net.sf.json-lib:json-lib:2.4:jdk15'
     }     }
 +</code>
 You can use the service at http://gradleplease.appspot.com/ to generate the lines to be put into the build.gradle You can use the service at http://gradleplease.appspot.com/ to generate the lines to be put into the build.gradle
  
Line 60: Line 60:
  
 This is not easy with the existing tools (since the exporting packages are not by themselves catkin packages), so we had to find another solution: During compilation, gradle creates a file 'classpath.txt' with the dependencies of the respective package. At runtime, rosprolog and json_prolog collect these files and assemble the overall classpath from them. You need to add the following statement to the build.gradle of the respective (exporting) subproject: This is not easy with the existing tools (since the exporting packages are not by themselves catkin packages), so we had to find another solution: During compilation, gradle creates a file 'classpath.txt' with the dependencies of the respective package. At runtime, rosprolog and json_prolog collect these files and assemble the overall classpath from them. You need to add the following statement to the build.gradle of the respective (exporting) subproject:
 +<code java>
     task writeClasspath << {     task writeClasspath << {
         buildDir.mkdirs()         buildDir.mkdirs()
Line 68: Line 68:
                                                   project.version + ".jar" + "\n"                                                   project.version + ".jar" + "\n"
     }     }
 +</code>
 ... and add the writeClasspath task to the CMakeLists.txt: ... and add the writeClasspath task to the CMakeLists.txt:
     catkin_rosjava_setup(installApp publishMavenJavaPublicationToMavenRepository writeClasspath)     catkin_rosjava_setup(installApp publishMavenJavaPublicationToMavenRepository writeClasspath)
Line 82: Line 82:
  
   * Update launch files to the new json_prolog interface:   * Update launch files to the new json_prolog interface:
 +    <code xml>
     <launch>     <launch>
        <param name="initial_package" type="string" value="<pkg_name>" />        <param name="initial_package" type="string" value="<pkg_name>" />
Line 89: Line 89:
        <node name="json_prolog" pkg="json_prolog" type="json_prolog_node" cwd="node" output="screen" />        <node name="json_prolog" pkg="json_prolog" type="json_prolog_node" cwd="node" output="screen" />
     </launch>     </launch>
 +    </code> 
 +  * Replace all *.cs.tum.edu-IRIs with knowrob.org. You can use the following command to replace them in most common files in all subfolders of the current directory: 
 +     <code bash> 
 +     $ rosrun rosprolog migrate_owl_iri 
 +     </code>
 ===== Changelog ===== ===== Changelog =====
  
 The changes have been ticketed at the knowrob repository for Milestone 1. Please have a look here for a list of changes: The changes have been ticketed at the knowrob repository for Milestone 1. Please have a look here for a list of changes:
-https://github.com/knowrob/knowrob/issues?milestone=1+https://github.com/knowrob/knowrob/issues?q=is%3Aissue+milestone%3A1.0+