2.通过在这些部分的配置,可以将插件所做的事情加诸在整个构建周期中,插件提供的接口方法也会获得项目构建的上下文变量;
3.插件可以定义一些输入,这些输入框采用jelly+stapler开发,因此需要熟悉此两种工具(框架);
4.CIC平台开发的aoneExt插件是一个SCM插件,用来接受一个crid输入,它可以根据这个crid拿到多个svn分支,可以判断并给出这些分支是否变更等结果(SCM接口必须实现的)对这个插件的改造在于加一个应用名称作为输入即可,CIC的调度job时也需要修改,需要调度所有若干个同一crid的job。
5.工作做完后如有相应结果,其展示也使用jelly,其展示类需要实现HealthReportingAction或者Actionable,jelly文件放置在类文件同样目录下。
6.stapler,是一个web开发框架,类似于struts,但却不需要额外配置,只需要按约定的规则将页面文件放置在对应的包下,它就可以使用到对应的java对象进行展现,整个应用必须设置一个根对象,同时需要配置stapler为处理所有url的根servlet,其使用文档为:http://stapler.java.net/getting-started.html。
7.jelly,jelly是一个展示层框架,有点类似于velocity,有一些固定的语法,但其使用相比velocity略显复杂,与jstl非常相近,或者可以说是一个强大的jstl扩展包,在hudson中可以用来定义各种定制化的控件,如下拉菜单、字段配置片段等,参考:http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson,其中有writting jelly部分。
参考资料:
找这个javancss插件的源代码下来看一看就懂了。