📄 build-impl.xml
字号:
</uptodate>
</or>
</condition>
<uptodate property="obfuscation.up-to-date" targetfile="${obfuscator.destjar}">
<srcfiles dir="${buildsystem.baton}"/>
</uptodate>
</target>
<target name="skip-obfuscation" depends="proguard-init" if="obfuscation.up-to-date">
<fail unless="obfuscated.classes.dir">Must set obfuscated.classes.dir</fail>
<nb-overrideproperty name="buildsystem.baton" value="${obfuscated.classes.dir}"/>
</target>
<target name="proguard" depends="skip-obfuscation" description="Obfuscate project classes." unless="no.obfusc">
<fail unless="obfuscated.classes.dir">Must set obfuscated.classes.dir</fail>
<fail unless="obfuscator.srcjar">Must set obfuscator.srcjar</fail>
<fail unless="obfuscator.destjar">Must set obfuscator.destjar</fail>
<property name="obfuscator.classpath" value=""/>
<dirname file="${obfuscator.srcjar}" property="obfuscator.srcjar.dir"/>
<dirname file="${obfuscator.destjar}" property="obfuscator.destjar.dir"/>
<mkdir dir="${obfuscator.srcjar.dir}"/>
<mkdir dir="${obfuscator.destjar.dir}"/>
<jar jarfile="${obfuscator.srcjar}" basedir="${buildsystem.baton}"/>
<property name="obfuscation.custom" value=""/>
<nb-obfuscate srcjar="${obfuscator.srcjar}" destjar="${obfuscator.destjar}" obfuscatorclasspath="${obfuscator.classpath}" classpath="${platform.bootclasspath}:${extra.classpath}" obfuscationLevel="${obfuscation.level}" extraScript="${obfuscation.custom}"/>
<mkdir dir="${obfuscated.classes.dir}"/>
<unjar src="${obfuscator.destjar}" dest="${obfuscated.classes.dir}"/>
<nb-overrideproperty name="buildsystem.baton" value="${obfuscated.classes.dir}"/>
</target>
<!--obfuscate-->
<target name="pre-obfuscate"/>
<target name="post-obfuscate"/>
<target name="obfuscate" depends="compile,pre-obfuscate,proguard,post-obfuscate" description="Obfuscate project classes."/>
<!--preverify-->
<target name="pre-preverify"/>
<target name="do-preverify" if="cldc-platform.trigger">
<fail unless="preverify.classes.dir">Must set preverify.classes.dir</fail>
<mkdir dir="${preverify.sources.dir}"/>
<copy todir="${preverify.sources.dir}">
<fileset dir="${buildsystem.baton}" includes="**/*.class"/>
</copy>
<mkdir dir="${preverify.classes.dir}"/>
<nb-preverify srcdir="${preverify.sources.dir}" destdir="${preverify.classes.dir}" classpath="${platform.bootclasspath}:${extra.classpath}" configuration="${platform.configuration}" platformhome="${platform.home}" platformtype="${platform.type}" commandline="${platform.preverifycommandline}"/>
<copy todir="${preverify.classes.dir}">
<fileset dir="${buildsystem.baton}" defaultexcludes="${filter.use.standard}" excludes="${filter.excludes.evaluated},${build.classes.excludes}"/>
</copy>
<nb-overrideproperty name="buildsystem.baton" value="${preverify.classes.dir}"/>
</target>
<target name="post-preverify"/>
<target name="preverify" depends="obfuscate,pre-preverify,do-preverify,post-preverify" description="Preverify project classes."/>
<!--set-password-->
<target name="set-password-init">
<property name="sign.enabled" value="false"/>
<condition property="skip-sign-keystore-password-input">
<or>
<isfalse value="${sign.enabled}"/>
<and>
<isset property="sign.keystore"/>
<isset property="sign.keystore.password"/>
<not>
<equals arg1="${sign.keystore}" arg2="" trim="true"/>
</not>
<not>
<equals arg1="${sign.keystore.password}" arg2="" trim="true"/>
</not>
</and>
</or>
</condition>
<condition property="skip-sign-alias-password-input">
<or>
<isfalse value="${sign.enabled}"/>
<and>
<isset property="sign.keystore"/>
<isset property="sign.alias"/>
<isset property="sign.alias.password"/>
<not>
<equals arg1="${sign.keystore}" arg2="" trim="true"/>
</not>
<not>
<equals arg1="${sign.alias}" arg2="" trim="true"/>
</not>
<not>
<equals arg1="${sign.alias.password}" arg2="" trim="true"/>
</not>
</and>
</or>
</condition>
</target>
<target name="set-keystore-password" if="netbeans.home" unless="skip-sign-keystore-password-input">
<nb-enter-password keystore="${sign.keystore}" passwordproperty="sign.keystore.password"/>
</target>
<target name="set-alias-password" if="netbeans.home" unless="skip-sign-alias-password-input">
<nb-enter-password keystore="${sign.keystore}" keyalias="${sign.alias}" passwordproperty="sign.alias.password"/>
</target>
<target name="set-password" depends="set-password-init,set-keystore-password,set-alias-password"/>
<!--create JAD-->
<target name="add-configuration" unless="contains.manifest.configuration">
<nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8" append="true">MicroEdition-Configuration: ${platform.configuration}
</nb-output>
<nb-output file="${manifest.build.file}" encoding="UTF-8" append="true">MicroEdition-Configuration: ${platform.configuration}
</nb-output>
</target>
<target name="add-profile" unless="contains.manifest.profile">
<nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8" append="true">MicroEdition-Profile: ${platform.profile}
</nb-output>
<nb-output file="${manifest.build.file}" encoding="UTF-8" append="true">MicroEdition-Profile: ${platform.profile}
</nb-output>
</target>
<target name="create-jad" if="cldc-platform.trigger">
<fail unless="dist.jad">Must set dist.jad</fail>
<mkdir dir="${build.dir}"/>
<dirname file="${dist.dir}/${dist.jad}" property="dist.jad.dir"/>
<mkdir dir="${dist.jad.dir}"/>
<condition property="evaluated.manifest.apipermissions" value="${manifest.apipermissions}">
<not>
<equals arg1="${platform.profile}" arg2="MIDP-1.0"/>
</not>
</condition>
<condition property="evaluated.manifest.pushregistry" value="${manifest.pushregistry}">
<not>
<equals arg1="${platform.profile}" arg2="MIDP-1.0"/>
</not>
</condition>
<condition property="contains.manifest.configuration">
<contains substring="MicroEdition-Configuration: " string="${manifest.others}"/>
</condition>
<condition property="contains.manifest.profile">
<contains substring="MicroEdition-Profile: " string="${manifest.others}"/>
</condition>
<property value="" name="evaluated.manifest.apipermissions"/>
<property value="" name="evaluated.manifest.pushregistry"/>
<property name="manifest.jad" value=""/>
<property name="manifest.manifest" value=""/>
<nb-output file="${dist.dir}/${dist.jad}" encoding="UTF-8">${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.jad}</nb-output>
<nb-output file="${manifest.build.file}" encoding="UTF-8">${manifest.midlets}${evaluated.manifest.apipermissions}${evaluated.manifest.pushregistry}${manifest.others}${manifest.manifest}</nb-output>
<antcall target="add-configuration" inheritall="true" inheritrefs="true"/>
<antcall target="add-profile" inheritall="true" inheritrefs="true"/>
<property name="manifest.available" value="true"/>
</target>
<!--do-extra-libs-->
<target name="do-extra-libs" if="extra.classpath">
<property name="dist.lib.dir" value="${dist.dir}/lib"/>
<mkdir dir="${dist.lib.dir}"/>
<copypath destdir="${dist.lib.dir}" path="${extra.classpath}">
<flattenmapper/>
</copypath>
</target>
<!--nokiaS80-manifest-->
<target name="nokiaS80-prepare-j9" if="nokiaS80-platform.trigger">
<fail message="Main class is not set!">
<condition>
<equals arg1="${main.class}" arg2="" trim="true"/>
</condition>
</fail>
<mkdir dir="${build.dir}/j9"/>
<taskdef name="j9builder" classname="org.netbeans.modules.j2me.cdc.project.J9Builder" classpath="${libs.cdc-ant-utils.classpath}"/>
<j9builder jvmargs="${run.jvmargs}" mainclass="${main.class}" args="${application.args}" home="${platform.home}" dist="${j9.dist}" id="NOKIA" platform="${platform.type}" xlet="${main.class.xlet}" applet="${main.class.applet}" jarname="${dist.jar}"/>
<copy file="${manifest.file}" tofile="${manifest.build.file}" failonerror="false"/>
<property name="manifest.available" value="true"/>
<loadfile property="nokia.manifest.j9" srcFile="${j9.dist}"/>
</target>
<target name="nokiaS80-prepare-manifest" depends="nokiaS80-prepare-j9" if="nokiaS80-platform.trigger" unless="nokia.icon.invalid">
<pathconvert property="logo.icon.name" pathsep=" ">
<path path="${nokiaS80.application.icon}"/>
<chainedmapper>
<flattenmapper/>
<globmapper from="*" to="*"/>
</chainedmapper>
</pathconvert>
<copy file="${nokiaS80.application.icon}" todir="${buildsystem.baton}"/>
<manifest file="${manifest.build.file}" mode="update">
<attribute name="Main-Class" value="${main.class}"/>
<attribute name="PproApp-Name" value="${application.name}"/>
<attribute name="PproApp-Vendor" value="${application.vendor}"/>
<attribute name="PproApp-Version" value="${deployment.number}"/>
<attribute name="PproApp-Icon" value="${logo.icon.name}"/>
<attribute name="x-ibm-pp-j9" value="${nokia.manifest.j9}"/>
</manifest>
</target>
<target name="nokiaS80-prepare-manifest-no-icon" depends="nokiaS80-prepare-j9" if="nokia.icon.invalid">
<manifest file="${manifest.build.file}" mode="update">
<attribute name="Main-Class" value="${main.class}"/>
<attribute name="PproApp-Name" value="${application.name}"/>
<attribute name="PproApp-Vendor" value="${application.vendor}"/>
<attribute name="PproApp-Version" value="${deployment.number}"/>
<attribute name="x-ibm-pp-j9" value="${nokia.manifest.j9}"/>
</manifest>
</target>
<target name="nokiaS80-create-manifest" depends="nokiaS80-prepare-j9,nokiaS80-prepare-manifest,nokiaS80-prepare-manifest-no-icon" if="nokiaS80-platform.trigger"/>
<!--semc-build-j9-->
<target name="semc-build-j9" if="semc-platform.trigger">
<epocpathsetter home="${platform.home}"/>
<property name="semc.application.caps" value=""/>
<mkdir dir="${platform.home}/epoc32/winscw/c/private/${semc.application.uid}"/>
<mkdir dir="${build.dir}/j9"/>
<fail message="Main class is not set!">
<condition>
<equals arg1="${main.class}" arg2="" trim="true"/>
</condition>
</fail>
<j9builder jvmargs="${run.jvmargs}" mainclass="${main.class}" args="${application.args}" home="${platform.home}" dist="${j9.dist}" id="${semc.application.uid}" platform="${platform.type}" xlet="${main.class.xlet}" applet="${main.class.applet}" jarname="${dist.jar}"/>
</target>
<!--do-jar-->
<target name="do-jar" if="manifest.available">
<dirname file="${dist.dir}/${dist.jar}" property="dist.jar.dir"/>
<mkdir dir="${dist.jar.dir}"/>
<property name="manifest.build.file" location="${manifest.file}"/>
<jar compress="${jar.compress}" jarfile="${dist.dir}/${dist.jar}" manifest="${manifest.build.file}" manifestencoding="UTF-8">
<fileset dir="${buildsystem.baton}"/>
</jar>
</target>
<!--nsicom-create-manifest-->
<target name="nsicom-create-manifest" if="nsicom-platform.trigger">
<jar jarfile="${dist.dir}/${dist.jar}" compress="${jar.compress}" update="true">
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>
</target>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -