@Paul - I seem to be following the same pattern as Simon. To avoid generating a snapshot version, you must remove the qualifier/snapshot parts for versions in both pom.xml and feature.xml (these must be in sync). p2.inf files are only for platform specific jre features (CA-CD)
@Axel - since a large number of our users are non-technical mac users, we had to integrate with a proper Mac packaging (a PITA). So, we do move things around a bit more in our maven build. I don't remember what was the source of this information, but we had to add the following elements in the p2.inf file.
IIRC, we had permission issues (see below) and (IIRC) found that *links are not necessarily preserved* during configuration. See the line for libjli.dylib. We copied the jre inside our osx jre feature and removed symlinks from the source and re-established at configuration (since these are lost).
instructions.configure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:../Eclipse/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/Home/jre/bin);\
org.eclipse.equinox.p2.touchpoint.natives.chmod(targetDir:${installFolder}/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/Home/jre/bin/,targetFile:java,permissions:755);\
org.eclipse.equinox.p2.touchpoint.natives.chmod(targetDir:${installFolder}/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/Home/jre/lib/,targetFile:jspawnhelper,permissions:755);\
org.eclipse.equinox.p2.touchpoint.natives.ln(targetDir:${installFolder}/features/cc.feature.jre.macosx.cocoa.x86_64_1.8.74/jre/Contents/MacOS/,linkName:libjli.dylib,linkTarget:../Home/jre/lib/jli/libjli.dylib);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:jre);
instructions.unconfigure=\
org.eclipse.equinox.p2.touchpoint.eclipse.setJvm(jvm:null);
HTH,
Stephane