During two evenings (Saturday and Monday) I made plugin for Total Commander. This plugin is based on java plugin interface (by Ken Händel) located here http://www.totalcmd.net/plugring/tc_java.html.
All source code you may find at my github https://github.com/crc83/tc-git-plugin
Binary distribution you may create by running mvn assembly, or download from here: https://github.com/crc83/tc-git-plugin/blob/master/binary/GitDetails-1.0.zip
Please contact me if you would like to see more features in this plugin.
Monday, October 7, 2013
Thursday, September 12, 2013
Intellij Idea task repository plugin creation
Key notes
1) Reuse existing infrastructure
@Tag("Rally") // This is name of part in xml configuration file where your settings will be storedpublic class RallyRepository extends BaseRepositoryImpl {
public class RallyRepositoryType extends BaseRepositoryType<RallyRepository> {// UI things are located here (repository name, icon and stuff)public class RallyTask extends Task {// It's all about tasks. But nothing special here. Just implement all methods carefullyMETA-INF/plugin.xml// In this file you may find some plugin configuration. But there is also nothing special
Making all the stuff works
All configuration goes through repository deitor which is responsible for reading changing and storing configuration. So extend existing one:
public class RallyRepositoryEditor extends BaseRepositoryEditor<RallyRepository> {
What is necesary to understand before implementation is that editor is tightly coupled with repository itself. Main items:
1) Editor check if something changed via equals method of repository (In our case RallyRepository)
2) Editor uses copying constructor of repository to create new changed instance of it
3) Editor serializes and deserializes repository according to bean conventions by default, so don't forget about appropriate getters and setters
4) Also don't use getXXX and setXXX methods for fields you don't whant to serialize. (There is @Transient annotation and you can use it)
5) Don't invoke logger in constructior of repository
You may refer my own plugin at github for additional implementation details (https://github.com/crc83/rallydev). I changed a lot from one that I forked (https://github.com/RallySoftware/intellij-plugin).
Download ready to use jar you can from here (http://dl.bintray.com/crc83/generic/rallydev.zip).
Monday, April 1, 2013
BuildHive + Github, Precommit builds for free
In previous post I wrote about integration your github repository with continious integration server buildhive from cloudbees.
Now I'd like to write about one incredible feature I discovered recently.
Here is it. BuildHive CI server tracs all pul requests to your repository. So what it do when it discover new pull request? It build your master with changes from pullrequest. Then CI server makes comment to your pull request in case build was succesfull or not (see screenshot above).
And last but not least. You CAN make pull requests to your own repo in case you need this feature and you owner of the repo.
Now I'd like to write about one incredible feature I discovered recently.
Here is it. BuildHive CI server tracs all pul requests to your repository. So what it do when it discover new pull request? It build your master with changes from pullrequest. Then CI server makes comment to your pull request in case build was succesfull or not (see screenshot above).
And last but not least. You CAN make pull requests to your own repo in case you need this feature and you owner of the repo.
Thursday, January 3, 2013
Opensource development ecosystem
My aim was to have compleatly free development ecosystem for one project. Since this is java project I whanted to have java ecosystem. As a source control system was choosen git and that's why project was hosted at github (you know where it is so I don't put link here).
Subscribe to:
Posts (Atom)