Hello world项目文件和结构简单说明
1. pom.xml文件
maven项目的配置文件,定义项目属性和依赖关系
可以修改以下几个项目,其他无需修改
- <artifactId>helloworld</artifactId>
插件id - <version>1.0-SNAPSHOT</version>
插件版本
<name>TODO Plugin</name>
插件名
2. 项目主要目录和文件
image.png其中_de _es等文件是多语言本地化文件,为避免干扰可以全部删除只保留一个
删除后的视图如下
image.png
- HelloWorldBuilder/config.jelly 网页配置文件
jelly是扩展的xml,可以访问本地化变量
例如title="${%Name}访问了config.properties文件中的Name
field="name"访问了HelloWorldBuild.java文件中HelloWorldBuilder类的private final String name;变量 - HelloWorldBuild.java 数据存取和逻辑处理文件
其中有@DataBoundConstructor标签的是数据存储接口,在插件UI上填写数据后点击保存,将访问对应的数据存储接口
例如,在网页上勾选Use French的Check Box之后点击保存,将会访问下面的方法。
@DataBoundSetter
public void setUseFrench(boolean useFrench) {
this.useFrench = useFrench;
}
存储器命名规则为: set + 变量名(首字母大写)
对应的数据读取函数命名规则为get + 变量名(首字母大写)
例如,配置网页上的name字段并保存,刷新页面将会调用下面的方法获取name值用来显示。
public String getName() {
return name;
}
3. config.properties
config.jelly中使用的本地化变量定义在这里
例如title="${%Name}的Name变量
4. Message.properties
这里定义的变量会自动生成到target目录下的Message.java
以便java文件调用
image.png
例如HelloWorldBuilder.java中的错误提示Messages.HelloWorldBuilder_DescriptorImpl_errors_missingName()
-
HelloWorldBuilder/help-name.html
网页上name字段的帮助文档,命名规则为help-变量名.html -
work/jobs/test/config.xml
插件数据持久化文件,插件上的数据填写并保存后会存储在这里
例子
<?xml version='1.1' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<io.jenkins.plugins.apkpacker.ApkPacker plugin="apk-packer@1.0.1">
<pluginOn>true</pluginOn>
<keystore>2</keystore>
<appid>1</appid>
<userid>3</userid>
<channelConfigs>
<io.jenkins.plugins.apkpacker.ChannelConfig>
<isOn>true</isOn>
<name>4</name>
<platformConfigs>
<io.jenkins.plugins.apkpacker.PlatformConfig>
<name>5</name>
<versionNo>6</versionNo>
</io.jenkins.plugins.apkpacker.PlatformConfig>
</platformConfigs>
<pluginConfigs>
<io.jenkins.plugins.apkpacker.PluginConfig>
<name>7</name>
<versionNo>8</versionNo>
</io.jenkins.plugins.apkpacker.PluginConfig>
</pluginConfigs>
</io.jenkins.plugins.apkpacker.ChannelConfig>
</channelConfigs>
</io.jenkins.plugins.apkpacker.ApkPacker>
</builders>
<publishers/>
<buildWrappers/>
</project>
- work/workspace目录
windows上开发时的Jenkins工作目录。
网友评论