## page was renamed from rosjava/Java Package Names ## page was renamed from sig/Rosjava/Java Package Names == Java Package Names == Always make sure you use a unique package name. If you're not a java programmer, and baulk at the idea of using long names, get used to it. It's really not that big a deal and the rest of the world manages to do so. You'll also find Java IDE's are very convenient at helping you manage them (hardly ever need to write one of these out in full). === Conventions === * '''org.ros.xxx''' are reserved for the core stacks ([[rosjava_core]], [[android_core]] - Damon Kohler). * '''com.github..''' is a good convention for github stacks when you don't have your own unique url. === Maven Group Names === It's also a good idea to use the same fully qualified package name for the maven group name (i.e. the one you insert in `build.gradle`). An important exception to the above rules are for [[rosjava/Tutorials/hydro/Unofficial Messages|unofficial message artifacts]]. If you want a seamless transition from unofficial to official, or between officially released artifacts and artifacts generated from sources, be sure to set the maven group name as `org.ros.rosjava_messages`. === Other Notes === * [[http://rosjava.github.io/rosjava_core/best_practices.html|Best Practices]] - some comments from Damon Kohler.