FineReport V9.0插件引擎提供了插件打包前的预处理,用于完成加密、自动添加currentAPILevel()方法等功能。预处理部分只处理主包下的类。

build.xml中调用自定义任务:

<target name="compile_javas">
    <echo message="编译${compile_files}下的Java文件"/>
    <javac destdir="${classes}" debug="false" optimize="on" includeantruntime="false" source="${source_jdk_version}"
           target="${target_jdk_version}"
           fork="true" memoryMaximumSize="512m" listfiles="false" srcdir="${basedir}"
           executable="${compile_jdk_version}/bin/javac">
        <src path="${basedir}/src"/>
        <exclude name="**/.svn/**"/>
        <compilerarg line="-encoding UTF8 "/>
        <classpath refid="compile.classpath"/>
    </javac>
	<taskdef name="pretreatment" classname="com.fr.plugin.pack.PluginPretreatmentTask">
   		<classpath refid="compile.classpath"/>
	</taskdef>
	<pretreatment baseDir="${basedir}"/>
</target>

在javac中添加了

<taskdef name="pretreatment" classname="com.fr.plugin.pack.PluginPretreatmentTask">
    <classpath refid="compile.classpath"/>
</taskdef>
<pretreatment baseDir="${basedir}"/>

首先定义任务名称、对应的java类、任务所使用的lib,然后调用即可。

pretreatment任务目前有两个参数:
  1. baseDir:必选,传入${basedir}即可
  2. encrypt:可选,默认为true,表示加密