package org.nodeclipse.ui.util; import org.eclipse.core.runtime.Platform; import org.osgi.framework.Bundle; import org.osgi.framework.Version; /** * asked http://stackoverflow.com/questions/19261994/eclipse-plugin-dev-how-to-get-current-bundle-version * @author Paul Verest * * example from ErrorLog Event Detail Session Data * eclipse.buildId=4.3.0.I20130605-2000 java.version=1.7.0_40 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN */ public class VersionUtil { public static String versionString = "UNDEFINED"; public static String eclipseVersionString = "UNDEFINED"; public static String javaVersionString = "UNDEFINED"; public static String osVersionString = "UNDEFINED"; static { if (Platform.isRunning()){ Bundle bundle = Platform.getBundle("org.nodeclipse.ui"); Version version = bundle.getVersion(); versionString = version.toString(); //""+version.getMajor()+" "+version.getMinor()+" "+version.getMicro()+" "+version.getQualifier(); eclipseVersionString = Platform.getBundle("org.eclipse.platform").getVersion().toString(); osVersionString = Platform.getOS()+','+Platform.getOSArch(); } // http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html javaVersionString = System.getProperty("java.version"); } public static String getLongString(){ return "Nodeclipse:"+VersionUtil.versionString+" Eclipse:"+VersionUtil.eclipseVersionString +" Java:"+VersionUtil.javaVersionString +" OS:"+VersionUtil.osVersionString+"\n"; } public VersionUtil() { } public static void main(String[] args){ System.out.println(getLongString()); } }