`

定制eclipse的SVN插件subclipse

阅读更多
需求背景:项目进行到AT阶段,Source的移管已经不是轻易的Submit能解决的了。专门人员负责开发版Source和AT服务器端Source的更新操作,而作为一个Bug Fixer那只能将你的Source建立Tags,让负责人员把你的Source慎重的移送到AT环境中去。而这一个过程中建立Tag也是有一定规则的,不能乱建。例如:http://www.uugu.org/uugu/trunk/tags/RES_SIR_(BugID)_(YYYYMMDD)/src/***/UserAction.java
而针对这样一个Tag,每次我们都需要去修改它的BugID,日期,还有单个文件时需要在URL最后面手动添加文件名。这样的操作势必在我这个懒人眼里是那么的浪费时间!!!因此,我想到修改eclipse的SVN插件subclipse。

需求:每次建立Tag时,只要选择文件右键Team->Branch/Tag…,在打开的窗口中需要自动生成上面格式的URL,而其中的BugID,日期以及文件名也都需要动态改变。当然,建立第一个Tag时其中的BugID还是需要自己去填写的,仅仅是以后同一个BugID的Tag不需要修改了。只需要一路下一步即可。

开始:
1. 思考我需要改哪些地方?UI!好,那就是org.tigris.subversion.subclipse.ui这个jar包了。
2. 去官网把最新的Source Download下来。SVN URL: http://subclipse.tigris.org/svn/subclipse  USERNAME: guest PASSWORD: 空 即可。
3. 打开Eclipse建立Java工程,将下载好的ui工程导入进来。
4. 修改哪些地方呢?这是我最费时间的地方,不过经过我千方百计的实验,你们可以拿成果物了!就是org.tigris.subversion.subclipse.ui.wizards这个包里面。这里面是所有功能向导的UI代码。而我需要修改就是BranchTagWizardRepositoryPage这个文件了。
5. 我需要每次打开向导界面的时候就自动生成URL,填充到URL框体中。这块是修改toUrlCombo的setText的内容,定义个方法getTagsUrl(getCommonRoot(),multipleSelections())。目的就是读取配置文件,自动组合URL。



private String getTagsUrl(String Url,boolean multipleSelect){
String tagsUrl = "";
InputStream in;
try {
in = new BufferedInputStream(new FileInputStream(filePath));
Properties p = new Properties();
p.load(in);
String type = p.getProperty("TYPE");
String num = p.getProperty("NUM");
String ProjectName = p.getProperty("PROJECT");
in.close();
DateFormat df = new SimpleDateFormat("yyyyMMdd");
tagsUrl = "eBuilder/tags/RES_"+type+"_"+ num + "_" + df.format(new Date());
Url = Url.replace(ProjectName, tagsUrl);
//针对选择多个文件的情况,不需要在URL后面添加文件名
if(!multipleSelect){
String name = null;
if (branchResources[0].getResource() == null) name = branchResources[0].getRemoteResource

().getName();
else name = branchResources[0].getResource().getName();
Url = Url + "/" + name;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return Url;
}



toUrlCombo.getCombo().addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
if(toUrlCombo.getText().length()>=77){
String[] strs = toUrlCombo.getText().split("_");
String TYPE = strs[2];
String num = strs[3];

Properties prop = new Properties();
InputStream fis;
try {
fis = new FileInputStream(filePath);
prop.load(fis);
fis.close();
OutputStream fos = new FileOutputStream(filePath);
prop.setProperty("TYPE", TYPE);
prop.setProperty("NUM", num);
prop.store(fos,"Updated");
fos.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
viewer.refresh();
}
});



7. 讲编译好的class替换原先jar包对应的class,然后将jar包替换eclipse里plugins文件夹内同名jar包就可以了。


laiyuan:http://chenzhiguo.cn/archives/modify_subclipse
分享到:
评论

相关推荐

    eclipse SVN插件 subclipse1.8.4 离线安装包

    Subclipse 是一个为 Eclipse IDE 添加 Subversion 支持的项目。支持几乎所有版本的Eclipse。Subclipse 1.8.4 ,支持Subversion 1.7.0,支持离线安装。解压后即可安装。

    eclipse中使用svn的插件(subclipse4.3.4、javahl1.14)

    我安装了TortoiseSVN 1.14.5,Spring Tool Suite 4 (Version: 4.8.0.RELEASE),提示我插件版本太旧,使用了对应版本(svn_subclipse.core_4.3.4&javahl_1.14)的插件能够在eclipse中正常使用svn插件了。...

    配合eclipse svn插件subclipse-4.3.4版本的javahl

    配合eclipse svn插件subclipse-4.3.4版本的javahl,将其中的features和plugins目录解压到与subclipse-4.3.4插件同一目录下即可。在eclipse 4.31版本上验证有效。

    eclipse svn插件包 subclipse-site 1.8

    附件:eclipse的svn插件包 1、解压 2、将features里的文件拷贝到eclipse目录下的features中 将plugins里的文件拷贝到eclipse目录下的plugins中 3、重启eclipse show view - > other 中出现svn,就可以添加svn...

    eclipse svn插件 subclipse

    Subclipse是Eclipse集成开发环境(IDE)中的一个开源插件,主要用于支持版本控制系统Subversion(SVN)。Subversion是一个用于版本控制的系统,能够跟踪文件和目录的更改,便于团队协作开发。Subclipse作为Eclipse的...

    Eclipse SVN插件 Eclipse SVN插件

    Subversive和Subclipse是两个主要的Eclipse SVN插件,它们都遵循Eclipse插件开发标准,与Eclipse平台无缝集成。 二、安装Eclipse SVN插件 1. Subversive安装: - 打开Eclipse,进入"Help" -> "Eclipse ...

    eclipse svn插件 官方下载绿色版

    打开Eclipse,进入"Help"菜单,选择"Eclipse Marketplace",在搜索框中输入“Subversive”或“Subclipse”,这两个都是知名的Eclipse SVN插件。根据个人偏好选择一个,然后按照提示步骤进行安装。官方绿色版可能是指...

    Eclipse svn1.9离线包下载

    Eclipse SVN插件使得用户在Eclipse内可以直接进行版本控制操作,如代码提交、更新、合并等,无需离开IDE。 在这个Eclipse SVN 1.9离线包中,包含了以下几个关键组件和资源: 1. index.html:这是Eclipse插件的欢迎...

    eclipse svn1.8插件下载

    在Eclipse中安装SVN 1.8插件,首先你需要访问官方网站或者第三方资源库,找到适用于你当前Eclipse版本的SVN插件包。通常这个包会包含两个主要部分:`features`和`plugins`目录。`features`目录下的文件是Eclipse的...

    eclipse svn离线插件subclipse

    eclipse svn离线插件subclipse

    eclipse-SVN插件

    1. **下载插件**:可以从Eclipse Marketplace或者官方网站下载Subversive或Subclipse这两款常用的SVN插件。 2. **安装插件**:在Eclipse中选择“Help” > “Eclipse Marketplace”,搜索对应插件并按照向导进行安装...

    eclipse svn 最新插件 subclipse

    Eclipse SVN最新插件Subclipse是为Eclipse IDE提供的一款强大的版本控制系统,它使得开发者能够在Eclipse环境中方便地管理和协作代码。Subversion(SVN)是广泛应用的版本控制系统,用于跟踪文件和目录的修改,方便...

    SVN Eclipse插件Subclipse安装和配置

    Subclipse作为一个强大的SVN插件,让Eclipse用户无需离开熟悉的开发环境就能高效地进行版本控制,促进了团队协作和代码质量的提升。通过上述步骤,开发者可以轻松地在Eclipse中安装和配置Subclipse,享受无缝集成的...

    eclipse中svn插件的使用

    首先,确保Eclipse环境已安装,然后通过Help菜单下的Eclipse Marketplace搜索并安装“Subclipse”或“SlikSVN”,这两个都是常用的SVN插件。完成安装后,重启Eclipse,检查Preferences中是否新增了Team-SVN选项,这...

    eclipse svn离线插件 subclipse-4.2.2+subclipse-javahl-1.9.7

    Eclipse SVN离线插件Subclipse是开发人员在Eclipse集成开发环境中管理版本控制的一种工具。Subclipse提供了对Subversion(SVN)的强大支持,使得开发者可以在不离开Eclipse的情况下进行版本控制操作,如提交、更新、...

    eclipse svn中文插件

    Eclipse作为广泛使用的Java IDE,其强大的可扩展性使得开发者能够方便地安装和使用各种插件,而SVN插件就是其中之一。 Subversion是一种开源的版本控制系统,用于管理项目源代码的历史版本,支持多人协作开发,可以...

    eclipse-svn插件,直接放到插件目录下重启既可以

    1. 下载SVN插件:访问Subclipse的官方网站或者通过Eclipse Marketplace搜索并下载Subclipse。下载的是一个包含多个jar文件的压缩包。 2. 将压缩包解压,找到其中的.jar文件。这些文件通常是插件的核心组件。 3. ...

    Eclipse svn1.10.13插件,适合1.9X

    1. **Eclipse SVN插件**:Eclipse SVN插件(如Subversive或Subclipse)将SVN的功能无缝集成到Eclipse IDE中,提供了图形化的用户界面,使得开发者无需离开IDE就能进行版本控制操作,如添加、删除、更新、提交、合并...

    Subclipse eclipse svn插件

    Subclipse是Eclipse集成开发环境(IDE)中的一个开源插件,主要用于支持版本控制系统Subversion(SVN)。这个插件让开发者能够在Eclipse中直接进行版本控制操作,如提交、更新、合并、分支和标签等,极大地提高了...

    svn插件subclipse1.10X最新版

    Subclipse是专为Eclipse集成开发环境(IDE)设计的一个插件,它使得开发者可以在Eclipse中直接进行SVN版本控制操作,提供了与SVN服务器的无缝集成。Subclipse 1.10X是该插件的一个较新版本,它可能包含性能优化和新...

Global site tag (gtag.js) - Google Analytics