我正在尝试为jenkins启用日志轮换.因为日志文件占用了更多的内存空间.是否有任何插件或方法可以做到这一点?
我需要比较两个字符串 args,我曾经从中获取一个 arg 作为运行时输入(例如platform=windows,ios,mac),另一个具有在build.properties(例如project.supportedplatforms=windows,mac)下定义的值列表。如果条件匹配,那么它应该从一个宏定义到某个目标返回“真”否则“失败”。
<for list="${platform}" param="platformparam" trim="true">
<sequential>
<if>
<isItemExists retToProp="@{platformparam}" />
<then>
<antcall target="package.@{platformParam}" />
</then>
</if>
</sequential>
</for>
<macrodef name="isItemExists">
<attribute name="retToProp" />
<property name="itemtosearch" value="@{retToProp}" />
<for list="${project.supportedplatforms}" param="listparam" trim="true">
<if>
<equals arg1="@{listparam}" arg2="@{platformparam}" />
<then>
<!-- return true -->
</then>
<else>
<!-- return false -->
</else>
</if>
</for>
</macrodef>
Run Code Online (Sandbox Code Playgroud)
当${platforms}并且${project.supportedplatforms}具有相同的值时,它应该调用指定的目标。但是在这个片段中,macrodef-for 循环将执行 n 次,最后分配给什么值@{returnproperty},将抛出目标“build”,如果它发生这种情况并且输入有效,它不会做我的事情,因为 for 循环将按顺序执行。(例如platforms=windows,mac,android, project.supportedplatforms=ios,android,windows如果我的列表看起来像这样,是否有任何可能的方法来获得我的结果)。
<for list="${platforms}" param="platformparam" trim="true"> …Run Code Online (Sandbox Code Playgroud) 我需要从给定的URL拆分字符串并将其存储在属性中.
例如:url:projectname/qa/projectid/version属性需要存储:Name = projectname Mode = qa Id = projectid Version = version
在下面的XML中,需要使用XPath替换命名空间.
<application xmlns="http://ns.adobe.com/air/application/4.0">
<child id="1"></child>
<child id="2"></child>
</application>
Run Code Online (Sandbox Code Playgroud)
我试过了
/application/@xmlns
Run Code Online (Sandbox Code Playgroud)
和
/*[local-name()='application']/@[local-name()='xmlns']
Run Code Online (Sandbox Code Playgroud)
两者都未能给出欲望输出.为了替换文本,我使用了xmltask替换.
<xmltask source="${temp.file1}" dest="${temp.file1}">
<replace path="/application/@xmlns" withText="http://ns.adobe.com/air/application/16.0" />
</xmltask>
Run Code Online (Sandbox Code Playgroud)