<?
xml version =
"1.0" encoding =
"UTF-8" ?>
<!--
Licensed to the Apache Software Foundation ( ASF ) under one
or more contributor license agreements . See the NOTICE file
distributed with this work for additional information
regarding copyright ownership . The ASF licenses this file
to you under the Apache License , Version 2 . 0 ( the
" License " ) ; you may not use this file except in compliance
with the License . You may obtain a copy of the License at
http : / / www . apache . org / licenses / LICENSE - 2 . 0
Unless required by applicable law or agreed to in writing ,
software distributed under the License is distributed on an
" AS IS " BASIS , WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND , either express or implied . See the License for the
specific language governing permissions and limitations
under the License .
-->
<project name=
"suite-jnlp" basedir=
"." >
<!-- if jnlp.codebase is provided make both the app and the platform relative to it -->
<condition property=
"jnlp.codebase.app" value=
"${jnlp.codebase}app/" >
<isset property=
"jnlp.codebase" />
</condition>
<!-- if not specified, assign all codebases to value suitable for jnlp-servlet.jar -->
<property name=
"jnlp.codebase" value=
"$$$$codebase" />
<property name=
"jnlp.codebase.app" value=
"$$$$codebase" />
<target name=
"-check-for-master.jnlp" >
<available file=
"master.jnlp" property=
"master.jnlp.exists" />
</target>
<target name=
"jnlp-init-generate-master" depends=
"-check-for-master.jnlp" unless=
"master.jnlp.exists" >
<echo file=
"master.jnlp" ><![
CDATA [<?
xml version =
"1.0" encoding =
"UTF-8" ?>
<!
DOCTYPE jnlp
PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd " >
<jnlp spec=
"1.0+" codebase=
"${jnlp.codebase}" href =
"master.jnlp" >
<information>
<title>$${app.title}</title>
<vendor>$${app.title} vendor</vendor>
<description>$${app.name} application</description>
<icon
href =
"$${app.icon}" />
</information>
<security><all-permissions/></security>
<resources>
<!-- The following property is needed when running with unsigned jars: -->
<property name=
"netbeans.jnlp.fixPolicy" value=
"$${netbeans.jnlp.fixPolicy}" />
<extension name=
'branding' href =
'branding.jnlp' />
<!-- The following line will be replaced with an automatically generated list of resources: -->
<!--$${jnlp.resources}-->
</resources>
<resources os=
"Mac OS X" >
<property name=
"jnlp.netbeans.user" value=
"$${user.home}/Library/Application Support/$${app.name}" />
</resources>
<application-desc>
<argument>--branding</argument>
<argument>$${branding.token}</argument>
</application-desc>
</jnlp>
]]></echo>
<echo file=
"branding.jnlp" ><![
CDATA [<?
xml version =
"1.0" encoding =
"UTF-8" ?>
<!
DOCTYPE jnlp
PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd " >
<jnlp spec=
"1.0+" codebase=
"${jnlp.codebase}" >
<information>
<title>$${app.title}</title>
<vendor>$${app.title} vendor</vendor>
<description>$${app.name} application</description>
<icon
href =
"$${app.icon}" />
</information>
$${jnlp.permissions}
<resources>
$${jnlp.branding.jars}
</resources>
<component-desc/>
</jnlp>
]]></echo>
</target>
<target name=
"jnlp-init" depends=
"jnlp-init-generate-master" >
<fail unless=
"app.name" >Must have set at least an application name (
'app.name' )</fail>
<property name=
"jnlp.dest.dir" location=
"${suite.build.dir}/jnlp" />
<property name=
"jnlp.master.dir" location=
"${suite.build.dir}/tmp/master-jnlp" />
<mkdir dir=
"${jnlp.master.dir}" />
<property name=
"dist.dir" location=
"dist" />
<property name=
"disabled.modules" value=
"" />
<property name=
"enabled.clusters" value=
"" />
<property name=
"disabled.clusters" value=
"" />
<pathfileset
id =
"jnlp.included.modules" >
<path refid=
"cluster.path.id" />
<and>
<or>
<filename name=
"modules/**/*.jar" />
<filename name=
"lib/**/*.jar" />
<filename name=
"core/**/*.jar" />
</or>
<not>
<filename name=
"**/update/**/*.jar" />
</not>
<custom classpath=
"${harness.dir}/tasks.jar" classname=
"org.netbeans.nbbuild.ModuleSelector" >
<param name=
"excludeModules" value=
"${disabled.modules}" />
<param name=
"includeClusters" value=
"${enabled.clusters}" />
<param name=
"excludeClusters" value=
"${disabled.clusters}" />
</custom>
</and>
</pathfileset>
<property name=
"jnlp.sign.jars" value=
"true" />
<property name=
"jnlp.signjar.keystore" location=
"${suite.build.dir}/default.keystore" />
<property name=
"jnlp.signjar.alias" value=
"jnlp" />
<property name=
"jnlp.signjar.password" value=
"netbeans" />
<available property=
"jnlp.signjar.keystore.exists" file=
"${jnlp.signjar.keystore}" />
<condition property=
"jnlp.included.locales.impl" value=
"${jnlp.included.locales}" el
se="*" >
<isset property="jnlp.included.locales" />
</condition>
</target>
<target name="jnlp-generate-keystore" depends="jnlp-init" unless="jnlp.signjar.keystore.exists" >
<property name="jnlp.signjar.vendor" value="CN=${user.name}" />
<mkdir dir="${jnlp.signjar.keystore}/../" />
<echo message="Going to create default keystore in ${jnlp.signjar.keystore}" />
<genkey validity="365"
alias="${jnlp.signjar.alias}"
keystore="${jnlp.signjar.keystore}"
storepass="${jnlp.signjar.password}"
dname="${jnlp.signjar.vendor}"
/>
</target>
<target name="jnlp-generate-platform" depends="jnlp-generate-platform-repository,jnlp-generate-platform-master" />
<target name="jnlp-generate-platform-repository" depends="jnlp-generate-keystore,jnlp-init,set-all-permissions,set-empty-permissions" unless="jnlp.platform.codebase" >
<condition property="jnlp.platform.codebase.own" value="${jnlp.codebase}netbeans/" >
<not>
<equals arg1="${jnlp.codebase}" arg2="$$$$codebase" />
</not>
</condition>
<property name="jnlp.platform.codebase.own" value="$$$$codebase" />
<property name="jnlp.platform.codebase" value="netbeans/" />
<mkdir dir="${jnlp.dest.dir}/netbeans" />
<!-- See #70477 for why there is no verify=true here: -->
<makejnlp
appname="${app.name}"
includelocales="${jnlp.included.locales.impl}"
alias="${jnlp.signjar.alias}"
keystore="${jnlp.signjar.keystore}"
storepass="${jnlp.signjar.password}"
dir="${jnlp.dest.dir}/netbeans/"
codebase="${jnlp.platform.codebase.own}"
permissions="${jnlp.permissions}"
signjars="${jnlp.sign.jars}"
processjarversions="${jnlp.generate.versions}"
>
<resources refid="jnlp.included.modules" />
</makejnlp>
</target>
<target name="set-all-permissions" depends="check-signjars" if="unsign-the-jars" >
<property name="jnlp.permissions" value="<security/>" />
</target>
<target name="set-empty-permissions" depends="check-signjars" unless="unsign-the-jars" >
<property name="jnlp.permissions" value="<security><all-permissions/></security>" />
</target>
<target name="check-signjars" >
<condition property="unsign-the-jars" >
<isfalse value="${jnlp.sign.jars}" />
</condition>
</target>
<target name="jnlp-generate-platform-master" depends="jnlp-generate-platform-repository" >
<makemasterjnlp
dir="${jnlp.master.dir}"
codebase="${jnlp.platform.codebase}"
>
<resources refid="jnlp.included.modules" />
</makemasterjnlp>
</target>
<target name="build"
depends="build-jnlp-nowar"
description="Build JNLP files and signed JARs for all modules in the suite."
>
<available file="${nbjdk.home}/sample/jnlp/servlet/jnlp-servlet.jar" property="jnlp.servlet.jar"
value="${nbjdk.home}/sample/jnlp/servlet/jnlp-servlet.jar"
/>
<property name="jnlp.servlet.jar" location="${harness.dir}/jnlp/jnlp-servlet.jar" />
<fail message="Cannot find -Djnlp.servlet.jar pointing to ${jnlp.servlet.jar}" >
<condition>
<not>
<available file="${jnlp.servlet.jar}" />
</not>
</condition>
</fail>
<echo file="${suite.build.dir}/tmp/web.xml" ><![CDATA [
<web-app>
<servlet>
<servlet-name>JnlpDownloadServlet</servlet-name>
<servlet-class>jnlp.sample.servlet.JnlpDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JnlpDownloadServlet</servlet-name>
<url -pattern>*.jnlp</url -pattern>
</servlet-mapping>
</web-app>
]]></echo>
<mkdir dir="${dist.dir}" />
<war basedir="${jnlp.dest.dir}" destfile="${dist.dir}/${app.name}.war" webxml="${suite.build.dir}/tmp/web.xml" >
<zipfileset dir="${jnlp.servlet.jar}/.." prefix="WEB-INF/lib" />
<zipfileset file="${jnlp.servlet.jar}" prefix="WEB-INF/lib" />
</war>
</target>
<target name="build-jnlp-local" depends="build-jnlp-nowar" >
<property name="build.jnlp.local.dir" location="${dist.dir}/jnlp/local" />
<mkdir dir="${build.jnlp.local.dir}" />
<mkdir dir="${build.jnlp.local.dir}/netbeans/" />
<mkdir dir="${build.jnlp.local.dir}/app/" />
<makeurl property="build.jnlp.local.url" file="${build.jnlp.local.dir}" />
<copy todir="${build.jnlp.local.dir}" >
<fileset dir="${suite.build.dir}/jnlp" >
<include name="*.jnlp" />
</fileset>
<filterchain>
<replacestring from="$$$$codebase" to="${build.jnlp.local.url}" />
</filterchain>
</copy>
<jnlpupdatemanifeststartup appname="${app.name}"
alias="${jnlp.signjar.alias}"
keystore="${jnlp.signjar.keystore}"
storepass="${jnlp.signjar.password}"
jar="${harness.dir}/jnlp/jnlp-launcher.jar"
masterJnlp="${build.jnlp.local.dir}/master.jnlp"
destjar="${build.jnlp.local.dir}/startup.jar" />
<mkdir dir="${suite.build.dir}/jnlp/netbeans" /> <!-- else fileset will croak -->
<copy todir="${build.jnlp.local.dir}/netbeans/" >
<fileset dir="${suite.build.dir}/jnlp/netbeans" >
<include name="**/*.jnlp" />
</fileset>
<filterchain>
<replacestring from="$$$$codebase" to="${build.jnlp.local.url}netbeans/" />
</filterchain>
</copy>
<copy todir="${build.jnlp.local.dir}/app/" >
<fileset dir="${suite.build.dir}/jnlp/app" >
<include name="**/*.jnlp" />
</fileset>
<filterchain>
<replacestring from="$$$$codebase" to="${build.jnlp.local.url}app/" />
</filterchain>
</copy>
<copy todir="${build.jnlp.local.dir}" >
<fileset dir="${suite.build.dir}/jnlp" >
<exclude name="**/*.jnlp" />
</fileset>
</copy>
<verifyjnlp>
<fileset file="${build.jnlp.local.dir}/master.jnlp" />
</verifyjnlp>
</target>
<target name="build-jnlp-nowar" depends="jnlp-init,jnlp-generate-keystore,jnlp-generate-platform" >
<mkdir dir="${jnlp.dest.dir}/app" />
<subant target="jnlp" buildpath="${modules.sorted}" inheritrefs="false" inheritall="false" >
<property name="jnlp.dest.dir" value="${jnlp.dest.dir}/app" />
<property name="jnlp.master.dir" value="${jnlp.master.dir}" />
<property name="jnlp.master.codebase" value="app/" />
<property name="jnlp.codebase" value="${jnlp.codebase.app}" />
<property name="jnlp.signjar.alias" value="${jnlp.signjar.alias}" />
<property name="jnlp.signjar.keystore" location="${jnlp.signjar.keystore}" />
<property name="jnlp.signjar.password" value="${jnlp.signjar.password}" />
<property name="jnlp.sign.jars" value="${jnlp.sign.jars}" />
<property name="jnlp.permissions" value="${jnlp.permissions}" />
</subant>
<antcall target="copy-branding" />
<pathconvert pathsep="${line.separator}" property="jnlp.branding.jars" >
<path>
<fileset dir="${jnlp.dest.dir}/branding" >
<include name="*_${branding.token}.jar" />
</fileset>
</path>
<mapper type ="regexp" from="^.*[/\\]([^/\\]+\.jar)" to=' <jar href="branding/\1"/>' />
</pathconvert>
<echo file="${jnlp.master.dir}/resources.xml" ><![CDATA [
<java version ="1.6+" />
<jar href ="startup.jar" main="true" />
<property name="jnlp.netbeans.user" value="$${user.home}/.nbapp-${app.name}" />
]]></echo>
<concat append="true" destfile="${jnlp.master.dir}/resources.xml" >
<fileset dir="${jnlp.master.dir}" >
<include name="*.ref" />
</fileset>
</concat>
<loadfile property="jnlp.resources" srcfile="${jnlp.master.dir}/resources.xml" />
<condition property="netbeans.jnlp.fixPolicy" >
<isfalse value="${jnlp.sign.jars}" />
</condition>
<!-- Anyone knows a better way to negate a property value? -->
<condition property="netbeans.jnlp.fixPolicy" value="false" >
<istrue value="${jnlp.sign.jars}" />
</condition>
<condition property="app.icon.safe" value="${app.icon}" else=".png" >
<isset property="app.icon" />
</condition>
<pathconvert property="app.icon.ext" >
<path path="${app.icon.safe}" />
<mapper type ="regexp" from="^(.*)\.(.*)$$" to="\2" />
</pathconvert>
<copy file="${app.icon}" tofile="${jnlp.dest.dir}/master.${app.icon.ext}" failonerror="false" />
<copy file="master.jnlp" tofile="${jnlp.dest.dir}/master.jnlp" >
<filterchain>
<replacestring from="<!--$${jnlp.resources}-->" to="${jnlp.resources}" />
<replacestring from="$${jnlp.resources}" to="${jnlp.resources}" />
<replacestring from="$${app.name}" to="${app.name}" />
<replacestring from="$${user.home}" to="${user.home}" />
<replacestring from="$${app.title}" to="${app.title}" />
<replacestring from="$${app.icon}" to="master.${app.icon.ext}" />
<replacestring from="$${branding.token}" to="${branding.token}" />
<replacestring from="$${netbeans.jnlp.fixPolicy}" to="${netbeans.jnlp.fixPolicy}" />
</filterchain>
</copy>
<jnlpupdatemanifeststartup appname="${app.name}"
alias="${jnlp.signjar.alias}"
keystore="${jnlp.signjar.keystore}"
storepass="${jnlp.signjar.password}"
jar="${harness.dir}/jnlp/jnlp-launcher.jar"
masterJnlp="${jnlp.dest.dir}/master.jnlp"
destjar="${jnlp.dest.dir}/startup.jar" />
<echo>Your JNLP file is generated at ${jnlp.dest.dir}/master.jnlp</echo>
<!-- The following line will not fail if the branding.jnlp
is not present , e . g . when the main file was generated using
harness from 5.x days. -->
<copy file="branding.jnlp" tofile="${jnlp.dest.dir}/branding.jnlp" failonerror="false" >
<filterchain>
<replacestring from="$${jnlp.branding.jars}" to="${jnlp.branding.jars}" />
<replacestring from="$${app.name}" to="${app.name}" />
<replacestring from="$${app.title}" to="${app.title}" />
<replacestring from="$${app.icon}" to="master.${app.icon.ext}" />
<replacestring from="$${jnlp.permissions}" to="${jnlp.permissions}" />
</filterchain>
</copy>
<taskdef name="verifyjnlp" classname="org.netbeans.nbbuild.VerifyJNLP" classpath="${harness.dir}/tasks.jar" />
<verifyjnlp>
<fileset file="${jnlp.dest.dir}/master.jnlp" />
</verifyjnlp>
</target>
<target name="sign-branding-jars" unless="unsign-the-jars" depends="copy-branding-jars" >
<jnlpupdatemanifestbranding appname="${app.name}"
alias="${jnlp.signjar.alias}"
keystore="${jnlp.signjar.keystore}"
storepass="${jnlp.signjar.password}" >
<fileset dir="${jnlp.dest.dir}/branding" >
<include name="*_${branding.token}.jar" />
</fileset>
</jnlpupdatemanifestbranding>
</target>
<target name="copy-branding" depends="copy-branding-jars, sign-branding-jars" />
<target name="copy-branding-jars" >
<mkdir dir="${jnlp.dest.dir}/branding" />
<copy todir="${jnlp.dest.dir}/branding" flatten="true" >
<fileset dir="${cluster}" >
<include name="**/locale/*.jar" />
</fileset>
</copy>
</target>
<target name="run" depends="build-jnlp-local" description="Executes this suite as JNLP application" >
<condition property="run.javaws" value="${nbjdk.home}/jre/bin/javaws" >
<available file="${nbjdk.home}/jre/bin/javaws" />
</condition>
<condition property="run.javaws" value="${nbjdk.home}/bin/javaws" >
<available file="${nbjdk.home}/bin/javaws" />
</condition>
<condition property="run.javaws" value="${nbjdk.home}\jre\bin\javaws.exe" >
<available file="${nbjdk.home}\jre\bin\javaws.exe" />
</condition>
<condition property="run.javaws" value="${nbjdk.home}\bin\javaws.exe" >
<available file="${nbjdk.home}\bin\javaws.exe" />
</condition>
<property name="run.javaws" value="javaws" />
<property name="run.args" value="" />
<exec executable="${run.javaws}" >
<arg value="-wait" />
<arg file="${build.jnlp.local.dir}/master.jnlp" />
<env key="JAVAWS_VM_ARGS" value="${run.args}" />
</exec>
</target>
<target name="debug" depends="build-jnlp-local" description="Executes this suite as JNLP application under debugger" >
<fail unless="netbeans.home" >This target only works when run from inside the NetBeans IDE.</fail>
<nbjpdastart name="NetBeans" addressproperty="debug.port" transport="dt_socket" >
<classpath>
<pathfileset>
<path refid="cluster.path.id" />
<filename name="**/*.jar" />
</pathfileset>
<fileset dir="${cluster}" >
<include name="**/*.jar" />
</fileset>
</classpath>
</nbjpdastart>
<property name="debug.pause" value="y" />
<property name="debug.args" value="-agentlib:jdwp=transport=dt_socket,suspend=${debug.pause},server=n,address=${debug.port}" />
<antcall target="run" >
<param name="run.args" value="${debug.args}" />
<reference refid="cluster.path.id" />
</antcall>
</target>
<target name="-profile-check" if="netbeans.home" >
<condition property="profiler.configured" >
<or>
<contains string="${run.jvmargs.ide}" substring="-agentpath:" casesensitive="true" />
<contains string="${run.jvmargs.ide}" substring="-javaagent:" casesensitive="true" />
</or>
</condition>
</target>
<target name="profile" depends="-profile-check,build-jnlp-local" description="Executes this suite as JNLP application under profiler" if="profiler.configured" unless="profiler.info.jvmargs.agent" >
<startprofiler/>
<antcall target="run" />
</target>
<target name="-check-for-jnlp-userdir" >
<property name="jnlp.userdir" location="${user.home}/.nbapp-${app.name}" />
<condition property="have.jnlp.userdir" >
<and>
<isset property="app.name" />
<available file="${jnlp.userdir}" type ="dir" />
</and>
</condition>
</target>
<target name="-clean-jnlp-userdir" depends="-check-for-jnlp-userdir" if="have.jnlp.userdir" >
<property name="jnlp.userdir.bak" location="${jnlp.userdir}.bak" />
<delete dir="${jnlp.userdir.bak}" failonerror="false" />
<move file="${jnlp.userdir}" tofile="${jnlp.userdir.bak}" failonerror="false" />
</target>
<target name="clean" depends="-clean-jnlp-userdir" description="Make sure default JNLP user directory is removed so run-jnlp will not get old test settings." /> <!-- #64249 -->
</project>
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland