Monday, May 9, 2016

Control decoration example

boolean isInstalled =/**...**/


Button appBtn = new Button(myComp, SWT.CHECK);
appBtn.setText("Upload to Server");
appBtn.setEnabled(isInstalled);

final ControlDecoration dec = new ControlDecoration(appBtn, SWT.TOP | SWT.RIGHT);
dec.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_DEC_FIELD_WARNING));
dec.setDescriptionText("Upload to Server feature is not available on the current plan");
dec.show();

Thursday, May 5, 2016

Programatically changing the eclipse perspective

try
{
   PlatformUI.getWorkbench().showPerspective("StudioPerspective", PlatformUI.getWorkbench().getActiveWorkbenchWindow());
}
catch (WorkbenchException e)
{
  e.printStackTrace();

}

Thursday, April 7, 2016

Merging multiple commits into a single commit which are already pushed into a central repository

If you're merging local commits:

If the code is already pushed into a central repository and having multiple commits for a single fix/feature, now you wanted to merge couple commits into a single commit to make the git history clear.

Step 1: Identify how many last commits you wanted to merge ?

$ git reflog
4585fc6 HEAD@{0}: commit: fixig build scripts
c10447a HEAD@{1}: commit: fixing build issues
baa56c0 HEAD@{2}: commit: Using forked repo for testing
f744eec HEAD@{3}: commit: Missing tag
c30816d HEAD@{4}: commit: Missing tag
ea302be HEAD@{5}: commit: Removing bin folder
6560cb9 HEAD@{6}: commit: Build files and studio plugins folder structure

From above, I wanted to merge from HEAD@{0} to HEAD@{6} - That basically last 7 commits


Step 2: Rebase interactively

$ git rebase -i origin/master~7 master


Step 3:  Push the changes forcefully to a central repo

$ git push origin +master


Monday, March 21, 2016

Updating eclipse features/plugins from terminal


Format:
./eclipse -clean -purgeHistory -application org.eclipse.equinox.p2.director -noSplash -repository <update site url> -installIUs <feature ID> 


Examples:

./eclipse -clean -purgeHistory -application org.eclipse.equinox.p2.director -noSplash -repository http://download.eclipse.org/recommenders/updates/stable/ -installIUs org.eclipse.recommenders.repositories.categories.deps 


./eclipse -clean -purgeHistory -application org.eclipse.equinox.p2.director -noSplash -repository http://download.eclipse.org/mylyn/releases/latest -installIUs org.eclipse.mylyn.commons.sdk.feature.group


./eclipse -clean -purgeHistory -application org.eclipse.equinox.p2.director -noSplash -repository http://download.eclipse.org/mylyn/releases/latest -installIUs org.eclipse.mylyn.commons.notifications.feature.group


./eclipse -clean -purgeHistory -application org.eclipse.equinox.p2.director -noSplash -repository http://download.eclipse.org/modeling/emf/updates/releases/ -installIUs org.eclipse.emf.databinding.edit.feature.group



Resources: