Java, Eclipse Plugin Development and best software development practices
Wednesday, December 9, 2015
Managing eclipse global preferences / eclipse installation level preferences
Where are the global preferences stored for eclipse?
eclipse\configuration\.settings
folder
Here some plugins store their global preferences. For example: the recent workspace settings are in
org.eclipse.ui.ide.prefs
.
MAX_RECENT_WORKSPACES=5
RECENT_WORKSPACES=/Users/kondalkolipaka/development/workspaces/devbranch2\n/Users/kondalkolipaka/development/workspaces/devbranch
RECENT_WORKSPACES_PROTOCOL=3
SHOW_WORKSPACE_SELECTION_DIALOG=true
eclipse.preferences.version=1
Same way you can store your plugin global preferences in your own file.
http://mcuoneclipse.com/2012/04/06/eclipse-global-preferences/
Tuesday, December 8, 2015
Suppress warnings for non-nls string literals
@SuppressWarnings("nls") suppress warnings relative to non-nls string literals
Example:
Example:
@SuppressWarnings("nls")
private static final String[] PLATFORMS = { "iphone", "ipad", "windows", "android" };
Complete list:
The list of tokens that can be used inside a
SuppressWarnings
annotation is:- all to suppress all warnings
- boxing to suppress warnings relative to boxing/unboxing operations
- cast to suppress warnings relative to cast operations
- dep-ann to suppress warnings relative to deprecated annotation
- deprecation to suppress warnings relative to deprecation
- fallthrough to suppress warnings relative to missing breaks in switch statements
- finally to suppress warnings relative to finally block that don't return
- hiding to suppress warnings relative to locals that hide variable
- incomplete-switch to suppress warnings relative to missing entries in a switch statement (enum case)
- javadoc to suppress warnings relative to javadoc warnings
- nls to suppress warnings relative to non-nls string literals
- null to suppress warnings relative to null analysis
- rawtypes to suppress warnings relative to usage of raw types
- resource to suppress warnings relative to usage of resources of type Closeable
- restriction to suppress warnings relative to usage of discouraged or forbidden references
- serial to suppress warnings relative to missing serialVersionUID field for a serializable class
- static-access to suppress warnings relative to incorrect static access
- static-method to suppress warnings relative to methods that could be declared as static
- super to suppress warnings relative to overriding a method without super invocations
- synthetic-access to suppress warnings relative to unoptimized access from inner classes
- sync-override to suppress warnings because of missing synchronize when overriding a synchronized method
- unchecked to suppress warnings relative to unchecked operations
- unqualified-field-access to suppress warnings relative to field access unqualified
- unused to suppress warnings relative to unused code and dead code
Sunday, December 6, 2015
Fragments in OSGI - Eclipse
A Bundle fragment, or simply a fragment, is a bundle whose contents are made available to another bundle (the fragment host). Importantly, fragments share the classloader of their parent bundle. One notable difference is that fragments do not participate in the lifecycle of the bundle, and therefore cannot have an Bundle-Activator.
Example:
These are 2 plugins which does not have any activator classes.
org.eclipse.epp.logging.aeri.ui
org.eclipse.epp.logging.aeri.ide - Host Plugin
And, In org.eclipse.epp.logging.aeri.ide plugin MANIFEST.MF file, you can find below section:
Fragment-Host: org.eclipse.epp.logging.aeri.ui;bundle-version="1.0.0"
At runtime the fragment is merged with its host plug-in and for the runtime both projects are just one. Fragments are always optional for their host plug-in and the host plug-in doesn't even know that it exists.
Thursday, December 3, 2015
"No repository found containing: osgi.bundle" error message during the Eclipse udpate
Below trick helped me to resolve the problem.
Help>Install new software>Uncheck "Contact all update sites during install to find required software"
Help>Install new software>Uncheck "Contact all update sites during install to find required software"
Tuesday, December 1, 2015
How to identify whether you working in development or debug mode in eclipse RCP
Being a eclipse plugin development programmer, we need to perform certain operations based on the mode you working on.
Eclipse provides a way to identify whether your eclipse is running in debug mode or development mode.
Eclipse provides a way to identify whether your eclipse is running in debug mode or development mode.
if (Platform.inDevelopmentMode()) //it will look for osgi.dev property
{
//you are running in development mode.
}
if (Platform.inDebugMode()) //it will look for osgi.debug property
{
//you are running in debug mode.
}
Monday, November 30, 2015
Git stash save with name and re-apply with the name
To save your changes with name "xxx"
$ git stash save "xxx"
Apply whenever you want it back.
$ git stash apply stash^{/xxx}
Lot of other solutions @
http://stackoverflow.com/questions/11269256/how-to-name-a-stash-in-git
$ git stash save "xxx"
Apply whenever you want it back.
$ git stash apply stash^{/xxx}
Lot of other solutions @
http://stackoverflow.com/questions/11269256/how-to-name-a-stash-in-git
Subscribe to:
Posts (Atom)