|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- *** GENERATED FROM TEMPLATE - DO NOT EDIT ***
- *** EDIT ../build.xml INSTEAD ***
- -->
-
- <project name="jfx-impl" default="jfx-deployment" basedir=".." xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1"
- xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:fx="javafx:com.sun.javafx.tools.ant">
- <description>JavaFX-specific Ant calls</description>
-
-
- <!-- Empty placeholders for easier customization in ../build.xml -->
-
- <target name="-pre-jfx-jar">
- <!-- Called right before <fx:jar> task. You can override this target in the ../build.xml file. -->
- </target>
-
- <target name="-post-jfx-jar">
- <!-- Called right after <fx:jar> task. You can override this target in the ../build.xml file. -->
- </target>
-
- <target name="-pre-jfx-deploy">
- <!-- Called right before <fx:deploy> task. You can override this target in the ../build.xml file. -->
- </target>
-
- <target name="-post-jfx-deploy">
- <!-- Called right after <fx:deploy> task. You can override this target in the ../build.xml file. -->
- </target>
-
- <target name="-pre-jfx-native">
- <!-- Called right before the call to native packager (just after -pre-jfx-deploy). You can override this target in the ../build.xml file. -->
- </target>
-
- <target name="-post-jfx-native">
- <!-- Called right after the call to native packager (just after -post-jfx-deploy). You can override this target in the ../build.xml file. -->
- </target>
-
-
- <!-- Check system and JDK version -->
-
- <macrodef name="target-on-another-jvm">
- <attribute name="target" default="${ant.project.invoked-targets}" />
- <attribute name="antfile" default="${ant.file}" />
- <attribute name="jvm" default="${platform.home}${file.separator}bin${file.separator}java" />
- <sequential>
- <condition property="maybe.add.bat" value=".bat" else="">
- <os family="windows"/>
- </condition>
- <exec executable="${ant.home}${file.separator}bin${file.separator}ant${maybe.add.bat}">
- <env key="JAVACMD" value="@{jvm}" />
- <env key="ANT_HOME" value="" />
- <!-- for debugging: <arg value="-d"/> -->
- <arg line='-f "@{antfile}"' />
- <arg line='-Dant.rerun=1'/>
- <arg line="@{target}" />
- </exec>
- </sequential>
- </macrodef>
- <target name="-check-ant-vs-platform-jvm" depends="-do-init, -check-jdk-version">
- <echo message="platform.home = ${platform.home}" level="verbose"/>
- <echo message="java.home = ${java.home}" level="verbose"/>
- <echo message="ant.rerun = ${ant.rerun}" level="verbose"/>
- <condition property="ant-java-version-different-from-plaform-java">
- <and>
- <isset property="platform.home" />
- <not><equals arg1="${platform.home}" arg2="${java.home}"/></not>
- <not><isset property="ant.rerun" /></not>
- </and>
- </condition>
- </target>
-
- <target name="-check-operating-system">
- <condition property="running.on.mac">
- <os family="mac"/>
- </condition>
- <condition property="running.on.unix">
- <os family="unix"/>
- </condition>
- <condition property="running.on.windows">
- <os family="windows"/>
- </condition>
- <echo message="running.on.mac = ${running.on.mac}" level="verbose"/>
- <echo message="running.on.unix = ${running.on.unix}" level="verbose"/>
- <echo message="running.on.windows = ${running.on.windows}" level="verbose"/>
- </target>
-
- <target name="-check-platform-home-fxsdk-java" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
- <condition property="do.set.platform.home.fxsdk.java">
- <and>
- <not><isset property="active.platform.home.java.executable"/></not>
- <or>
- <available file="${javafx.sdk}${file.separator}bin${file.separator}java"/>
- <available file="${javafx.sdk}${file.separator}bin${file.separator}java.exe"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-platform-home-fxsdk-java" depends="-check-platform-home-fxsdk-java" if="do.set.platform.home.fxsdk.java">
- <property name="active.platform.home.java.executable" value="${javafx.sdk}${file.separator}bin${file.separator}java"/>
- </target>
- <target name="-check-platform-home-java" if="platform.home">
- <condition property="do.set.platform.home.java">
- <and>
- <not><isset property="active.platform.home.java.executable"/></not>
- <or>
- <available file="${platform.home}${file.separator}bin${file.separator}java"/>
- <available file="${platform.home}${file.separator}bin${file.separator}java.exe"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-platform-home-java" depends="-set-platform-home-fxsdk-java,-check-platform-home-java" if="do.set.platform.home.java">
- <property name="active.platform.home.java.executable" value="${platform.home}${file.separator}bin${file.separator}java"/>
- </target>
- <target name="-check-platform-home-probjdk-java" unless="active.platform.home.java.executable">
- <condition property="do.set.platform.home.probjdk.java">
- <and>
- <not><isset property="active.platform.home.java.executable"/></not>
- <or>
- <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}java"/>
- <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}java.exe"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-platform-home-probjdk-java" depends="-set-platform-home-java,-check-platform-home-probjdk-java" if="do.set.platform.home.probjdk.java">
- <property name="active.platform.home.java.executable" value="${java.home}${file.separator}..${file.separator}bin${file.separator}java"/>
- </target>
- <target name="-check-platform-home-envjdk-java" unless="active.platform.home.java.executable">
- <property environment="env"/>
- <condition property="do.set.platform.home.envjdk.java">
- <and>
- <not><isset property="active.platform.home.java.executable"/></not>
- <or>
- <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}java"/>
- <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}java.exe"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-platform-home-envjdk-java" depends="-set-platform-home-probjdk-java,-check-platform-home-envjdk-java" if="do.set.platform.home.envjdk.java">
- <property environment="env"/>
- <property name="active.platform.home.java.executable" value="${env.JAVA_HOME}${file.separator}bin${file.separator}java"/>
- </target>
- <target name="-check-platform-home-fxrt-java" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
- <condition property="do.set.platform.home.fxrt.java">
- <and>
- <not><isset property="active.platform.home.java.executable"/></not>
- <or>
- <available file="${javafx.runtime}${file.separator}bin${file.separator}java"/>
- <available file="${javafx.runtime}${file.separator}bin${file.separator}java.exe"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-platform-home-fxrt-java" depends="-set-platform-home-envjdk-java,-check-platform-home-fxrt-java" if="do.set.platform.home.fxrt.java">
- <property name="active.platform.home.java.executable" value="${javafx.runtime}${file.separator}bin${file.separator}java"/>
- <echo message="Warning: java executable not found in JDK, evaluating java executable in RT instead." level="info"/>
- </target>
- <target name="-check-platform-home-jre-java" unless="active.platform.home.java.executable">
- <condition property="do.set.platform.home.jre.java">
- <and>
- <not><isset property="active.platform.home.java.executable"/></not>
- <or>
- <available file="${java.home}${file.separator}bin${file.separator}java"/>
- <available file="${java.home}${file.separator}bin${file.separator}java.exe"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-platform-home-jre-java" depends="-set-platform-home-fxrt-java,-check-platform-home-jre-java" if="do.set.platform.home.jre.java">
- <property name="active.platform.home.java.executable" value="${java.home}${file.separator}bin${file.separator}java"/>
- <echo message="Warning: java executable not found in JDK, evaluating java executable in RT instead." level="info"/>
- </target>
- <target name="-check-platform-home" depends="-set-platform-home-jre-java">
- <echo message="active.platform.home.java.executable = ${active.platform.home.java.executable}" level="verbose"/>
- <fail message="Error:${line.separator}java executable not found !" unless="active.platform.home.java.executable"/>
- </target>
-
- <target name="-check-jdk-version" depends="-do-init,-check-platform-home" unless="jdk-version-checked-in-jfximpl">
- <local name="version-output"/>
- <exec executable="${active.platform.home.java.executable}" outputproperty="version-output">
- <arg value="-version"/>
- </exec>
- <echo message="version-output:${line.separator}${version-output}" level="verbose"/>
- <condition property="have-jdk-older-than-1.6">
- <or>
- <contains string="${version-output}" substring="java version "1.0"/>
- <contains string="${version-output}" substring="java version "1.1"/>
- <contains string="${version-output}" substring="java version "1.2"/>
- <contains string="${version-output}" substring="java version "1.3"/>
- <contains string="${version-output}" substring="java version "1.4"/>
- <contains string="${version-output}" substring="java version "1.5"/>
- </or>
- </condition>
- <fail message="Error:${line.separator}JavaFX 2.0+ projects require JDK version 1.6+ !" if="have-jdk-older-than-1.6"/>
- <condition property="have-jdk-7u4or5-mac">
- <and>
- <or>
- <contains string="${version-output}" substring="java version "1.7.0_04"/>
- <contains string="${version-output}" substring="java version "1.7.0_05"/>
- </or>
- <os family="mac"/>
- </and>
- </condition>
- <condition property="have-jdk-pre7u6">
- <or>
- <isset property="have-jdk-older-than-1.6"/>
- <contains string="${version-output}" substring="java version "1.6"/>
- <contains string="${version-output}" substring="java version "1.7.0""/>
- <contains string="${version-output}" substring="java version "1.7.0_01"/>
- <contains string="${version-output}" substring="java version "1.7.0_02"/>
- <contains string="${version-output}" substring="java version "1.7.0_03"/>
- <contains string="${version-output}" substring="java version "1.7.0_04"/>
- <contains string="${version-output}" substring="java version "1.7.0_05"/>
- </or>
- </condition>
- <condition property="have-jdk-pre7u14">
- <or>
- <isset property="have-jdk-pre7u6"/>
- <contains string="${version-output}" substring="java version "1.7.0_06"/>
- <contains string="${version-output}" substring="java version "1.7.0_07"/>
- <contains string="${version-output}" substring="java version "1.7.0_08"/>
- <contains string="${version-output}" substring="java version "1.7.0_09"/>
- <contains string="${version-output}" substring="java version "1.7.0_10"/>
- <contains string="${version-output}" substring="java version "1.7.0_11"/>
- <contains string="${version-output}" substring="java version "1.7.0_12"/>
- <contains string="${version-output}" substring="java version "1.7.0_13"/>
- </or>
- </condition>
- <property name="jdk-version-checked-in-jfximpl" value="true"/>
- <echo message="have-jdk-7u4or5-mac = ${have-jdk-7u4or5-mac}" level="verbose"/>
- <echo message="have-jdk-pre7u6 = ${have-jdk-pre7u6}" level="verbose"/>
- <echo message="have-jdk-pre7u14 = ${have-jdk-pre7u14}" level="verbose"/>
- </target>
-
- <target name="-check-ant-jre-version" unless="ant-jre-version-checked-in-jfximpl">
- <local name="version-output"/>
- <exec executable="${java.home}${file.separator}bin${file.separator}java" outputproperty="version-output">
- <arg value="-version"/>
- </exec>
- <echo message="version-output:${line.separator}${version-output}" level="verbose"/>
- <condition property="have-ant-jre-pre7u6">
- <or>
- <contains string="${version-output}" substring="java version "1.0"/>
- <contains string="${version-output}" substring="java version "1.1"/>
- <contains string="${version-output}" substring="java version "1.2"/>
- <contains string="${version-output}" substring="java version "1.3"/>
- <contains string="${version-output}" substring="java version "1.4"/>
- <contains string="${version-output}" substring="java version "1.5"/>
- <contains string="${version-output}" substring="java version "1.6"/>
- <contains string="${version-output}" substring="java version "1.7.0""/>
- <contains string="${version-output}" substring="java version "1.7.0_01"/>
- <contains string="${version-output}" substring="java version "1.7.0_02"/>
- <contains string="${version-output}" substring="java version "1.7.0_03"/>
- <contains string="${version-output}" substring="java version "1.7.0_04"/>
- <contains string="${version-output}" substring="java version "1.7.0_05"/>
- </or>
- </condition>
- <condition property="have-jdk7-css2bin-bug">
- <!-- as of NB7.4 release date the external css-to-bss converter is unreliable in all JDK7 versions before 7u40 (with exception of 7u14)-->
- <and>
- <contains string="${version-output}" substring="java version "1.7"/>
- <not><matches string="${version-output}" pattern="\bjava version "1\.7\.0_(14|[4-9].)"/></not>
- </and>
- </condition>
- <property name="ant-jre-version-checked-in-jfximpl" value="true"/>
- <echo message="have-ant-jre-pre7u6 = ${have-ant-jre-pre7u6}" level="verbose"/>
- <echo message="have-jdk7-css2bin-bug = ${have-jdk7-css2bin-bug}" level="verbose"/>
- </target>
-
- <target name="-check-jdk-7u4or5-mac" depends="-check-jdk-version" if="have-jdk-7u4or5-mac">
- <fail message="Error:${line.separator}JDK 7u4 Mac and 7u5 Mac do not support WebStart and JavaFX 2.0+ browser plugin technologies.${line.separator}Please upgrade to JDK 7u6 or later."/>
- </target>
-
-
- <!-- Check availability of JavaFX SDK deployment support (ant-javafx.jar) -->
-
- <target name="-check-endorsed-javafx-ant-classpath">
- <condition property="endorsed-javafx-ant-classpath-available">
- <and>
- <isset property="endorsed.javafx.ant.classpath"/>
- <not>
- <equals arg1="${endorsed.javafx.ant.classpath}" arg2=""/>
- </not>
- </and>
- </condition>
- <echo message="endorsed-javafx-ant-classpath-available = ${endorsed-javafx-ant-classpath-available}" level="verbose"/>
- </target>
-
- <target name="-check-property-javafx.sdk">
- <echo message="javafx.sdk = ${javafx.sdk}" level="verbose"/>
- <condition property="javafx.sdk.defined">
- <and>
- <isset property="javafx.sdk"/>
- <not><contains string="${javafx.sdk}" substring="$${platform" casesensitive="false"/></not>
- </and>
- </condition>
- <condition property="javafx.sdk.missing+default">
- <and>
- <equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/>
- <not><isset property="javafx.sdk.defined"/></not>
- </and>
- </condition>
- <condition property="javafx.sdk.missing-default">
- <and>
- <not><equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/></not>
- <not><isset property="javafx.sdk.defined"/></not>
- </and>
- </condition>
- <echo message="javafx.sdk.defined = ${javafx.sdk.defined}" level="verbose"/>
- <echo message="javafx.sdk.missing+default = ${javafx.sdk.missing+default}" level="verbose"/>
- <echo message="javafx.sdk.missing-default = ${javafx.sdk.missing-default}" level="verbose"/>
- </target>
-
- <target name="-check-ant-javafx-in-fxsdk-lib" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
- <condition property="do.set.ant-javafx.in.fxsdk.lib">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <available file="${javafx.sdk}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-fxsdk-lib" depends="-check-ant-javafx-in-fxsdk-lib" if="do.set.ant-javafx.in.fxsdk.lib">
- <property name="ant-javafx.jar.location" value="${javafx.sdk}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </target>
- <target name="-check-ant-javafx-in-fxsdk-tools" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
- <condition property="do.set.ant-javafx.in.fxsdk.tools">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <available file="${javafx.sdk}${file.separator}tools${file.separator}ant-javafx.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-fxsdk-tools" depends="-set-ant-javafx-in-fxsdk-lib,-check-ant-javafx-in-fxsdk-tools" if="do.set.ant-javafx.in.fxsdk.tools">
- <property name="ant-javafx.jar.location" value="${javafx.sdk}${file.separator}tools${file.separator}ant-javafx.jar"/>
- </target>
- <target name="-check-ant-javafx-in-platform-home-lib" if="platform.home">
- <condition property="do.set.ant-javafx.in.platform.home.lib">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <available file="${platform.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-platform-home-lib" depends="-set-ant-javafx-in-fxsdk-tools,-check-ant-javafx-in-platform-home-lib" if="do.set.ant-javafx.in.platform.home.lib">
- <property name="ant-javafx.jar.location" value="${platform.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </target>
- <target name="-check-ant-javafx-in-platform-home-tools" if="platform.home">
- <condition property="do.set.ant-javafx.in.platform.home.tools">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <available file="${platform.home}${file.separator}tools${file.separator}ant-javafx.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-platform-home-tools" depends="-set-ant-javafx-in-platform-home-lib,-check-ant-javafx-in-platform-home-tools" if="do.set.ant-javafx.in.platform.home.tools">
- <property name="ant-javafx.jar.location" value="${platform.home}${file.separator}tools${file.separator}ant-javafx.jar"/>
- </target>
- <target name="-check-ant-javafx-in-probjdk-lib" unless="ant-javafx.jar.location">
- <condition property="do.set.ant-javafx.in.probjdk.lib.has_jre">
- <available file="${java.home}${file.separator}..${file.separator}lib${file.separator}ant-javafx.jar"/>
- </condition>
- <condition property="do.set.ant-javafx.in.probjdk.lib.no_jre">
- <available file="${java.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </condition>
- <condition property="do.set.ant-javafx.in.probjdk.lib">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <or>
- <isset property="do.set.ant-javafx.in.probjdk.lib.has_jre"/>
- <isset property="do.set.ant-javafx.in.probjdk.lib.no_jre"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-probjdk-lib" depends="-set-ant-javafx-in-platform-home-tools,-check-ant-javafx-in-probjdk-lib" if="do.set.ant-javafx.in.probjdk.lib">
- <condition property="ant-javafx.jar.location" value="${java.home}${file.separator}..${file.separator}lib${file.separator}ant-javafx.jar" else="${java.home}${file.separator}lib${file.separator}ant-javafx.jar">
- <isset property="do.set.ant-javafx.in.probjdk.lib.has_jre"/>
- </condition>
- </target>
- <target name="-check-ant-javafx-in-probjdk-tools" unless="ant-javafx.jar.location">
- <condition property="do.set.ant-javafx.in.probjdk.tools.has_jre">
- <available file="${java.home}${file.separator}..${file.separator}tools${file.separator}ant-javafx.jar"/>
- </condition>
- <condition property="do.set.ant-javafx.in.probjdk.tools.no_jre">
- <available file="${java.home}${file.separator}tools${file.separator}ant-javafx.jar"/>
- </condition>
- <condition property="do.set.ant-javafx.in.probjdk.tools">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <or>
- <isset property="do.set.ant-javafx.in.probjdk.tools.has_jre"/>
- <isset property="do.set.ant-javafx.in.probjdk.tools.no_jre"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-probjdk-tools" depends="-set-ant-javafx-in-probjdk-lib,-check-ant-javafx-in-probjdk-tools" if="do.set.ant-javafx.in.probjdk.tools">
- <condition property="ant-javafx.jar.location" value="${java.home}${file.separator}..${file.separator}tools${file.separator}ant-javafx.jar" else="${java.home}${file.separator}tools${file.separator}ant-javafx.jar">
- <isset property="do.set.ant-javafx.in.probjdk.tools.has_jre"/>
- </condition>
- </target>
- <target name="-check-ant-javafx-in-macjdk-lib" unless="ant-javafx.jar.location">
- <condition property="do.set.ant-javafx.in.macjdk.lib">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <available file="${java.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-macjdk-lib" depends="-set-ant-javafx-in-probjdk-tools,-check-ant-javafx-in-macjdk-lib" if="do.set.ant-javafx.in.macjdk.lib">
- <property name="ant-javafx.jar.location" value="${java.home}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </target>
- <target name="-check-ant-javafx-in-envjdk-lib" unless="ant-javafx.jar.location">
- <property environment="env"/>
- <condition property="do.set.ant-javafx.in.envjdk.lib">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <available file="${env.JAVA_HOME}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-envjdk-lib" depends="-set-ant-javafx-in-macjdk-lib,-check-ant-javafx-in-envjdk-lib" if="do.set.ant-javafx.in.envjdk.lib">
- <property name="ant-javafx.jar.location" value="${env.JAVA_HOME}${file.separator}lib${file.separator}ant-javafx.jar"/>
- </target>
- <target name="-check-ant-javafx-in-envjdk-tools" unless="ant-javafx.jar.location">
- <property environment="env"/>
- <condition property="do.set.ant-javafx.in.envjdk.tools">
- <and>
- <not><isset property="ant-javafx.jar.location"/></not>
- <available file="${env.JAVA_HOME}${file.separator}tools${file.separator}ant-javafx.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-ant-javafx-in-envjdk-tools" depends="-set-ant-javafx-in-envjdk-lib,-check-ant-javafx-in-envjdk-tools" if="do.set.ant-javafx.in.envjdk.tools">
- <property name="ant-javafx.jar.location" value="${env.JAVA_HOME}${file.separator}tools${file.separator}ant-javafx.jar"/>
- </target>
- <target name="-pre-check-ant-javafx-version" depends="-set-ant-javafx-in-envjdk-tools" unless="ant-javafx-version-already-checked-in-jfximpl">
- <condition property="do.check.ant-javafx.version">
- <and>
- <isset property="ant-javafx.jar.location"/>
- <not><isset property="ant-javafx-version-already-checked-in-jfximpl"/></not>
- </and>
- </condition>
- </target>
- <target name="-set-endorsed-javafx-ant-classpath" depends="-check-endorsed-javafx-ant-classpath,-pre-check-ant-javafx-version" if="endorsed-javafx-ant-classpath-available">
- <property name="javafx.ant.classpath" value="${endorsed.javafx.ant.classpath}:${ant-javafx.jar.location}"/>
- </target>
- <target name="-set-javafx-ant-classpath" depends="-check-endorsed-javafx-ant-classpath,-pre-check-ant-javafx-version" unless="endorsed-javafx-ant-classpath-available">
- <property name="javafx.ant.classpath" value="${ant-javafx.jar.location}"/>
- </target>
- <target name="-check-ant-javafx-version" depends="-pre-check-ant-javafx-version,
- -set-endorsed-javafx-ant-classpath,-set-javafx-ant-classpath" if="do.check.ant-javafx.version">
- <echo message="ant-javafx.jar.location = ${ant-javafx.jar.location}" level="verbose"/>
- <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
- <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
- uri="javafx:com.sun.javafx.tools.ant"
- classpath="${javafx.ant.classpath}"/>
- <condition property="have-fx-ant-init">
- <typefound name="javafx:com.sun.javafx.tools.ant:init-ant"/>
- </condition>
- <property name="ant-javafx-version-already-checked-in-jfximpl" value="true"/>
- <echo message="have-fx-ant-init = ${have-fx-ant-init}" level="verbose"/>
- </target>
- <target name="-check-jfx-sdk-version-old" depends="-check-ant-javafx-version" unless="have-fx-ant-init">
- <property name="javafx.ant.version" value="1.0"/>
- </target>
- <target name="-check-jfx-sdk-version-new" depends="-check-ant-javafx-version" if="have-fx-ant-init">
- <fx:init-ant/>
- <condition property="have-fx-ant-api-1.1">
- <!-- new features from JavaFX 2.0.2 are available in API version 1.1 or later -->
- <matches pattern="1.[1-9]" string="${javafx.ant.version}"/>
- </condition>
- <condition property="have-fx-ant-api-1.2">
- <!-- new features from JavaFX 2.2 are available in API version 1.2 or later -->
- <matches pattern="1.[2-9]" string="${javafx.ant.version}"/>
- </condition>
- </target>
- <target name="-check-jfx-sdk-version" depends="-check-jfx-sdk-version-old, -check-jfx-sdk-version-new" unless="jfx.sdk.version.checked">
- <echo message="Detected JavaFX Ant API version ${javafx.ant.version}" level="info"/>
- <echo message="have-fx-ant-api-1.1 = ${have-fx-ant-api-1.1}" level="verbose"/>
- <echo message="have-fx-ant-api-1.2 = ${have-fx-ant-api-1.2}" level="verbose"/>
- <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
- <property name="jfx.sdk.version.checked" value="true"/>
- </target>
-
- <target name="-check-jfx-deployment" depends="-check-jdk-version,-check-jfx-sdk-version">
- <condition property="jfx-deployment-available">
- <and>
- <or>
- <isset property="do.set.ant-javafx.in.fxsdk.lib"/>
- <isset property="do.set.ant-javafx.in.fxsdk.tools"/>
- <isset property="do.set.ant-javafx.in.platform.home.lib"/>
- <isset property="do.set.ant-javafx.in.platform.home.tools"/>
- <isset property="do.set.ant-javafx.in.probjdk.lib"/>
- <isset property="do.set.ant-javafx.in.probjdk.tools"/>
- <isset property="do.set.ant-javafx.in.envjdk.lib"/>
- <isset property="do.set.ant-javafx.in.envjdk.tools"/>
- </or>
- <isset property="ant-javafx.jar.location"/>
- </and>
- </condition>
- <condition property="jfx-deployment-missing+jdk7u6">
- <and>
- <not><isset property="jfx-deployment-available"/></not>
- <not><isset property="have-jdk-pre7u6"/></not>
- </and>
- </condition>
- <condition property="jfx-deployment-missing+javafx.sdk.missing+default">
- <and>
- <not><isset property="jfx-deployment-available"/></not>
- <isset property="have-jdk-pre7u6"/>
- <isset property="javafx.sdk.missing+default"/>
- </and>
- </condition>
- <condition property="jfx-deployment-missing+javafx.sdk.missing-default">
- <and>
- <not><isset property="jfx-deployment-available"/></not>
- <isset property="have-jdk-pre7u6"/>
- <isset property="javafx.sdk.missing-default"/>
- </and>
- </condition>
- <fail message="Error:${line.separator}JavaFX deployment library not found in active JDK.${line.separator}Please check that the JDK is correctly installed and its version is at least 7u4 on Mac or 7u6 on other systems." if="jfx-deployment-missing+jdk7u6"/>
- <fail message="Error:${line.separator}JavaFX deployment library not found.${line.separator}JavaFX SDK path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.sdk in project.properties file).${line.separator}Note: If missing, the default JavaFX-enabled platform gets created automatically when creating a new JavaFX Project." if="jfx-deployment-missing+javafx.sdk.missing+default"/>
- <fail message="Error:${line.separator}JavaFX deployment library not found.${line.separator}JavaFX SDK path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.sdk in project.properties file)." if="jfx-deployment-missing+javafx.sdk.missing-default"/>
- <fail message="Error:${line.separator}JavaFX deployment library not found." unless="jfx-deployment-available"/>
- <echo message="jfx-deployment-available = ${jfx-deployment-available}" level="verbose"/>
- </target>
-
-
- <!-- Check availability of main JavaFX runtime jar (jfxrt.jar) -->
-
- <target name="-check-property-javafx.runtime">
- <echo message="javafx.runtime = ${javafx.runtime}" level="verbose"/>
- <condition property="javafx.runtime.defined">
- <and>
- <isset property="javafx.runtime"/>
- <not><contains string="${javafx.runtime}" substring="$${platform" casesensitive="false"/></not>
- </and>
- </condition>
- <condition property="javafx.runtime.missing+default">
- <and>
- <equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/>
- <not><isset property="javafx.runtime.defined"/></not>
- </and>
- </condition>
- <condition property="javafx.runtime.missing-default">
- <and>
- <not><equals arg1="${platform.active}" arg2="Default_JavaFX_Platform" trim="true"/></not>
- <not><isset property="javafx.runtime.defined"/></not>
- </and>
- </condition>
- <echo message="javafx.runtime.defined = ${javafx.runtime.defined}" level="verbose"/>
- <echo message="javafx.runtime.missing+default = ${javafx.runtime.missing+default}" level="verbose"/>
- <echo message="javafx.runtime.missing-default = ${javafx.runtime.missing-default}" level="verbose"/>
- </target>
-
- <target name="-check-jfxrt-in-fxrt" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
- <condition property="do.set.jfxrt.in.fxrt.old">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.fxrt.new">
- <and>
- <not><isset property="do.set.jfxrt.in.fxrt.old"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${javafx.runtime}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.fxrt.mods">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <not><isset property="do.set.jfxrt.in.fxrt.old"/></not>
- <not><isset property="ddo.set.jfxrt.in.fxrt.new"/></not>
- <or>
- <available file="${javafx.runtime}${file.separator}jrt-fs.jar"/>
- <available file="${javafx.runtime}${file.separator}lib${file.separator}jrt-fs.jar"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-in-fxrt-old" depends="-check-jfxrt-in-fxrt" if="do.set.jfxrt.in.fxrt.old">
- <property name="jfxrt.jar.location" value="${javafx.runtime}${file.separator}lib${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-fxrt-new" depends="-set-jfxrt-in-fxrt-old,-check-jfxrt-in-fxrt" if="do.set.jfxrt.in.fxrt.new">
- <property name="jfxrt.jar.location" value="${javafx.runtime}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-fxrt-mods" depends="-set-jfxrt-in-fxrt-new" if="do.set.jfxrt.in.fxrt.mods">
- <property name="jfxrt.jar.location" value=""/>
- </target>
- <target name="-check-jfxrt-in-fxsdk-jre" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
- <condition property="do.set.jfxrt.in.fxsdk.jre.old">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.fxsdk.jre.new">
- <and>
- <not><isset property="do.set.jfxrt.in.fxsdk.jre.old"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-in-fxsdk-jre-old" depends="-set-jfxrt-in-fxrt-mods,-check-jfxrt-in-fxsdk-jre" if="do.set.jfxrt.in.fxsdk.jre.old">
- <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-fxsdk-jre-new" depends="-set-jfxrt-in-fxsdk-jre-old,-check-jfxrt-in-fxsdk-jre" if="do.set.jfxrt.in.fxsdk.jre.new">
- <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}jre${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </target>
- <target name="-check-jfxrt-in-fxsdk-rt" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
- <condition property="do.set.jfxrt.in.fxsdk.rt.old">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.fxsdk.rt.new">
- <and>
- <not><isset property="do.set.jfxrt.in.fxsdk.rt.old"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-in-fxsdk-rt-old" depends="-set-jfxrt-in-fxsdk-jre-new,-check-jfxrt-in-fxsdk-rt" if="do.set.jfxrt.in.fxsdk.rt.old">
- <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-fxsdk-rt-new" depends="-set-jfxrt-in-fxsdk-rt-old,-check-jfxrt-in-fxsdk-rt" if="do.set.jfxrt.in.fxsdk.rt.new">
- <property name="jfxrt.jar.location" value="${javafx.sdk}${file.separator}rt${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </target>
- <target name="-check-jfxrt-in-platform-home-jre" if="platform.home">
- <condition property="do.set.jfxrt.in.platform.home.jre.old">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${platform.home}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.platform.home.jre.new">
- <and>
- <not><isset property="do.set.jfxrt.in.platform.home.jre.old"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${platform.home}${file.separator}jre${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-in-platform-home-jre-old" depends="-set-jfxrt-in-fxsdk-rt-new,-check-jfxrt-in-platform-home-jre" if="do.set.jfxrt.in.platform.home.jre.old">
- <property name="jfxrt.jar.location" value="${platform.home}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-platform-home-jre-new" depends="-set-jfxrt-in-platform-home-jre-old,-check-jfxrt-in-platform-home-jre" if="do.set.jfxrt.in.platform.home.jre.new">
- <property name="jfxrt.jar.location" value="${platform.home}${file.separator}jre${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </target>
- <target name="-check-jfxrt-in-platform-home-rt" if="platform.home">
- <condition property="do.set.jfxrt.in.platform.home.rt.old">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${platform.home}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.platform.home.rt.new">
- <and>
- <not><isset property="do.set.jfxrt.in.platform.home.rt.old"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${platform.home}${file.separator}rt${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-in-platform-home-rt-old" depends="-set-jfxrt-in-platform-home-jre-new,-check-jfxrt-in-platform-home-rt" if="do.set.jfxrt.in.platform.home.rt.old">
- <property name="jfxrt.jar.location" value="${platform.home}${file.separator}rt${file.separator}lib${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-platform-home-rt-new" depends="-set-jfxrt-in-platform-home-rt-old,-check-jfxrt-in-platform-home-rt" if="do.set.jfxrt.in.platform.home.rt.new">
- <property name="jfxrt.jar.location" value="${platform.home}${file.separator}rt${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </target>
- <target name="-check-jfxrt-modules-in-platform-home" if="platform.home">
- <condition property="do.set.jfxrt.in.platform.home.mods">
- <and>
- <not><isset property="do.set.jfxrt.in.platform.home.jre.old"/></not>
- <not><isset property="do.set.jfxrt.in.platform.home.jre.new"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <or>
- <available file="${platform.home}${file.separator}jrt-fs.jar"/>
- <available file="${platform.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-modules-in-platform-home" depends="-set-jfxrt-in-platform-home-rt-new,-check-jfxrt-modules-in-platform-home" if="do.set.jfxrt.in.platform.home.mods">
- <property name="jfxrt.jar.location" value=""/>
- </target>
- <target name="-check-jfxrt-in-jre" unless="jfxrt.jar.location">
- <condition property="do.set.jfxrt.in.jre.old">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${java.home}${file.separator}lib${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.jre.new">
- <and>
- <not><isset property="do.set.jfxrt.in.jre.old"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.jre.mods">
- <and>
- <not><isset property="do.set.jfxrt.in.jre.old"/></not>
- <not><isset property="do.set.jfxrt.in.jre.new"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <or>
- <available file="${java.home}${file.separator}jrt-fs.jar"/>
- <available file="${java.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-in-jre-old" depends="-set-jfxrt-modules-in-platform-home,-check-jfxrt-in-jre" if="do.set.jfxrt.in.jre.old">
- <property name="jfxrt.jar.location" value="${java.home}${file.separator}lib${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-jre-new" depends="-set-jfxrt-in-jre-old,-check-jfxrt-in-jre" if="do.set.jfxrt.in.jre.new">
- <property name="jfxrt.jar.location" value="${java.home}${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-jre-mods" depends="-set-jfxrt-in-jre-new,-check-jfxrt-in-jre" if="do.set.jfxrt.in.jre.mods">
- <property name="jfxrt.jar.location" value=""/>
- </target>
- <target name="-check-jfxrt-in-envjdk-jre" unless="jfxrt.jar.location">
- <property environment="env"/>
- <condition property="do.set.jfxrt.in.envjdk.jre.old">
- <and>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- <condition property="do.set.jfxrt.in.envjdk.jre.new">
- <and>
- <not><isset property="do.set.jfxrt.in.envjdk.jre.old"/></not>
- <not><isset property="jfxrt.jar.location"/></not>
- <available file="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-in-envjdk-jre-old" depends="-set-jfxrt-in-jre-mods,-check-jfxrt-in-envjdk-jre" if="do.set.jfxrt.in.envjdk.jre.old">
- <property name="jfxrt.jar.location" value="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}jfxrt.jar"/>
- </target>
- <target name="-set-jfxrt-in-envjdk-jre-new" depends="-set-jfxrt-in-envjdk-jre-old,-check-jfxrt-in-envjdk-jre" if="do.set.jfxrt.in.envjdk.jre.new">
- <property name="jfxrt.jar.location" value="${env.JAVA_HOME}${file.separator}jre${file.separator}lib${file.separator}ext${file.separator}jfxrt.jar"/>
- </target>
- <target name="-check-jfxrt-modules-in-envjdk" unless="jfxrt.jar.location">
- <condition property="do.set.jfxrt.in.envjdk.mods">
- <and>
- <not><isset property="do.set.jfxrt.in.envjdk.jre.old"/></not>
- <not><isset property="do.set.jfxrt.in.envjdk.jre.new"/></not>
- <or>
- <available file="${env.JAVA_HOME}${file.separator}jrt-fs.jar"/>
- <available file="${env.JAVA_HOME}${file.separator}lib${file.separator}jrt-fs.jar"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-jfxrt-modules-in-envjdk" depends="-set-jfxrt-in-envjdk-jre-new,-check-jfxrt-modules-in-envjdk" if="do.set.jfxrt.in.envjdk.mods">
- <property name="jfxrt.jar.location" value=""/>
- </target>
- <target name="-pre-check-jfx-runtime" depends="-set-jfxrt-modules-in-envjdk">
- <echo message="jfxrt.jar.location = ${jfxrt.jar.location}" level="verbose"/>
- </target>
-
- <target name="-check-jfx-runtime" depends="-check-jdk-version, -pre-check-jfx-runtime">
- <condition property="jfx-runtime-available">
- <and>
- <or>
- <isset property="do.set.jfxrt.in.fxrt.old"/>
- <isset property="do.set.jfxrt.in.fxrt.new"/>
- <isset property="do.set.jfxrt.in.fxrt.mods"/>
- <isset property="do.set.jfxrt.in.fxsdk.jre.old"/>
- <isset property="do.set.jfxrt.in.fxsdk.jre.new"/>
- <isset property="do.set.jfxrt.in.fxsdk.rt.old"/>
- <isset property="do.set.jfxrt.in.fxsdk.rt.new"/>
- <isset property="do.set.jfxrt.in.platform.home.jre.old"/>
- <isset property="do.set.jfxrt.in.platform.home.jre.new"/>
- <isset property="do.set.jfxrt.in.platform.home.rt.old"/>
- <isset property="do.set.jfxrt.in.platform.home.rt.new"/>
- <isset property="do.set.jfxrt.in.platform.home.mods"/>
- <isset property="do.set.jfxrt.in.jre.old"/>
- <isset property="do.set.jfxrt.in.jre.new"/>
- <isset property="do.set.jfxrt.in.jre.mods"/>
- <isset property="do.set.jfxrt.in.envjdk.jre.old"/>
- <isset property="do.set.jfxrt.in.envjdk.jre.new"/>
- <isset property="do.set.jfxrt.in.envjdk.mods"/>
- </or>
- <isset property="jfxrt.jar.location"/>
- </and>
- </condition>
- <fail message="Error:${line.separator}JavaFX runtime JAR not found." unless="jfx-runtime-available"/>
- <echo message="jfx-runtime-available = ${jfx-runtime-available}" level="verbose"/>
- </target>
-
-
- <!-- Check availability of WebStart executable -->
-
- <target name="-check-webstart-in-fxrt" depends="-check-property-javafx.runtime" if="javafx.runtime.defined">
- <condition property="do.set.webstart.in.fxrt">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <isset property="javafx.runtime.defined"/>
- <or>
- <available file="${javafx.runtime}${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${javafx.runtime}${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-fxrt" depends="-check-webstart-in-fxrt" if="do.set.webstart.in.fxrt">
- <property name="active.webstart.executable" value="${javafx.runtime}${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-check-webstart-in-fxsdk-jre" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
- <condition property="do.set.webstart.in.fxsdk.jre">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <isset property="javafx.sdk.defined"/>
- <or>
- <available file="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-fxsdk-jre" depends="-set-webstart-in-fxrt,-check-webstart-in-fxsdk-jre" if="do.set.webstart.in.fxsdk.jre">
- <property name="active.webstart.executable" value="${javafx.sdk}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-check-webstart-in-fxsdk" depends="-check-property-javafx.sdk" if="javafx.sdk.defined">
- <condition property="do.set.webstart.in.fxsdk">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <isset property="javafx.sdk.defined"/>
- <or>
- <available file="${javafx.sdk}${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${javafx.sdk}${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-fxsdk" depends="-set-webstart-in-fxsdk-jre,-check-webstart-in-fxsdk" if="do.set.webstart.in.fxsdk">
- <property name="active.webstart.executable" value="${javafx.sdk}${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-check-webstart-in-platform-home-jre" if="platform.home">
- <condition property="do.set.webstart.in.platform.home.jre">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <or>
- <available file="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-platform-home-jre" depends="-set-webstart-in-fxsdk,-check-webstart-in-platform-home-jre" if="do.set.webstart.in.platform.home.jre">
- <property name="active.webstart.executable" value="${platform.home}${file.separator}jre${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-check-webstart-in-platform-home" if="platform.home">
- <condition property="do.set.webstart.in.platform.home">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <or>
- <available file="${platform.home}${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${platform.home}${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-platform-home" depends="-set-webstart-in-platform-home-jre,-check-webstart-in-platform-home" if="do.set.webstart.in.platform.home">
- <property name="active.webstart.executable" value="${platform.home}${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-check-webstart-in-jre" unless="active.webstart.executable">
- <condition property="do.set.webstart.in.jre">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <or>
- <available file="${java.home}${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${java.home}${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-jre" depends="-set-webstart-in-platform-home,-check-webstart-in-jre" if="do.set.webstart.in.jre">
- <property name="active.webstart.executable" value="${java.home}${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-check-webstart-in-probjdk" unless="active.webstart.executable">
- <condition property="do.set.webstart.in.probjdk">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <or>
- <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-probjdk" depends="-set-webstart-in-jre,-check-webstart-in-probjdk" if="do.set.webstart.in.probjdk">
- <property name="active.webstart.executable" value="${java.home}${file.separator}..${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-check-webstart-in-envjdk" unless="active.webstart.executable">
- <property environment="env"/>
- <condition property="do.set.webstart.in.envjdk">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <or>
- <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws.exe"/>
- <available file="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws"/>
- </or>
- </and>
- </condition>
- </target>
- <target name="-set-webstart-in-envjdk" depends="-set-webstart-in-probjdk,-check-webstart-in-envjdk" if="do.set.webstart.in.envjdk">
- <property name="active.webstart.executable" value="${env.JAVA_HOME}${file.separator}bin${file.separator}javaws"/>
- </target>
- <target name="-pre-check-webstart-in-unix" depends="-check-operating-system,-set-webstart-in-envjdk" unless="active.webstart.executable">
- <condition property="running.on.unix-active.webstart.executable">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <isset property="running.on.unix"/>
- </and>
- </condition>
- </target>
- <target name="-check-webstart-in-unix" depends="-pre-check-webstart-in-unix" if="running.on.unix-active.webstart.executable">
- <local name="exec.which.javaws.result"/>
- <exec executable="command" failifexecutionfails="false" failonerror="false" resultproperty="exec.which.javaws.result" outputproperty="exec.which.javaws.output">
- <arg line="-v javaws"/>
- </exec>
- <condition property="do.set.webstart.in.unix">
- <and>
- <not><isset property="active.webstart.executable"/></not>
- <isset property="exec.which.javaws.result"/>
- <equals arg1="${exec.which.javaws.result}" arg2="0"/>
- <isset property="exec.which.javaws.output"/>
- <not><equals arg1="${exec.which.javaws.output}" arg2=""/></not>
- </and>
- </condition>
- <echo message="do.set.webstart.in.unix = ${do.set.webstart.in.unix}" level="verbose"/>
- </target>
- <target name="-set-webstart-in-unix" depends="-set-webstart-in-envjdk,-check-webstart-in-unix" if="do.set.webstart.in.unix">
- <property name="active.webstart.executable" value="${exec.which.javaws.output}"/>
- </target>
- <target name="-pre-check-jfx-webstart" depends="-set-webstart-in-unix">
- <echo message="active.webstart.executable = ${active.webstart.executable}" level="verbose"/>
- </target>
-
- <target name="-check-jfx-webstart" depends="-pre-check-jfx-webstart">
- <condition property="jfx-webstart-available">
- <and>
- <or>
- <isset property="do.set.webstart.in.fxrt"/>
- <isset property="do.set.webstart.in.fxsdk.jre"/>
- <isset property="do.set.webstart.in.fxsdk"/>
- <isset property="do.set.webstart.in.platform.home.jre"/>
- <isset property="do.set.webstart.in.platform.home"/>
- <isset property="do.set.webstart.in.jre"/>
- <isset property="do.set.webstart.in.probjdk"/>
- <isset property="do.set.webstart.in.envjdk"/>
- <isset property="do.set.webstart.in.unix"/>
- </or>
- <isset property="active.webstart.executable"/>
- </and>
- </condition>
- <condition property="jfx-webstart-missing+jdk7u6">
- <and>
- <not><isset property="jfx-webstart-available"/></not>
- <not><isset property="have-jdk-pre7u6"/></not>
- </and>
- </condition>
- <condition property="jfx-webstart-missing+javafx.runtime.missing+default">
- <and>
- <not><isset property="jfx-webstart-available"/></not>
- <isset property="have-jdk-pre7u6"/>
- <isset property="javafx.runtime.missing+default"/>
- </and>
- </condition>
- <condition property="jfx-webstart-missing+javafx.runtime.missing-default">
- <and>
- <not><isset property="jfx-webstart-available"/></not>
- <isset property="have-jdk-pre7u6"/>
- <isset property="javafx.runtime.missing-default"/>
- </and>
- </condition>
- <fail message="Error:${line.separator}WebStart executable could not be found in active JDK.${line.separator}Please check that the JDK is correctly installed and its version is at least 7u6." if="jfx-webstart-missing+jdk7u6"/>
- <fail message="Error:${line.separator}WebStart executable could not be found.${line.separator}JavaFX RT path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.runtime in project.properties file).${line.separator}Note: If missing, the default JavaFX-enabled platform gets created automatically when creating a new JavaFX Project." if="jfx-webstart-missing+javafx.runtime.missing+default"/>
- <fail message="Error:${line.separator}WebStart executable could not be found.${line.separator}JavaFX RT path undefined. Check the definition of ${platform.active} in Java Platform Manager${line.separator}(or directly the properties platform.active and javafx.runtime in project.properties file)." if="jfx-webstart-missing+javafx.runtime.missing-default"/>
- <fail message="Error:${line.separator}WebStart executable could not be found." unless="jfx-webstart-available"/>
- <echo message="jfx-webstart-available = ${jfx-webstart-available}" level="verbose"/>
- </target>
-
-
- <!-- Legacy targets kept for compatibility with older build-impl.xml scripts -->
-
- <!-- Note: target "-check-javafx" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
- <target name="-check-javafx"/>
- <!-- Note: target "-javafx-check-error" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
- <target name="-javafx-check-error"/>
- <!-- Note: target "-init-javafx" is not necessary any more but is referenced from NB 7.1 build-impl.xml -->
- <target name="-init-javafx"/>
-
-
- <!-- Check project properties -->
-
- <target name="-check-default-run-config" unless="config">
- <property name="config" value="<default config>"/>
- </target>
-
- <target name="-check-project">
- <condition property="main-class-available">
- <isset property="javafx.main.class"/>
- </condition>
- <condition property="vmargs-available">
- <and>
- <isset property="run.jvmargs"/>
- <not><equals arg1="${run.jvmargs}" arg2=""/></not>
- </and>
- </condition>
- <condition property="preloader-available">
- <and>
- <isset property="javafx.preloader.enabled"/>
- <equals arg1="${javafx.preloader.enabled}" arg2="true"/>
- <isset property="javafx.preloader.class"/>
- <not><equals arg1="${javafx.preloader.class}" arg2=""/></not>
- <isset property="javafx.preloader.jar.filename"/>
- <not><equals arg1="${javafx.preloader.jar.filename}" arg2=""/></not>
- </and>
- </condition>
- <condition property="app-with-preloader">
- <and>
- <istrue value="${preloader-available}"/>
- <istrue value="${main-class-available}"/>
- </and>
- </condition>
- <condition property="app-with-external-preloader-jar">
- <and>
- <isset property="app-with-preloader"/>
- <isset property="javafx.preloader.type"/>
- <equals arg1="${javafx.preloader.type}" arg2="jar" trim="true"/>
- </and>
- </condition>
- <condition property="app-without-preloader">
- <and>
- <not>
- <istrue value="${preloader-available}"/>
- </not>
- <istrue value="${main-class-available}"/>
- </and>
- </condition>
- <condition property="preloader-app">
- <and>
- <isset property="javafx.preloader"/>
- <equals arg1="${javafx.preloader}" arg2="true"/>
- </and>
- </condition>
- <condition property="fx-in-swing-app">
- <and>
- <isset property="javafx.swing"/>
- <equals arg1="${javafx.swing}" arg2="true"/>
- </and>
- </condition>
- <condition property="fx-in-swing-workaround-app">
- <and>
- <istrue value="${fx-in-swing-app}"/>
- <istrue value="${preloader-app}"/>
- </and>
- </condition>
- <condition property="preloader-app-no-workaround">
- <and>
- <istrue value="${preloader-app}"/>
- <not><istrue value="${fx-in-swing-app}"/></not>
- </and>
- </condition>
- <condition property="html-template-available">
- <and>
- <isset property="javafx.run.htmltemplate"/>
- <not>
- <equals arg1="${javafx.run.htmltemplate}" arg2=""/>
- </not>
- </and>
- </condition>
- <condition property="icon-available">
- <and>
- <isset property="javafx.deploy.icon"/>
- <not>
- <equals arg1="${javafx.deploy.icon}" arg2=""/>
- </not>
- </and>
- </condition>
- <condition property="dimensions-available">
- <and>
- <isset property="javafx.run.width"/>
- <isset property="javafx.run.height"/>
- <not><equals arg1="${javafx.run.width}" arg2=""/></not>
- <not><equals arg1="${javafx.run.height}" arg2=""/></not>
- </and>
- </condition>
- <condition property="update-mode-background">
- <and>
- <isset property="javafx.deploy.backgroundupdate"/>
- <equals arg1="${javafx.deploy.backgroundupdate}" arg2="true" trim="true"/>
- </and>
- </condition>
- <condition property="offline-allowed">
- <and>
- <isset property="javafx.deploy.allowoffline"/>
- <equals arg1="${javafx.deploy.allowoffline}" arg2="true" trim="true"/>
- </and>
- </condition>
- <condition property="permissions-elevated">
- <and>
- <isset property="javafx.deploy.permissionselevated"/>
- <equals arg1="${javafx.deploy.permissionselevated}" arg2="true" trim="true"/>
- </and>
- </condition>
- <condition property="binary-encode-css">
- <and>
- <isset property="javafx.binarycss"/>
- <equals arg1="${javafx.binarycss}" arg2="true" trim="true"/>
- </and>
- </condition>
- <condition property="rebase-lib-jars">
- <and>
- <isset property="javafx.rebase.libs"/>
- <equals arg1="${javafx.rebase.libs}" arg2="true" trim="true"/>
- </and>
- </condition>
- <condition property="use-blob-signing">
- <and>
- <isset property="javafx.signing.blob"/>
- <equals arg1="${javafx.signing.blob}" arg2="true" trim="true"/>
- </and>
- </condition>
- <echo message="main-class-available = ${main-class-available}" level="verbose"/>
- <echo message="vmargs-available = ${vmargs-available}" level="verbose"/>
- <echo message="preloader-available = ${preloader-available}" level="verbose"/>
- <echo message="app-with-preloader = ${app-with-preloader}" level="verbose"/>
- <echo message="app-with-preloader-without-project = ${app-with-preloader-without-project}" level="verbose"/>
- <echo message="app-without-preloader = ${app-without-preloader}" level="verbose"/>
- <echo message="preloader-app = ${preloader-app}" level="verbose"/>
- <echo message="fx-in-swing-app = ${fx-in-swing-app}" level="verbose"/>
- <echo message="fx-in-swing-workaround-app = ${fx-in-swing-workaround-app}" level="verbose"/>
- <echo message="preloader-app-no-workaround = ${preloader-app-no-workaround}" level="verbose"/>
- <echo message="html-template-available = ${html-template-available}" level="verbose"/>
- <echo message="icon-available = ${icon-available}" level="verbose"/>
- <echo message="dimensions-available = ${dimensions-available}" level="verbose"/>
- <echo message="update-mode-background = ${update-mode-background}" level="verbose"/>
- <echo message="offline-allowed = ${offline-allowed}" level="verbose"/>
- <echo message="permissions-elevated = ${permissions-elevated}" level="verbose"/>
- <echo message="binary-encode-css = ${binary-encode-css}" level="verbose"/>
- <echo message="rebase-lib-jars = ${rebase-lib-jars}" level="verbose"/>
- <echo message="use-blob-signing = ${use-blob-signing}" level="verbose"/>
- </target>
-
- <target name="-swing-api-check" depends="-check-project,-check-jfx-deployment" if="fx-in-swing-app">
- <condition property="fx-in-swing-app-workaround">
- <and>
- <isset property="fx-in-swing-app"/>
- <not><isset property="have-fx-ant-api-1.2"/></not>
- </and>
- </condition>
- </target>
- <target name="-swing-api-warning" depends="-swing-api-check" if="fx-in-swing-app-workaround">
- <echo message="Info: No support for FX-in-Swing deployment detected in current JavaFX SDK. Using workaround instead."/>
- </target>
-
- <target name="-icon-deployment-check" depends="-check-project,-check-jfx-deployment" if="icon-available">
- <condition property="icon-deployment-may-not-be-supported">
- <and>
- <isset property="icon-available"/>
- <not><isset property="have-fx-ant-api-1.1"/></not>
- </and>
- </condition>
- </target>
- <target name="-icon-warning" depends="-icon-deployment-check" if="icon-deployment-may-not-be-supported">
- <echo message="Warning: Note that due to a bug in early JavaFX 2.0 SDK distributions the icon may not be properly set in deployment files."/>
- </target>
-
- <target name="-set-dimensions" depends="-check-project" if="dimensions-available">
- <property name="javafx.width" value="${javafx.run.width}"/>
- <property name="javafx.height" value="${javafx.run.height}"/>
- </target>
- <target name="-reset-dimensions" depends="-check-project" unless="dimensions-available">
- <property name="javafx.width" value="800"/>
- <property name="javafx.height" value="600"/>
- </target>
-
- <target name="-set-update-mode-background" depends="-check-project" if="update-mode-background">
- <property name="update-mode" value="background"/>
- </target>
- <target name="-set-update-mode-eager" depends="-check-project" unless="update-mode-background">
- <property name="update-mode" value="eager"/>
- </target>
-
- <target name="-set-permissions-elevated" depends="-check-project" if="permissions-elevated">
- <property name="permissions.elevated" value="true"/>
- </target>
- <target name="-reset-permissions-elevated" depends="-check-project" unless="permissions-elevated">
- <property name="permissions.elevated" value="false"/>
- </target>
-
- <target name="-set-binary-css" depends="-check-project,-init-css-conversion" if="do.copy.binary.css">
- <property name="css-include-ext" value="bss"/>
- <property name="css-exclude-ext" value="css"/>
- </target>
- <target name="-unset-binary-css" depends="-check-project,-init-css-conversion" unless="do.copy.binary.css">
- <property name="css-include-ext" value="css"/>
- <property name="css-exclude-ext" value="bss"/>
- </target>
- <target name="-copy-binary-css" depends="-init-css-conversion,-set-binary-css,-unset-binary-css,-copy-binary-css-bypass,-copy-binary-css-impl"/>
- <target name="-init-css-conversion" depends="-check-project,-check-ant-jre-version">
- <fileset id="cssfiles" dir="${basedir}${file.separator}${build.classes.dir}">
- <include name="**${file.separator}*.css"/>
- </fileset>
- <pathconvert refid="cssfiles" property="cssfileset.notempty" setonempty="false"/>
- <condition property="do.copy.binary.css">
- <and>
- <isset property="binary-encode-css"/>
- <isset property="cssfileset.notempty"/>
- <not><isset property="have-jdk7-css2bin-bug"/></not>
- </and>
- </condition>
- <condition property="do.bypass.binary.css">
- <and>
- <isset property="binary-encode-css"/>
- <isset property="cssfileset.notempty"/>
- <isset property="have-jdk7-css2bin-bug"/>
- </and>
- </condition>
- <echo message="do.copy.binary.css = ${do.copy.binary.css}" level="verbose"/>
- <echo message="do.bypass.binary.css = ${do.bypass.binary.css}" level="verbose"/>
- </target>
- <target name="-copy-binary-css-bypass" depends="-init-css-conversion" if="do.bypass.binary.css">
- <echo message="Warning: Bypassing FX CSS to BSS conversion due to a bug in <fx:csstobin> task in current JDK platform" level="warning"/>
- </target>
- <target name="-copy-binary-css-impl" depends="-init-css-conversion" if="do.copy.binary.css">
- <property name="cssfileslist" refid="cssfiles"/>
- <echo message="css files to binary convert: " level="verbose">${cssfileslist}</echo>
- <fx:csstobin outdir="${basedir}${file.separator}${build.classes.dir}">
- <fileset refid="cssfiles"/>
- </fx:csstobin>
- </target>
-
-
- <!-- Copy dependent libraries -->
-
- <!-- Note: target "-jfx-copylibs" is referenced from NB 7.1 build-impl.xml -->
- <target name="-jfx-copylibs" depends="init,compile,-pre-pre-jar,-pre-jar,-jfx-copylibs-warning" unless="fallback.no.javascript">
- <jfx-copylibs-js-impl/>
- </target>
- <target name="-jfx-copylibs-warning" if="fallback.no.javascript">
- <echo message="Warning: Dependent Libraries copy (-jfx-copylibs) skipped in fallback build mode due to JDK missing JavaScript support."/>
- </target>
- <macrodef name="jfx-copylibs-js-impl">
- <sequential>
- <local name="run.classpath.without.build.classes.and.dist.dir"/>
- <pathconvert property="run.classpath.without.build.classes.and.dist.dir">
- <path path="${run.classpath}"/>
- <map from="${basedir}${file.separator}${build.classes.dir}" to=""/>
- <map from="${basedir}${file.separator}${dist.jar}" to=""/>
- <scriptmapper language="javascript">
- self.addMappedName(
- (source.indexOf("jfxrt.jar") >= 0) ||
- (source.indexOf("deploy.jar") >= 0) ||
- (source.indexOf("javaws.jar") >= 0) ||
- (source.indexOf("plugin.jar") >= 0)
- ? "" : source
- );
- </scriptmapper>
- </pathconvert>
- <!-- add possibly missing dependencies at distance 2 (build system logic thus provides transitive closure) -->
- <local name="run.and.lib.classpath"/>
- <echo message="JavaScript: -jfx-copylibs" level="verbose"/>
- <script language="javascript">
- <![CDATA[
- function prefix(s, len) {
- if(s == null || len <= 0 || s.length == 0) {
- return new String("");
- }
- return new String(s.substr(0, len));
- }
- function defined(s) {
- return (s != null) && (s != "null") && (s.length > 0);
- }
- var pathConvert = project.createTask("pathconvert");
- pathConvert.setProperty("run.and.lib.classpath");
- var classPath = new String(project.getProperty("run.classpath.without.build.classes.and.dist.dir"));
- var fileSeparator = new String(project.getProperty("file.separator"));
- if(defined(classPath)) {
- var classPathCopy = pathConvert.createPath();
- classPathCopy.setPath(classPath);
- var pathArray;
- if(classPath.indexOf(";") != -1) {
- pathArray = classPath.split(";");
- } else {
- pathArray = classPath.split(":");
- }
- var added = new java.lang.StringBuilder();
- for (var i = 0; i < pathArray.length; i++) {
- var index = pathArray[i].lastIndexOf(fileSeparator);
- if (index >= 0) {
- var onePath = prefix(pathArray[i], index+1).concat("lib");
- var oneDir = new java.io.File(onePath);
- if(oneDir.exists()) {
- var fs = project.createDataType( "fileset" );
- fs.setDir( oneDir );
- fs.setIncludes("*.jar");
- var ds = fs.getDirectoryScanner(project);
- var srcFiles = ds.getIncludedFiles();
- for (var j = 0; j < srcFiles.length; j++) {
- if(classPath.indexOf( srcFiles[j] ) == -1 && added.indexOf( srcFiles[j] ) == -1) {
- var path = pathConvert.createPath();
- path.setPath( onePath.concat(fileSeparator).concat(srcFiles[j]) );
- added.append( srcFiles[j] );
- }
- }
- }
- }
- }
- }
- pathConvert.perform();
- ]]>
- </script>
- <echo message="run.and.lib.classpath = ${run.and.lib.classpath}" level="verbose"/>
- <delete dir="${dist.dir}${file.separator}lib" includeEmptyDirs="true" quiet="true"/>
- <copy todir="${dist.dir}${file.separator}lib" flatten="true" preservelastmodified="true" overwrite="true">
- <path>
- <pathelement path="${run.and.lib.classpath}"/>
- </path>
- </copy>
- </sequential>
- </macrodef>
-
- <target name="-copy-external-preloader-jar" depends="-check-project" if="app-with-external-preloader-jar">
- <copy file="${javafx.preloader.jar.path}" todir="${dist.dir}${file.separator}lib"/>
- </target>
-
-
- <!-- Optional classpath re-base of dependent JAR manifests after copy to lib/, required by GlassFish -->
-
- <!-- Note: target "-rebase-libs" is referenced from NB 7.1 build-impl.xml -->
- <target name="-rebase-libs" depends="-check-project, -jfx-copylibs, -check-rebase-libs, -rebase-libs-warning" if="do-rebase-lib-jars">
- <rebase-libs-js-impl/>
- </target>
- <target name="-check-rebase-libs">
- <condition property="do-rebase-lib-jars">
- <and>
- <isset property="rebase-lib-jars"/>
- <not><isset property="fallback.no.javascript"/></not>
- </and>
- </condition>
- <condition property="do-skip-rebase-libs">
- <and>
- <isset property="rebase-lib-jars"/>
- <isset property="fallback.no.javascript"/>
- </and>
- </condition>
- </target>
- <target name="-rebase-libs-warning" depends="-check-rebase-libs" if="do-skip-rebase-libs">
- <echo message="Warning: Dependent Libraries JARs rebase (-rebase-libs) skipped in fallback build mode due to JDK missing JavaScript support."/>
- </target>
-
- <macrodef name="rebase-libs-js-impl">
- <sequential>
- <property name="pp_rebase_dir" value="${basedir}${file.separator}${dist.dir}${file.separator}lib"/>
- <property name="pp_rebase_fs" value="*.jar"/>
- <echo message="JavaScript: -rebase-libs-js-impl" level="verbose"/>
- <script language="javascript">
- <![CDATA[
- var dir = new String(project.getProperty("pp_rebase_dir"));
- var fDir = new java.io.File(dir);
- if( fDir.exists() ) {
- var callTask = project.createTask("antcall");
- callTask.setTarget("-rebase-libs-macro-call");
- var param = callTask.createParam();
- param.setName("jar.file.to.rebase");
- var includes = new String(project.getProperty("pp_rebase_fs"));
- var fs = project.createDataType("fileset");
- fs.setDir( fDir );
- fs.setIncludes(includes);
- var ds = fs.getDirectoryScanner(project);
- var srcFiles = ds.getIncludedFiles();
- for (var i = 0; i < srcFiles.length; i++) {
- param.setValue(dir.concat("${file.separator}").concat(srcFiles[i]));
- callTask.perform();
- }
- }
- ]]>
- </script>
- </sequential>
- </macrodef>
-
- <macrodef name="rebase-lib">
- <attribute name="jarfile"/>
- <sequential>
- <local name="tmpdir"/>
- <property name="tmpdir" value="${java.io.tmpdir}${file.separator}${user.name}_${ant.project.name}_rebase" />
- <echo message="tmpdir = ${tmpdir}" level="verbose"/>
- <delete dir="${tmpdir}" quiet="true"/>
- <mkdir dir="${tmpdir}"/>
- <unzip src="@{jarfile}" dest="${tmpdir}">
- <patternset>
- <include name="META-INF${file.separator}MANIFEST.MF"/>
- </patternset>
- </unzip>
- <local name="manifest.file.temp"/>
- <property name="manifest.file.temp" value="${tmpdir}${file.separator}META-INF${file.separator}MANIFEST.MF" />
- <echo message="manifest.file.temp = ${manifest.file.temp}" level="verbose"/>
- <!-- edited manifest file -->
- <local name="manifest.file.temp.new"/>
- <property name="manifest.file.temp.new" value="${manifest.file.temp}_new" />
- <echo message="manifest.file.temp.new = ${manifest.file.temp.new}" level="verbose"/>
- <echo message="JavaScript: rebase-lib" level="verbose"/>
- <script language="javascript">
- <![CDATA[
- var UTF_8 = "UTF-8";
- var ATTR_CLASS_PATH = "Class-Path";
- var ATTR_CLASS_PATH_FX = "JavaFX-Class-Path";
- function endsWith(s, suffix) {
- var i = s.lastIndexOf(suffix);
- return (i != -1) && (i == (s.length - suffix.length));
- }
- function isSigned(manifest) {
- var sections = manifest.getSectionNames();
- while(sections.hasMoreElements()) {
- var sectionname = new String(sections.nextElement());
- var section = manifest.getSection(sectionname);
- if(section != null) {
- var sectionKeys = section.getAttributeKeys();
- while (sectionKeys.hasMoreElements()) {
- var element = new String(sectionKeys.nextElement());
- if (endsWith(element, "-Digest") || endsWith(element, "-digest")) {
- return true;
- }
- }
- }
- }
- return false;
- }
- var src = new String(project.getProperty("manifest.file.temp"));
- var srf = new java.io.File(src);
- var manifest;
- try {
- var fis = new java.io.FileInputStream(srf);
- try {
- var isr = new java.io.InputStreamReader(fis, UTF_8);
- try {
- manifest = new org.apache.tools.ant.taskdefs.Manifest(isr);
- } finally {
- isr.close();
- }
- } finally {
- fis.close();
- }
- } catch(e) {
- manifest = null;
- }
- if(manifest != null) {
- if(isSigned(manifest)) {
- print("Warning: Signed JAR can not be rebased.");
- } else {
- var mainSection = manifest.getMainSection();
- var classPath = mainSection.getAttributeValue(ATTR_CLASS_PATH);
- var classPathAttr = null;
- if (classPath != null) {
- classPathAttr = ATTR_CLASS_PATH;
- } else {
- classPath = mainSection.getAttributeValue(ATTR_CLASS_PATH_FX);
- if(classPath != null) {
- classPathAttr = ATTR_CLASS_PATH_FX;
- }
- }
- if(classPath != null) {
- var result = new java.lang.StringBuilder();
- var changed = false;
- var pathArray = classPath.split(" ");
- for (var i = 0; i < pathArray.length; i++) {
- if (result.length() > 0) {
- result.append(' ');
- }
- var index = pathArray[i].lastIndexOf('/');
- if (index >= 0 && index < pathArray[i].length - 1) {
- pathArray[i] = pathArray[i].substring(index+1);
- changed = true;
- }
- result.append(pathArray[i]);
- }
- mainSection.removeAttribute(classPathAttr);
- mainSection.addAttributeAndCheck(new org.apache.tools.ant.taskdefs.Manifest.Attribute(classPathAttr, result.toString()));
- var tgt = new String(project.getProperty("manifest.file.temp.new"));
- var tgf = new java.io.File(tgt);
- try {
- var fos = new java.io.FileOutputStream(tgf);
- try {
- var osw = new java.io.OutputStreamWriter(fos, UTF_8);
- try {
- var manifestOut = new java.io.PrintWriter(osw);
- manifest.write(manifestOut);
- manifestOut.close();
- } finally {
- osw.close();
- }
- } finally {
- fos.close();
- }
- } catch(e) {
- print("Warning: problem storing rebased manifest file.");
- }
- }
- }
- }
- ]]>
- </script>
- <antcall target="-move-new-manifest-if-exists">
- <param name="move.file.from" value="${manifest.file.temp.new}"/>
- <param name="move.file.to" value="${manifest.file.temp}"/>
- </antcall>
- <zip destfile="@{jarfile}" basedir="${tmpdir}" update="true"/>
- <delete dir="${tmpdir}" quiet="true"/>
- </sequential>
- </macrodef>
-
- <target name="-new-temp-mainfest-existence">
- <condition property="new-temp-manifest-exists">
- <available file="${move.file.from}"/>
- </condition>
- <echo message="new-temp-manifest-exists = ${new-temp-manifest-exists}" level="verbose"/>
- </target>
-
- <target name="-move-new-manifest-if-exists" depends="-new-temp-mainfest-existence" if="new-temp-manifest-exists">
- <move file="${move.file.from}" tofile="${move.file.to}" failonerror="false"/>
- </target>
-
- <target name="-rebase-libs-macro-call">
- <echo message="Rebase jarfile = ${jar.file.to.rebase}" level="verbose"/>
- <rebase-lib jarfile="${jar.file.to.rebase}"/>
- </target>
-
-
- <!-- Main Deployment Target -->
-
- <!-- Note: target "jfx-deployment" is referenced from NB 7.1+ build-impl.xml -->
- <target name="jfx-deployment" depends="-check-jfx-deployment-launch,-do-jfx-deployment-script,-do-jfx-deployment-noscript" if="jfx-deployment-available"/>
-
- <target name="-check-dist-lib-exists">
- <deploy-defines/>
- <available file="${jfx.deployment.dir}${file.separator}lib" type="dir" property="dist.lib.exists"/>
- </target>
- <target name="-check-jfx-deployment-jar-current-nolib" depends="-check-dist-lib-exists" unless="dist.lib.exists">
- <uptodate property="jfx-deployment-jar-current" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
- <srcfiles dir="${basedir}${file.separator}${build.classes.dir}" includes="**${file.separator}*"/>
- <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
- </uptodate>
- </target>
- <target name="-check-jfx-deployment-jar-current-lib" depends="-check-dist-lib-exists" if="dist.lib.exists">
- <uptodate property="jfx-deployment-jar-current" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
- <srcfiles dir="${basedir}${file.separator}${build.classes.dir}" includes="**${file.separator}*"/>
- <srcfiles dir="${jfx.deployment.dir}${file.separator}lib" includes="**${file.separator}*"/>
- <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
- </uptodate>
- </target>
- <target name="-check-jfx-deployment-launch" depends="-check-jfx-deployment,-check-jfx-deployment-jar-current-nolib,-check-jfx-deployment-jar-current-lib">
- <condition property="do-jfx-deployment-script">
- <and>
- <isset property="jfx-deployment-available"/>
- <not><isset property="fallback.no.javascript"/></not>
- <not><isset property="jfx-deployment-jar-current"/></not>
- </and>
- </condition>
- <condition property="do-jfx-deployment-noscript">
- <and>
- <isset property="jfx-deployment-available"/>
- <isset property="fallback.no.javascript"/>
- <not><isset property="jfx-deployment-jar-current"/></not>
- </and>
- </condition>
- </target>
- <target name="-do-jfx-deployment-script" depends="-check-jfx-deployment-launch" if="do-jfx-deployment-script">
- <antcall target="jfx-deployment-script"/>
- </target>
- <target name="-do-jfx-deployment-noscript" depends="-check-jfx-deployment-launch" if="do-jfx-deployment-noscript">
- <antcall target="jfx-deployment-noscript"/>
- </target>
-
- <target name="jfx-deployment-script" depends="-check-jfx-deployment,-check-project,
- -swing-api-warning,-icon-warning,
- -set-dimensions,-reset-dimensions,-set-update-mode-background,-set-update-mode-eager,
- -set-permissions-elevated,-reset-permissions-elevated,
- -copy-external-preloader-jar,-copy-binary-css,
- -deploy-app-sign-nopreloader-notemplate,
- -deploy-app-sign-preloader-notemplate,
- -deploy-app-sign-nopreloader-template,
- -deploy-app-sign-preloader-template,
- -deploy-app-sign-nopreloader-notemplate-swing,
- -deploy-app-sign-nopreloader-template-swing,
- -deploy-app-sign-blob-nopreloader-notemplate,
- -deploy-app-sign-blob-preloader-notemplate,
- -deploy-app-sign-blob-nopreloader-template,
- -deploy-app-sign-blob-preloader-template,
- -deploy-app-sign-blob-nopreloader-notemplate-swing,
- -deploy-app-sign-blob-nopreloader-template-swing,
- -deploy-app-nosign-nopreloader-notemplate,
- -deploy-app-nosign-preloader-notemplate,
- -deploy-app-nosign-nopreloader-template,
- -deploy-app-nosign-preloader-template,
- -deploy-app-nosign-nopreloader-notemplate-swing,
- -deploy-app-nosign-nopreloader-template-swing"
- if="jfx-deployment-available">
- </target>
-
- <target name="jfx-deployment-noscript" depends="-check-jfx-deployment,-check-project,
- -swing-api-warning,-icon-warning,
- -set-dimensions,-reset-dimensions,-set-update-mode-background,-set-update-mode-eager,
- -set-permissions-elevated,-reset-permissions-elevated,
- -copy-external-preloader-jar,-copy-binary-css,
- -fallback-deploy-app-sign-nopreloader-notemplate,
- -fallback-deploy-app-sign-preloader-notemplate,
- -fallback-deploy-app-sign-nopreloader-template,
- -fallback-deploy-app-sign-preloader-template,
- -fallback-deploy-app-sign-nopreloader-notemplate-swing,
- -fallback-deploy-app-sign-nopreloader-template-swing,
- -fallback-deploy-app-sign-blob-nopreloader-notemplate,
- -fallback-deploy-app-sign-blob-preloader-notemplate,
- -fallback-deploy-app-sign-blob-nopreloader-template,
- -fallback-deploy-app-sign-blob-preloader-template,
- -fallback-deploy-app-sign-blob-nopreloader-notemplate-swing,
- -fallback-deploy-app-sign-blob-nopreloader-template-swing,
- -fallback-deploy-app-nosign-nopreloader-notemplate,
- -fallback-deploy-app-nosign-preloader-notemplate,
- -fallback-deploy-app-nosign-nopreloader-template,
- -fallback-deploy-app-nosign-preloader-template,
- -fallback-deploy-app-nosign-nopreloader-notemplate-swing,
- -fallback-deploy-app-nosign-nopreloader-template-swing"
- if="jfx-deployment-available">
- </target>
-
-
- <!-- Security / Signing -->
-
- <target name="-unavailable-signjars-task" depends="-check-jfx-deployment" unless="jfx-deployment-available">
- <echo message="Warning: Task required to sign JAR file is missing, check the availability of JavaFX 2.0 deployment tasks. JAR files will not be signed."/>
- </target>
-
- <target name="-security-props-check">
- <condition property="javafx.signed.true">
- <istrue value="${javafx.signing.enabled}"/>
- </condition>
- </target>
-
- <target name="-check-signing-possible" depends="-security-props-check,-check-jfx-deployment,-unavailable-signjars-task">
- <condition property="javafx.signed.true+signjars.task.available">
- <and>
- <isset property="javafx.signed.true"/>
- <isset property="jfx-deployment-available"/>
- </and>
- </condition>
- </target>
-
- <target name="-javafx-init-keystore" depends="-check-signing-possible,-javafx-init-signing,-javafx-init-keystore1,-javafx-init-keystore2,-check-keystore-exists"
- if="javafx.signed.true+signjars.task.available" unless="do.not.init.keystore">
- <property name="javafx.signjar.vendor" value="CN=${application.vendor}"/>
- <echo message="Going to create default keystore in ${javafx.signjar.keystore}"/>
- <genkey dname="${javafx.signjar.vendor}" alias="${javafx.signjar.alias}" keystore="${javafx.signjar.keystore}"
- storepass="${javafx.signjar.storepass}" keypass="${javafx.signjar.keypass}"/>
- </target>
-
- <target name="-check-keystore-exists" depends="-security-props-check">
- <available property="javafx.signjar.keystore.exists" file="${javafx.signjar.keystore}"/>
- <condition property="do.not.init.keystore">
- <or>
- <not><isset property="javafx.signed.true"/></not>
- <isset property="javafx.signjar.keystore.exists"/>
- </or>
- </condition>
- </target>
-
- <target name="-javafx-init-signing">
- <condition property="generated.key.signing">
- <equals arg1="${javafx.signing.type}" arg2="self" trim="true"/>
- </condition>
- </target>
-
- <target name="-javafx-init-keystore1" depends="-javafx-init-signing" if="generated.key.signing">
- <property name="javafx.signjar.keystore" value="${basedir}${file.separator}build${file.separator}nb-jfx.jks" />
- <property name="javafx.signjar.storepass" value="storepass"/>
- <property name="javafx.signjar.keypass" value="keypass"/>
- <property name="javafx.signjar.alias" value="nb-jfx"/>
- </target>
-
- <target name="-javafx-init-keystore2" depends="-javafx-init-signing" unless="generated.key.signing">
- <property name="javafx.signjar.keystore" value="${javafx.signing.keystore}" />
- <property name="javafx.signjar.storepass" value="${javafx.signing.keystore.password}"/>
- <property name="javafx.signjar.keypass" value="${javafx.signing.keyalias.password}"/>
- <property name="javafx.signjar.alias" value="${javafx.signing.keyalias}"/>
- </target>
-
- <target name="-check-signing-security" depends="-security-props-check">
- <condition property="is.signing.unsafe">
- <or>
- <not><isset property="javafx.signed.true"/></not>
- <not><equals arg1="${javafx.signing.type}" arg2="key" casesensitive="false" trim="true"/></not>
- </or>
- </condition>
- </target>
-
- <target name="-warn-insufficient-signing" depends="-check-signing-security" if="is.signing.unsafe">
- <echo message="Warning: Unsigned and self-signed WebStart Applications and Applets are deprecated from JDK7u21 onwards due to security reasons.${line.separator} To ensure future correct functionality please sign WebStart Applications and Applets using trusted certificate."/>
- </target>
-
-
- <!-- Project Deployment Macros -->
-
- <macrodef name="deploy-defines">
- <sequential>
- <basename property="jfx.deployment.jar" file="${dist.jar}"/>
- <property name="jfx.deployment.dir" location="${dist.dir}"/>
- </sequential>
- </macrodef>
-
- <macrodef name="deploy-preprocess">
- <sequential>
- <delete includeEmptyDirs="true" quiet="true">
- <fileset dir="${jfx.deployment.dir}${file.separator}lib">
- <exclude name="**${file.separator}*.jar"/>
- </fileset>
- </delete>
- </sequential>
- </macrodef>
-
- <!-- fx:jar scripted call enables passing of arbitrarily long list of params and fx-version dependent behavior -->
- <macrodef name="deploy-jar">
- <sequential>
- <antcall target="-pre-jfx-jar"/>
- <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
- <typedef name="fx_jar" classname="com.sun.javafx.tools.ant.FXJar" classpath="${javafx.ant.classpath}"/>
- <echo message="Launching <fx:jar> task from ${ant-javafx.jar.location}" level="info"/>
- <property name="pp_jar_destfile" value="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}"/>
- <property name="pp_jar_buildclasses" value="${basedir}${file.separator}${build.classes.dir}"/>
- <property name="pp_jar_cssbss" value="**${file.separator}*.${css-exclude-ext}"/>
- <property name="pp_jar_dir" value="${jfx.deployment.dir}"/>
- <property name="pp_jar_fs1" value="lib${file.separator}${javafx.preloader.jar.filename}"/>
- <property name="pp_jar_fs2" value="lib${file.separator}*.jar"/>
- <echo message="deploy_jar: pp_jar_destfile = ${pp_jar_destfile}" level="verbose"/>
- <echo message="deploy_jar: pp_jar_buildclasses = ${pp_jar_buildclasses}" level="verbose"/>
- <echo message="deploy_jar: pp_jar_cssbss = ${pp_jar_cssbss}" level="verbose"/>
- <echo message="deploy_jar: pp_jar_dir = ${pp_jar_dir}" level="verbose"/>
- <echo message="deploy_jar: pp_jar_fs1 = ${pp_jar_fs1}" level="verbose"/>
- <echo message="deploy_jar: pp_jar_fs2 = ${pp_jar_fs2}" level="verbose"/>
- <echo message="JavaScript: deploy-jar" level="verbose"/>
- <script language="javascript">
- <![CDATA[
- function isTrue(prop) {
- return prop != null &&
- ( prop.toLowerCase() == "true" || prop.toLowerCase() == "yes" || prop.toLowerCase() == "on" );
- }
- function prefix(s, len) {
- if(s == null || len <= 0 || s.length == 0) {
- return new String("");
- }
- return new String(s.substr(0, len));
- }
- function replaceSuffix(s, os, ns) {
- return prefix(s, s.indexOf(os)).concat(ns);
- }
- function startsWith(s, prefix) {
- return (s != null) && (s.indexOf(prefix) == 0);
- }
- function endsWith(s, suffix) {
- var i = s.lastIndexOf(suffix);
- return (i != -1) && (i == (s.length - suffix.length));
- }
- function defined(s) {
- return (s != null) && (s != "null") && (s.length > 0);
- }
- function contains(array, prop) {
- for (var i = 0; i < array.length; i++) {
- var s1 = new String(array[i]);
- var s2 = new String(prop);
- if( s1.toLowerCase() == s2.toLowerCase() ) {
- return true;
- }
- }
- return false;
- }
- var S = new String(java.io.File.separator);
- var JFXPAR = "javafx.param";
- var JFXMAN = "javafx.manifest.entry";
- var JFXPARN = "name";
- var JFXPARV = "value";
- var JFXPARH = "hidden";
- var JFXLAZY = "download.mode.lazy.jar";
- var withpreloader = new String(project.getProperty("app-with-preloader"));
- var fx_ant_api_1_1 = new String(project.getProperty("have-fx-ant-api-1.1"));
- var fx_ant_api_1_2 = new String(project.getProperty("have-fx-ant-api-1.2"));
- var fx_in_swing_app = new String(project.getProperty("fx-in-swing-app"));
-
- // get jars with lazy download mode property set
- function getLazyJars() {
- var jars = new Array();
- var keys = project.getProperties().keys();
- while(keys.hasMoreElements()) {
- var pn = new String(keys.nextElement());
- if(startsWith(pn, JFXLAZY)) {
- var fname = new String(pn.substring(JFXLAZY.length+1));
- jars.push(fname);
- }
- }
- return jars.length > 0 ? jars : null;
- }
- // set download mode of dependent libraries
- function setDownloadMode(fsEager, fsLazy, jars) {
- for(var i = 0; i < jars.length; i++) {
- fsEager.setExcludes("lib" + S + jars[i]);
- fsLazy.setIncludes("lib" + S + jars[i]);
- }
- }
-
- // fx:jar
- var jar = project.createTask("fx_jar");
- jar.setProject(project);
- var destfile = new String(project.getProperty("pp_jar_destfile"));
- jar.setDestfile(destfile);
-
- // fx:application
- var app = jar.createApplication();
- app.setProject(project);
- var title = new String(project.getProperty("application.title"));
- var mainclass;
- if(isTrue(fx_in_swing_app) && isTrue(fx_ant_api_1_2)) {
- mainclass = new String(project.getProperty("main.class"));
- app.setToolkit("swing");
- } else {
- mainclass = new String(project.getProperty("javafx.main.class"));
- }
- var fallback = new String(project.getProperty("javafx.fallback.class"));
- app.setName(title);
- app.setMainClass(mainclass);
- if (typeof(app['fallbackClass']) === 'function') {
- app.setFallbackClass(fallback);
- }
- if(isTrue(withpreloader)) {
- preloaderclass = new String(project.getProperty("javafx.preloader.class"));
- app.setPreloaderClass(preloaderclass);
- }
- var appversion = new String(project.getProperty("javafx.application.implementation.version"));
- if(defined(appversion)) {
- app.setVersion(appversion);
- } else {
- app.setVersion("1.0");
- }
- // fx:param, fx:argument
- var searchHides = project.getProperties().keys();
- var hides = new Array();
- while(searchHides.hasMoreElements()) {
- // collect all hidden property names
- var pns = new String(searchHides.nextElement());
- if(startsWith(pns, JFXPAR) && endsWith(pns, JFXPARN)) {
- var propns = new String(project.getProperty(pns));
- var phs = replaceSuffix(pns, JFXPARN, JFXPARH);
- var proph = new String(project.getProperty(phs));
- if(isTrue(proph)) {
- hides.push(propns);
- }
- }
- }
- var keys = project.getProperties().keys();
- while(keys.hasMoreElements()) {
- var pn = new String(keys.nextElement());
- if(startsWith(pn, JFXPAR) && endsWith(pn, JFXPARN)) {
- var propn = new String(project.getProperty(pn));
- if(defined(propn) && !contains(hides, propn)) {
- var pv = replaceSuffix(pn, JFXPARN, JFXPARV);
- var propv = new String(project.getProperty(pv));
- if(defined(propv)) {
- var par = app.createParam();
- par.setName(propn);
- par.setValue(propv);
- } else {
- if(isTrue(fx_ant_api_1_1)) {
- var arg = app.createArgument();
- arg.addText(propn);
- } else {
- print("Warning: Unnamed parameters not supported by this version of JavaFX SDK deployment Ant tasks. Upgrade JavaFX to 2.0.2 or higher.");
- }
- }
- }
- }
- }
-
- // fx:resources
- var res = jar.createResources();
- res.setProject(project);
- var pdir = new String(project.getProperty("pp_jar_dir"));
- if(isTrue(withpreloader)) {
- var f1 = res.createFileSet();
- f1.setProject(project);
- f1.setDir(new java.io.File(pdir));
- var i1 = new String(project.getProperty("pp_jar_fs1"));
- f1.setIncludes(i1);
- f1.setRequiredFor("preloader");
- var f2 = res.createFileSet();
- f2.setProject(project);
- f2.setDir(new java.io.File(pdir));
- var i2b = new String(project.getProperty("pp_jar_fs2"));
- var e2c = new String(project.getProperty("pp_jar_fs1"));
- f2.setIncludes(i2b);
- f2.setExcludes(e2c);
- f2.setRequiredFor("startup");
- var lazyjars = getLazyJars();
- if(lazyjars != null) {
- var f3 = res.createFileSet();
- f3.setProject(project);
- f3.setDir(new java.io.File(pdir));
- f3.setRequiredFor("runtime");
- setDownloadMode(f2,f3,lazyjars);
- }
- } else {
- var fn = res.createFileSet();
- fn.setProject(project);
- fn.setDir(new java.io.File(pdir));
- var ib = new String(project.getProperty("pp_jar_fs2"));
- fn.setIncludes(ib);
- fn.setRequiredFor("startup");
- var lazyjars = getLazyJars();
- if(lazyjars != null) {
- var fn2 = res.createFileSet();
- fn2.setProject(project);
- fn2.setDir(new java.io.File(pdir));
- fn2.setRequiredFor("runtime");
- setDownloadMode(fn,fn2,lazyjars);
- }
- }
-
- // fileset to exclude *.css or *.bss
- var fs = jar.createFileSet();
- fs.setProject(project);
- var buildcls = new String(project.getProperty("pp_jar_buildclasses"));
- var exc = new String(project.getProperty("pp_jar_cssbss"));
- fs.setDir(new java.io.File(buildcls));
- fs.setExcludes(exc);
-
- // manifest
- var man = jar.createManifest();
- var userManifestPath = project.getProperty("manifest.file");
- if (userManifestPath) {
- var userManifestFile = project.resolveFile(userManifestPath);
- if (userManifestFile.isFile()) {
- var manifestEncoding = project.getProperty("manifest.encoding");
- var userManifestReader = manifestEncoding ?
- new java.io.InputStreamReader(
- new java.io.FileInputStream(userManifestFile),
- manifestEncoding) :
- new java.io.InputStreamReader(
- new java.io.FileInputStream(userManifestFile));
- try {
- var userManifest = new org.apache.tools.ant.taskdefs.Manifest(userManifestReader);
- man.merge(userManifest);
- } finally {
- userManifestReader.close();
- }
- }
- }
- var a1val = new String(project.getProperty("application.vendor"));
- var a1 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- a1.setName("Implementation-Vendor");
- a1.setValue(a1val);
- man.addConfiguredAttribute(a1);
- var a2val = new String(project.getProperty("application.title"));
- var a2 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- a2.setName("Implementation-Title");
- a2.setValue(a2val);
- man.addConfiguredAttribute(a2);
- if(defined(appversion)) {
- var a3 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- a3.setName("Implementation-Version");
- a3.setValue(appversion);
- man.addConfiguredAttribute(a3);
- }
- var a4prop = new String(project.getProperty("javafx.deploy.disable.proxy"));
- if(isTrue(a4prop)) {
- var a4 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- a4.setName("JavaFX-Feature-Proxy");
- a4.setValue("None");
- man.addConfiguredAttribute(a4);
- }
- // custom manifest entries
- var searchManifestHides = project.getProperties().keys();
- var manifestHides = new Array();
- while(searchManifestHides.hasMoreElements()) {
- // collect all hidden property names
- var pns = new String(searchManifestHides.nextElement());
- if(startsWith(pns, JFXMAN) && endsWith(pns, JFXPARN)) {
- var propns = new String(project.getProperty(pns));
- var phs = replaceSuffix(pns, JFXPARN, JFXPARH);
- var proph = new String(project.getProperty(phs));
- if(isTrue(proph)) {
- manifestHides.push(propns);
- }
- }
- }
- var manifestKeys = project.getProperties().keys();
- while(manifestKeys.hasMoreElements()) {
- var pn = new String(manifestKeys.nextElement());
- if(startsWith(pn, JFXMAN) && endsWith(pn, JFXPARN)) {
- var propn = new String(project.getProperty(pn));
- if(defined(propn) && !contains(manifestHides, propn)) {
- var propnr = propn.replace(/\s/g, "-");
- var entry = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- entry.setName(propnr);
- var pv = replaceSuffix(pn, JFXPARN, JFXPARV);
- var propv = new String(project.getProperty(pv));
- if(defined(propv)) {
- entry.setValue(propv);
- } else {
- entry.setValue("");
- }
- man.addConfiguredAttribute(entry);
- }
- }
- }
- var profileAvailable = new String(project.getProperty("profile.available"));
- if (defined(profileAvailable)) {
- var profileAttribute = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- profileAttribute.setName("Profile");
- profileAttribute.setValue(new String(project.getProperty("javac.profile")));
- man.addConfiguredAttribute(profileAttribute);
- }
- var perm_elev = new String(project.getProperty("permissions.elevated"));
- var cust_perm = new String(project.getProperty("manifest.custom.permissions"));
- var cust_cb = new String(project.getProperty("manifest.custom.codebase"));
- var sa1 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- sa1.setName("Codebase");
- if(!defined(cust_cb) || cust_cb == "*") {
- sa1.setValue("*");
- print("Warning: From JDK7u25 the Codebase manifest attribute should be used to restrict JAR repurposing.");
- print(" Please set manifest.custom.codebase property to override the current default non-secure value '*'.");
- } else {
- sa1.setValue(cust_cb);
- }
- man.addConfiguredAttribute(sa1);
- var sa2 = new org.apache.tools.ant.taskdefs.Manifest.Attribute();
- sa2.setName("Permissions");
- if(!defined(cust_perm)) {
- if(isTrue(perm_elev)) {
- sa2.setValue("all-permissions");
- } else {
- sa2.setValue("sandbox");
- }
- } else {
- if(cust_perm == "all-permissions") {
- sa2.setValue("all-permissions");
- } else {
- sa2.setValue("sandbox");
- }
- }
- man.addConfiguredAttribute(sa2);
- // Note: see JavaFX Jira issue #RT-25003 if attribute names are created lowercase in manifest
-
- jar.perform();
- ]]>
- </script>
- <antcall target="-post-jfx-jar"/>
- </sequential>
- </macrodef>
-
- <macrodef name="deploy-sign">
- <sequential>
- <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
- <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
- <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
- <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
- <signjar keystore="${javafx.signjar.keystore}"
- storepass="${javafx.signjar.storepass}"
- alias="${javafx.signjar.alias}"
- keypass="${javafx.signjar.keypass}">
- <fileset dir="${jfx.deployment.dir}">
- <include name="${jfx.deployment.jar}"/>
- <include name="lib${file.separator}*.jar"/>
- </fileset>
- </signjar>
- </sequential>
- </macrodef>
-
- <macrodef name="deploy-sign-blob">
- <sequential>
- <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
- <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
- <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
- <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
- <echo message="Launching <fx:signjar> task from ${ant-javafx.jar.location}" level="info"/>
- <fx:signjar keystore="${javafx.signjar.keystore}"
- storepass="${javafx.signjar.storepass}"
- alias="${javafx.signjar.alias}"
- keypass="${javafx.signjar.keypass}">
- <fileset dir="${jfx.deployment.dir}">
- <include name="${jfx.deployment.jar}"/>
- <include name="lib${file.separator}*.jar"/>
- </fileset>
- </fx:signjar>
- </sequential>
- </macrodef>
-
- <macrodef name="deploy-sign-preloader">
- <sequential>
- <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
- <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
- <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
- <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
- <signjar keystore="${javafx.signjar.keystore}"
- storepass="${javafx.signjar.storepass}"
- alias="${javafx.signjar.alias}"
- keypass="${javafx.signjar.keypass}">
- <fileset dir="${jfx.deployment.dir}">
- <include name="lib${file.separator}${javafx.preloader.jar.filename}"/>
- </fileset>
- </signjar>
- <signjar keystore="${javafx.signjar.keystore}"
- storepass="${javafx.signjar.storepass}"
- alias="${javafx.signjar.alias}"
- keypass="${javafx.signjar.keypass}">
- <fileset dir="${jfx.deployment.dir}">
- <include name="${jfx.deployment.jar}"/>
- <include name="lib${file.separator}*.jar"/>
- <exclude name="lib${file.separator}${javafx.preloader.jar.filename}"/>
- </fileset>
- </signjar>
- </sequential>
- </macrodef>
-
- <macrodef name="deploy-sign-blob-preloader">
- <sequential>
- <echo message="keystore=${javafx.signjar.keystore}" level="verbose"/>
- <echo message="storepass=${javafx.signjar.storepass}" level="verbose"/>
- <echo message="alias=${javafx.signjar.alias}" level="verbose"/>
- <echo message="keypass=${javafx.signjar.keypass}" level="verbose"/>
- <signjar keystore="${javafx.signjar.keystore}"
- storepass="${javafx.signjar.storepass}"
- alias="${javafx.signjar.alias}"
- keypass="${javafx.signjar.keypass}">
- <fileset dir="${jfx.deployment.dir}">
- <include name="lib${file.separator}${javafx.preloader.jar.filename}"/>
- </fileset>
- </signjar>
- <echo message="Launching <fx:signjar> task from ${ant-javafx.jar.location}" level="info"/>
- <fx:signjar keystore="${javafx.signjar.keystore}"
- storepass="${javafx.signjar.storepass}"
- alias="${javafx.signjar.alias}"
- keypass="${javafx.signjar.keypass}">
- <fileset dir="${jfx.deployment.dir}">
- <include name="${jfx.deployment.jar}"/>
- <include name="lib${file.separator}*.jar"/>
- <exclude name="lib${file.separator}${javafx.preloader.jar.filename}"/>
- </fileset>
- </fx:signjar>
- </sequential>
- </macrodef>
-
- <macrodef name="deploy-process-template">
- <sequential>
- <echo message="javafx.run.htmltemplate = ${javafx.run.htmltemplate}" level="verbose"/>
- <pathconvert property="javafx.run.htmltemplate.processed">
- <path path="${javafx.run.htmltemplate}"/>
- <mapper>
- <chainedmapper>
- <flattenmapper/>
- <globmapper from="*" to="${jfx.deployment.dir}${file.separator}*" casesensitive="no"/>
- </chainedmapper>
- </mapper>
- </pathconvert>
- <echo message="javafx.run.htmltemplate.processed = ${javafx.run.htmltemplate.processed}" level="verbose"/>
- </sequential>
- </macrodef>
-
- <!-- fx:deploy scripted call enables passing of arbitrarily long lists of params, vmoptions and callbacks and fx-version dependent behavior -->
- <macrodef name="deploy-deploy">
- <sequential>
- <antcall target="-pre-jfx-deploy"/>
- <antcall target="-call-pre-jfx-native"/>
- <echo message="javafx.ant.classpath = ${javafx.ant.classpath}" level="verbose"/>
- <typedef name="fx_deploy" classname="com.sun.javafx.tools.ant.DeployFXTask" classpath="${javafx.ant.classpath}"/>
- <echo message="Launching <fx:deploy> task from ${ant-javafx.jar.location}" level="info"/>
- <property name="pp_deploy_dir" value="${jfx.deployment.dir}"/>
- <property name="pp_deploy_fs1" value="lib${file.separator}${javafx.preloader.jar.filename}"/>
- <property name="pp_deploy_fs2" value="lib${file.separator}*.jar"/>
- <echo message="deploy_deploy: pp_deploy_dir = ${pp_deploy_dir}" level="verbose"/>
- <echo message="deploy_deploy: pp_deploy_fs1 = ${pp_deploy_fs1}" level="verbose"/>
- <echo message="deploy_deploy: pp_deploy_fs2 = ${pp_deploy_fs2}" level="verbose"/>
- <echo message="JavaScript: deploy-deploy" level="verbose"/>
- <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
- <script language="javascript">
- <![CDATA[
- function isTrue(prop) {
- return prop != null &&
- (prop.toLowerCase()=="true" || prop.toLowerCase()=="yes" || prop.toLowerCase()=="on");
- }
- function prefix(s, len) {
- if(s == null || len <= 0 || s.length == 0) {
- return new String("");
- }
- return new String(s.substr(0, len));
- }
- function replaceSuffix(s, os, ns) {
- return prefix(s, s.indexOf(os)).concat(ns);
- }
- function startsWith(s, prefix) {
- return (s != null) && (s.indexOf(prefix) == 0);
- }
- function endsWith(s, suffix) {
- var i = s.lastIndexOf(suffix);
- return (i != -1) && (i == (s.length - suffix.length));
- }
- function defined(s) {
- return (s != null) && (s != "null") && (s.length > 0);
- }
- function contains(array, prop) {
- for (var i = 0; i < array.length; i++) {
- var s1 = new String(array[i]);
- var s2 = new String(prop);
- if( s1.toLowerCase() == s2.toLowerCase() ) {
- return true;
- }
- }
- return false;
- }
- var S = java.io.File.separator;
- var JFXPAR = "javafx.param";
- var JFXPARN = "name";
- var JFXPARV = "value";
- var JFXPARH = "hidden";
- var JFXCALLB = "javafx.jscallback";
- var JFXLAZY = "download.mode.lazy.jar";
- var withpreloader = new String(project.getProperty("app-with-preloader"));
- var fx_ant_api_1_1 = new String(project.getProperty("have-fx-ant-api-1.1"));
- var fx_ant_api_1_2 = new String(project.getProperty("have-fx-ant-api-1.2"));
- var have_jdk_pre7u14 = new String(project.getProperty("have-jdk-pre7u14"));
- var fx_in_swing_app = new String(project.getProperty("fx-in-swing-app"));
- var debug_in_browser = new String(project.getProperty("project.state.debugging.in.browser"));
-
- // get jars with lazy download mode property set
- function getLazyJars() {
- var jars = new Array();
- var keys = project.getProperties().keys();
- while(keys.hasMoreElements()) {
- var pn = new String(keys.nextElement());
- if(startsWith(pn, JFXLAZY)) {
- var fname = pn.substring(JFXLAZY.length+1);
- jars.push(fname);
- }
- }
- return jars.length > 0 ? jars : null;
- }
- // set download mode of dependent libraries
- function setDownloadMode(fsEager, fsLazy, jars) {
- for(var i = 0; i < jars.length; i++) {
- fsEager.setExcludes("lib" + S + jars[i]);
- fsLazy.setIncludes("lib" + S + jars[i]);
- }
- }
- // convert path to absolute if relative
- function derelativizePath(path) {
- var f = new java.io.File(path);
- if(!f.exists()) {
- f = new java.io.File(new String(project.getBaseDir()) + S + path);
- }
- if(f.exists()) {
- try {
- return f.getCanonicalPath();
- } catch(err) {
- return path;
- }
- }
- return path;
- }
-
- // fx:deploy
- var deploy = project.createTask("fx_deploy");
- deploy.setProject(project);
- var width = new String(project.getProperty("javafx.width"));
- var height = new String(project.getProperty("javafx.height"));
- var outdir = new String(project.getProperty("jfx.deployment.dir"));
- var embedJNLP = new String(project.getProperty("javafx.deploy.embedJNLP"));
- var updatemode = new String(project.getProperty("update-mode"));
- var outfile = new String(project.getProperty("application.title"));
- //var includeDT = new String(project.getProperty("javafx.deploy.includeDT"));
- var includeDT = new String(project.getProperty("jfx.deployment.includeDT"));
- var offline = new String(project.getProperty("javafx.deploy.allowoffline"));
- if (width.indexOf("%") != -1) {
- deploy.setEmbeddedWidth(width);
- deploy.setWidth(800);
- } else {
- deploy.setWidth(width);
- }
- if (height.indexOf("%") != -1) {
- deploy.setEmbeddedHeight(height);
- deploy.setHeight(600);
- } else {
- deploy.setHeight(height);
- }
- deploy.setOutdir(outdir);
- deploy.setEmbedJNLP(isTrue(embedJNLP));
- deploy.setUpdateMode(updatemode);
- deploy.setOutfile(outfile);
- deploy.setIncludeDT(isTrue(includeDT));
- if(defined(offline)) {
- if(isTrue(fx_ant_api_1_1)) {
- deploy.setOfflineAllowed(isTrue(offline));
- } else {
- print("Warning: offlineAllowed not supported by this version of JavaFX SDK deployment Ant task. Please upgrade JavaFX to 2.0.2 or higher.");
- }
- }
- // native packaging (time consuming, thus applied in explicit build only)
- var nativeEnabled = new String(project.getProperty("do.build.native.package"));
- var nativeType = new String(project.getProperty("javafx.native.bundling.type"));
- var projStateRun = new String(project.getProperty("project.state.running"));
- var projStateDbg = new String(project.getProperty("project.state.debugging"));
- var projStatePrf = new String(project.getProperty("project.state.profiling"));
- if(isTrue(nativeEnabled) && defined(nativeType) && nativeType != "none") {
- if(!isTrue(projStateRun) && !isTrue(projStateDbg) && !isTrue(projStatePrf)) {
- if(isTrue(fx_ant_api_1_2)) {
- deploy.setNativeBundles(nativeType);
- print("Note: To create native bundles the <fx:deploy> task may require external tools. See JavaFX 2.2+ documentation for details.");
- print("");
- print("Launching <fx:deploy> in native packager mode...");
- } else {
- print("Warning: Native packaging is not supported by this version of JavaFX SDK deployment Ant task. Please upgrade to JDK 7u6 or higher.");
- }
- }
- }
-
- // fx:application
- var app = deploy.createApplication();
- app.setProject(project);
- var title = new String(project.getProperty("application.title"));
- var mainclass;
- if(isTrue(fx_in_swing_app) && isTrue(fx_ant_api_1_2)) {
- mainclass = new String(project.getProperty("main.class"));
- app.setToolkit("swing");
- } else {
- mainclass = new String(project.getProperty("javafx.main.class"));
- }
- var fallback = new String(project.getProperty("javafx.fallback.class"));
- app.setName(title);
- app.setMainClass(mainclass);
- if (typeof(app['fallbackClass']) === 'function') {
- app.setFallbackClass(fallback);
- }
- if(isTrue(withpreloader)) {
- preloaderclass = new String(project.getProperty("javafx.preloader.class"));
- app.setPreloaderClass(preloaderclass);
- }
- var appversion = new String(project.getProperty("javafx.application.implementation.version"));
- if(defined(appversion)) {
- app.setVersion(appversion);
- } else {
- app.setVersion("1.0");
- }
- // fx:param, fx:argument
- var searchHides = project.getProperties().keys();
- var hides = new Array();
- while(searchHides.hasMoreElements()) {
- // collect all hidden property names
- var pns = new String(searchHides.nextElement());
- if(startsWith(pns, JFXPAR) && endsWith(pns, JFXPARN)) {
- var propns = new String(project.getProperty(pns));
- var phs = replaceSuffix(pns, JFXPARN, JFXPARH);
- var proph = new String(project.getProperty(phs));
- if(isTrue(proph)) {
- hides.push(propns);
- }
- }
- }
- var keys = project.getProperties().keys();
- while(keys.hasMoreElements()) {
- var pn = new String(keys.nextElement());
- if(startsWith(pn, JFXPAR) && endsWith(pn, JFXPARN)) {
- var propn = new String(project.getProperty(pn));
- if(defined(propn) && !contains(hides, propn)) {
- var pv = replaceSuffix(pn, JFXPARN, JFXPARV);
- var propv = new String(project.getProperty(pv));
- if(defined(propv)) {
- var par = app.createParam();
- par.setName(propn);
- par.setValue(propv);
- } else {
- if(isTrue(fx_ant_api_1_1)) {
- var arg = app.createArgument();
- arg.addText(propn);
- } else {
- print("Warning: Unnamed parameters not supported by this version of JavaFX SDK deployment Ant tasks. Upgrade JavaFX to 2.0.2 or higher.");
- }
- }
- }
- }
- }
-
- // fx:resources
- var res = deploy.createResources();
- res.setProject(project);
- var deploydir = new String(project.getProperty("pp_deploy_dir"));
- if(isTrue(withpreloader)) {
- var f1 = res.createFileSet();
- f1.setProject(project);
- f1.setDir(new java.io.File(deploydir));
- var i1 = new String(project.getProperty("pp_deploy_fs1"));
- f1.setIncludes(i1);
- f1.setRequiredFor("preloader");
- var f2 = res.createFileSet();
- f2.setProject(project);
- f2.setDir(new java.io.File(deploydir));
- var i2a = new String(project.getProperty("jfx.deployment.jar"));
- var i2b = new String(project.getProperty("pp_deploy_fs2"));
- var e2c = new String(project.getProperty("pp_deploy_fs1"));
- f2.setIncludes(i2a);
- f2.setIncludes(i2b);
- f2.setExcludes(e2c);
- f2.setRequiredFor("startup");
- var lazyjars = getLazyJars();
- if(lazyjars != null) {
- var f3 = res.createFileSet();
- f3.setProject(project);
- f3.setDir(new java.io.File(deploydir));
- f3.setRequiredFor("runtime");
- setDownloadMode(f2,f3,lazyjars);
- }
- } else {
- var fn = res.createFileSet();
- fn.setProject(project);
- fn.setDir(new java.io.File(deploydir));
- var ia = new String(project.getProperty("jfx.deployment.jar"));
- var ib = new String(project.getProperty("pp_deploy_fs2"));
- fn.setIncludes(ia);
- fn.setIncludes(ib);
- fn.setRequiredFor("startup");
- var lazyjars = getLazyJars();
- if(lazyjars != null) {
- var fn2 = res.createFileSet();
- fn2.setProject(project);
- fn2.setDir(new java.io.File(deploydir));
- fn2.setRequiredFor("runtime");
- setDownloadMode(fn,fn2,lazyjars);
- }
- }
-
- // fx:info
- var info = deploy.createInfo();
- info.setProject(project);
- var vendor = new String(project.getProperty("application.vendor"));
- var description = new String(project.getProperty("application.desc"));
- info.setTitle(title); // title known from before
- info.setVendor(vendor);
- info.setDescription(description);
- var splash = new String(project.getProperty("javafx.deploy.splash"));
- if(defined(splash)) {
- if(isTrue(fx_ant_api_1_1)) {
- var sicon = info.createSplash();
- sicon.setHref(splash);
- sicon.setMode("any");
- print("Adding splash image reference: " + splash);
- } else {
- print("Warning: Splash Image not supported by this version of JavaFX SDK deployment Ant task. Please upgrade JavaFX to 2.0.2 or higher.");
- }
- }
- if(isTrue(nativeEnabled) && defined(nativeType) && nativeType != "none") {
- var icon = new String(project.getProperty("javafx.deploy.icon.native"));
- if(defined(icon)) {
- if(isTrue(fx_ant_api_1_2) && !isTrue(have_jdk_pre7u14)) {
- var dicon = derelativizePath(icon);
- // create temporary icon copy renamed to application name (required by native packager)
- var baseDir = new String(project.getProperty("basedir"));
- var buildDir = new String(project.getProperty("build.dir"));
- var deployBase = new String(project.getProperty("jfx.deployment.base"));
- var copyTask = project.createTask("copy");
- var source = new java.io.File(dicon);
- var sourceName = new String(source.getName());
- var lastDot = sourceName.lastIndexOf(".");
- var sourceExt;
- if(lastDot >=0) {
- sourceExt = sourceName.substr(lastDot);
- } else {
- sourceExt = new String("");
- }
- var target = new java.io.File(baseDir.concat(S).concat(buildDir).concat(S).concat("icon").concat(S).concat(deployBase).concat(sourceExt));
- copyTask.setFile(source);
- copyTask.setTofile(target);
- copyTask.setFlatten(true);
- copyTask.setFailOnError(false);
- copyTask.perform();
- var tempicon;
- if(target.exists()) {
- try {
- tempicon = target.getCanonicalPath();
- } catch(err) {
- tempicon = dicon;
- }
- } else {
- tempicon = dicon;
- }
- var nicon = info.createIcon();
- nicon.setHref(tempicon);
- print("Source native icon reference: " + dicon);
- print("Processed native icon reference: " + tempicon);
- } else {
- print("Warning: Native Package icon not supported by this version of JavaFX SDK deployment Ant task. Please upgrade to JDK7u14.");
- }
- }
- } else {
- var icon = new String(project.getProperty("javafx.deploy.icon"));
- if(defined(icon)) {
- if(isTrue(fx_ant_api_1_1)) {
- var iicon = info.createIcon();
- iicon.setHref(icon);
- print("Adding WebStart icon reference: " + icon);
- } else {
- print("Warning: WebStart Icon not supported by this version of JavaFX SDK deployment Ant task. Please upgrade JavaFX to 2.0.2 or higher.");
- }
- }
- }
-
- // fx:permissions
- var perm = deploy.createPermissions();
- perm.setProject(project);
- var elev = new String(project.getProperty("permissions.elevated"));
- perm.setElevated(isTrue(elev));
-
- // fx:preferences
- var pref = deploy.createPreferences();
- pref.setProject(project);
- var scut = new String(project.getProperty("javafx.deploy.adddesktopshortcut"));
- var instp = new String(project.getProperty("javafx.deploy.installpermanently"));
- var smenu = new String(project.getProperty("javafx.deploy.addstartmenushortcut"));
- pref.setShortcut(isTrue(scut));
- pref.setInstall(isTrue(instp));
- pref.setMenu(isTrue(smenu));
-
- // fx:template
- var templ = new String(project.getProperty("javafx.run.htmltemplate"));
- var templp = new String(project.getProperty("javafx.run.htmltemplate.processed"));
- if(defined(templ) && defined(templp)) {
- var temp = deploy.createTemplate();
- temp.setProject(project);
- temp.setFile(new java.io.File(templ));
- temp.setTofile(new java.io.File(templp));
- }
-
- // fx:platform
- var plat = deploy.createPlatform();
- plat.setProject(project);
- var requestRT = new String(project.getProperty("javafx.deploy.request.runtime"));
- if(defined(requestRT)) {
- plat.setJavafx(requestRT);
- }
- var jvmargs = new String(project.getProperty("run.jvmargs"));
- if(defined(jvmargs)) {
- var jvmargss = jvmargs.split(" ");
- for(var i = 0; i < jvmargss.length; i++) {
- if(defined(jvmargss[i])) {
- var vmarg = plat.createJvmarg();
- vmarg.setValue(jvmargss[i]);
- }
- }
- }
- if(isTrue(debug_in_browser)) {
- var vmarg = plat.createJvmarg();
- vmarg.setValue(new String("-ea:javafx.browserdebug"));
- }
- if(isTrue(nativeEnabled) && defined(nativeType) && nativeType != "none") {
- if(!isTrue(projStateRun) && !isTrue(projStateDbg) && !isTrue(projStatePrf)) {
- if(plat.setBasedir) {
- var sdkdir = new String(project.getProperty("javafx.sdk"));
- if(defined(sdkdir)) {
- plat.setBasedir(sdkdir);
- }
- } else {
- print("Note: the current version of native packager Ant task can bundle the default JRE only.");
- }
- }
- }
-
- // fx:callbacks
- var callbs = deploy.createCallbacks();
- callbs.setProject(project);
- var keys = project.getProperties().keys();
- while(keys.hasMoreElements()) {
- var pn = new String(keys.nextElement());
- if(startsWith(pn, JFXCALLB)) {
- var prop = new String(project.getProperty(pn));
- if(defined(prop)) {
- var cname = pn.substring(JFXCALLB.length+1);
- var cb = callbs.createCallback();
- cb.setProject(project);
- cb.setName(cname);
- cb.addText(prop);
- }
- }
- }
-
- deploy.perform();
- ]]>
- </script>
- <antcall target="-post-jfx-deploy"/>
- <antcall target="-call-post-jfx-native"/>
- </sequential>
- </macrodef>
-
- <!-- JavaFX SDK 2.0.x and 2.1.x deploy task can not generate pre-FX jnlp which is needed for FX-in-Swing projects-->
- <macrodef name="deploy-deploy-swing">
- <sequential>
- <antcall target="-pre-jfx-deploy"/>
- <local name="permissions-elevated-token"/>
- <condition property="permissions-elevated-token" value="${line.separator} <security>${line.separator} <all-permissions/>${line.separator} </security>" else="">
- <isset property="permissions-elevated"/>
- </condition>
- <local name="offline-allowed-token"/>
- <condition property="offline-allowed-token" value="${line.separator} <offline-allowed/>" else="">
- <isset property="offline-allowed"/>
- </condition>
- <local name="update-mode-background-token"/>
- <condition property="update-mode-background-token" value="background" else="always">
- <isset property="update-mode-background"/>
- </condition>
- <local name="html-template-processed-available"/>
- <condition property="html-template-processed-available">
- <and>
- <isset property="javafx.run.htmltemplate.processed"/>
- <not>
- <equals arg1="${javafx.run.htmltemplate.processed}" arg2=""/>
- </not>
- </and>
- </condition>
- <local name="javafx.deploy.icon.basename"/>
- <basename property="javafx.deploy.icon.basename" file="${javafx.deploy.icon}"/>
- <local name="local-icon-filename-available"/>
- <condition property="local-icon-filename-available">
- <and>
- <isset property="icon-available"/>
- <isset property="javafx.deploy.icon.basename"/>
- <not><equals arg1="${javafx.deploy.icon.basename}" arg2=""/></not>
- <not><contains string="${javafx.deploy.icon.basename}" substring="$${javafx" casesensitive="false"/></not>
- <not><contains string="${javafx.deploy.icon}" substring="http:" casesensitive="false"/></not>
- </and>
- </condition>
- <local name="icon-token"/>
- <condition property="icon-token" value="${line.separator} <icon href="${javafx.deploy.icon.basename}" kind="default"/>">
- <isset property="local-icon-filename-available"/>
- </condition>
- <condition property="icon-token" value="${line.separator} <icon href="${javafx.deploy.icon}" kind="default"/>" else="">
- <isset property="icon-available"/>
- </condition>
- <basename property="dist.filename" file="${dist.jar}" suffix=".jar"/>
- <length file="${dist.jar}" property="dist.jar.size" />
- <local name="vmargs-token"/>
- <condition property="vmargs-token" value="java-vm-args="${run.jvmargs}" " else="">
- <isset property="vmargs-available"/>
- </condition>
- <local name="applet-params-token"/>
- <local name="application-args-token"/>
- <echo message="JavaScript: deploy-deploy-swing 1" level="verbose"/>
- <script language="javascript">
- <![CDATA[
- function prefix(s, len) {
- if(s == null || len <= 0 || s.length == 0) {
- return new String("");
- }
- return new String(s.substr(0, len));
- }
- function replaceSuffix(s, os, ns) {
- return prefix(s, s.indexOf(os)).concat(ns);
- }
- function startsWith(s, prefix) {
- return (s != null) && (s.indexOf(prefix) == 0);
- }
- function endsWith(s, suffix) {
- var i = s.lastIndexOf(suffix);
- return (i != -1) && (i == (s.length - suffix.length));
- }
- function defined(s) {
- return (s != null) && (s != "null") && (s.length > 0);
- }
- var JFXPAR = "javafx.param";
- var JFXPARN = "name";
- var JFXPARV = "value";
-
- var params = new java.lang.StringBuilder();
- var args = new java.lang.StringBuilder();
- var keys = project.getProperties().keys();
- while(keys.hasMoreElements()) {
- var pn = new String(keys.nextElement());
- if(startsWith(pn, JFXPAR) && endsWith(pn, JFXPARN)) {
- var propn = new String(project.getProperty(pn));
- if(defined(propn)) {
- var pv = replaceSuffix(pn, JFXPARN, JFXPARV);
- var propv = new String(project.getProperty(pv));
- if(defined(propv)) {
- params.append("\n <param name=\"");
- params.append(propn);
- params.append("\" value=\"");
- params.append(propv);
- params.append("\"/>");
- args.append("\n <argument>");
- args.append(propn);
- args.append("=");
- args.append(propv);
- args.append("</argument>");
- } else {
- params.append("\n <param name=\"");
- params.append(propn);
- params.append("\" value=\"\"/>");
- args.append("\n <argument>");
- args.append(propn);
- args.append("</argument>");
- }
- }
- }
- }
- project.setProperty("applet-params-token", new String(params.toString()));
- project.setProperty("application-args-token", new String(args.toString()));
- ]]>
- </script>
- <local name="application.desc.processed"/>
- <condition property="application.desc.processed" value="${application.desc}" else="Swing applet embedding JavaFX components.">
- <isset property="application.desc"/>
- </condition>
- <filterchain id="jnlp.template.filter">
- <replacetokens>
- <token key="NAME" value="${dist.filename}"/>
- <token key="MAINCLASS" value="${main.class}"/>
- <token key="FILESIZE" value="${dist.jar.size}"/>
- <token key="VENDOR" value="${application.vendor}"/>
- <token key="TITLE" value="${application.title}"/>
- <token key="DESCRIPTION" value="${application.desc.processed}"/>
- <token key="WIDTH" value="${javafx.run.width}"/>
- <token key="HEIGHT" value="${javafx.run.height}"/>
- <token key="PERMISSIONS" value="${permissions-elevated-token}"/>
- <token key="OFFLINE" value="${offline-allowed-token}"/>
- <token key="UPDATEMODE" value="${update-mode-background-token}"/>
- <token key="ICON" value="${icon-token}"/>
- <token key="VMARGS" value="${vmargs-token}"/>
- <token key="PARAMETERS" value="${applet-params-token}"/>
- <token key="ARGUMENTS" value="${application-args-token}"/>
- </replacetokens>
- </filterchain>
- <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplateApplication.jnlp"
- tofile="${dist.dir}${file.separator}${dist.filename}_application.jnlp" >
- <filterchain refid="jnlp.template.filter"/>
- </copy>
- <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplateApplet.jnlp"
- tofile="${dist.dir}${file.separator}${dist.filename}_applet.jnlp" >
- <filterchain refid="jnlp.template.filter"/>
- </copy>
- <copy file="${basedir}${file.separator}nbproject${file.separator}templates${file.separator}FXSwingTemplate.html"
- tofile="${dist.dir}${file.separator}${dist.filename}.html" >
- <filterchain refid="jnlp.template.filter"/>
- </copy>
- <echo message="JavaScript: deploy-deploy-swing 2" level="verbose"/>
- <script language="javascript">
- <![CDATA[
- function startsWith(s, prefix) {
- return (s != null) && (s.indexOf(prefix) == 0);
- }
- function defined(s) {
- return (s != null) && (s != "null") && (s.length > 0);
- }
- var PREF = "file:";
- var doCopyIcon = new String(project.getProperty("local-icon-filename-available"));
- if(defined(doCopyIcon)) {
- var iconProp = new String(project.getProperty("javafx.deploy.icon"));
- if(startsWith(iconProp, PREF)) {
- iconProp = iconProp.slice(PREF.length);
- }
- while(iconProp.charAt(0) == "/") {
- iconProp = iconProp.slice(1);
- }
- var S = java.io.File.separator;
- var baseDir = new String(project.getProperty("basedir"));
- var distDir = new String(project.getProperty("dist.dir"));
- var copyTask = new String(project.createTask("copy"));
- var source = new java.io.File(iconProp);
- var target = new java.io.File(baseDir.concat(S).concat(distDir));
- copyTask.setFile(source);
- copyTask.setTodir(target);
- copyTask.setFlatten(true);
- copyTask.setFailOnError(false);
- copyTask.perform();
- }
- var doCopyHTMLFrom = new String(project.getProperty("html-template-available"));
- var doCopyHTMLTo = new String(project.getProperty("html-template-processed-available"));
- if(defined(doCopyHTMLFrom) && defined(doCopyHTMLTo)) {
- var htmlFrom = new String(project.getProperty("javafx.run.htmltemplate"));
- if(startsWith(htmlFrom, PREF)) {
- htmlFrom = htmlFrom.slice(PREF.length);
- }
- while(startsWith(htmlFrom, "/")) {
- htmlFrom = htmlFrom.slice(1);
- }
- var htmlTo = new String(project.getProperty("javafx.run.htmltemplate.processed"));
- if(startsWith(htmlTo, PREF)) {
- htmlTo = htmlTo.slice(PREF.length);
- }
- while(startsWith(htmlTo, "/")) {
- htmlTo = htmlTo.slice(1);
- }
- var copyTask = project.createTask("copy");
- var source = new java.io.File(htmlFrom);
- var target = new java.io.File(htmlTo);
- copyTask.setFile(source);
- copyTask.setTofile(target);
- copyTask.setFailOnError(false);
- copyTask.perform();
- }
- ]]>
- </script>
- <antcall target="-post-jfx-deploy"/>
- </sequential>
- </macrodef>
-
-
- <!-- Fallback Project Deployment Macros To Support At Least Partially JDKs Without JavaScript Support -->
-
- <macrodef name="fallback-deploy-application-def">
- <sequential>
- <echo message="Warning: Parameters (if any) not passed to <fx:application> in fallback build mode due to JDK missing JavaScript support."/>
- <fx:application id="fxApp"
- name="${application.title}"
- mainClass="${javafx.main.class}">
- <!-- PARAMETERS NOT PASSED IN FALLBACK -->
- </fx:application>
- </sequential>
- </macrodef>
-
- <macrodef name="fallback-deploy-application-def-preloader">
- <sequential>
- <echo message="Warning: Parameters (if any) not passed to <fx:application> in fallback build mode due to JDK missing JavaScript support."/>
- <fx:application id="fxApp"
- name="${application.title}"
- mainClass="${javafx.main.class}"
- preloaderClass="${javafx.preloader.class}">
- <!-- PARAMETERS NOT PASSED IN FALLBACK -->
- </fx:application>
- </sequential>
- </macrodef>
-
- <macrodef name="fallback-deploy-application-def-swing">
- <sequential>
- <echo message="Warning: Parameters (if any) not passed to <fx:application> in fallback build mode due to JDK missing JavaScript support."/>
- <fx:application id="fxApp"
- name="${application.title}"
- mainClass="${main.class}"
- toolkit="swing">
- <!-- PARAMETERS NOT PASSED IN FALLBACK -->
- </fx:application>
- </sequential>
- </macrodef>
-
- <macrodef name="fallback-deploy-resources">
- <sequential>
- <fx:resources id="appRes">
- <fx:fileset requiredFor="startup" dir="${jfx.deployment.dir}">
- <include name="${jfx.deployment.jar}"/>
- <include name="lib${file.separator}*.jar"/>
- <exclude name="lib${file.separator}${jfx.deployment.jar}"/>
- </fx:fileset>
- </fx:resources>
- </sequential>
- </macrodef>
-
- <macrodef name="fallback-deploy-resources-preloader">
- <sequential>
- <fx:resources id="appRes">
- <fx:fileset requiredFor="preloader" dir="${jfx.deployment.dir}">
- <include name="lib${file.separator}${javafx.preloader.jar.filename}"/>
- </fx:fileset>
- <fx:fileset requiredFor="startup" dir="${jfx.deployment.dir}">
- <include name="${jfx.deployment.jar}"/>
- <include name="lib${file.separator}*.jar"/>
- <exclude name="lib${file.separator}${javafx.preloader.jar.filename}"/>
- <exclude name="lib${file.separator}${jfx.deployment.jar}"/>
- </fx:fileset>
- </fx:resources>
- </sequential>
- </macrodef>
-
- <macrodef name="fallback-deploy-jar">
- <sequential>
- <antcall target="-pre-jfx-jar"/>
- <fx:jar destfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}">
- <fx:application refid="fxApp"/>
- <fx:resources refid="appRes"/>
- <fileset dir="${build.classes.dir}">
- <exclude name="**${file.separator}*.${css-exclude-ext}"/>
- </fileset>
- <manifest>
- <attribute name="Implementation-Vendor" value="${application.vendor}"/>
- <attribute name="Implementation-Title" value="${application.title}"/>
- <attribute name="Implementation-Version" value="1.0"/>
- </manifest>
- </fx:jar>
- <antcall target="-post-jfx-jar"/>
- </sequential>
- </macrodef>
-
- <macrodef name="fallback-deploy-deploy">
- <sequential>
- <antcall target="-pre-jfx-deploy"/>
- <echo message="Warning: JVM Arguments and Callbacks (if any) not passed to <fx:deploy> in fallback build mode due to JDK missing JavaScript support."/>
- <fx:deploy width="${javafx.width}" height="${javafx.height}"
- outdir="${jfx.deployment.dir}" embedjnlp="true" updatemode="${update-mode}"
- outfile="${application.title}" includeDT="${javafx.deploy.includeDT}">
- <fx:application refid="fxApp"/>
- <fx:resources refid="appRes"/>
- <fx:info title="${application.title}" vendor="${application.vendor}"/>
- <fx:permissions elevated="${permissions.elevated}"/>
- <fx:preferences shortcut="${javafx.deploy.adddesktopshortcut}" install="${javafx.deploy.installpermanently}" menu="${javafx.deploy.addstartmenushortcut}"/>
- <!-- PLATFORM NOT PASSED IN FALLBACK -->
- <!-- CALLBACKS NOT PASSED IN FALLBACK -->
- </fx:deploy>
- <antcall target="-post-jfx-deploy"/>
- </sequential>
- </macrodef>
-
- <macrodef name="fallback-deploy-deploy-template">
- <sequential>
- <antcall target="-pre-jfx-deploy"/>
- <echo message="Warning: JVM Arguments and Callbacks (if any) not passed to <fx:deploy> in fallback build mode due to JDK missing JavaScript support."/>
- <deploy-process-template/>
- <fx:deploy width="${javafx.width}" height="${javafx.height}"
- outdir="${jfx.deployment.dir}" embedjnlp="true" updatemode="${update-mode}"
- outfile="${application.title}" includeDT="${javafx.deploy.includeDT}">
- <fx:application refid="fxApp"/>
- <fx:resources refid="appRes"/>
- <fx:info title="${application.title}" vendor="${application.vendor}"/>
- <fx:permissions elevated="${permissions.elevated}"/>
- <fx:preferences shortcut="${javafx.deploy.adddesktopshortcut}" install="${javafx.deploy.installpermanently}" menu="${javafx.deploy.addstartmenushortcut}"/>
- <fx:template file="${javafx.run.htmltemplate}" tofile="${javafx.run.htmltemplate.processed}"/>
- <!-- PLATFORM NOT PASSED IN FALLBACK -->
- <!-- CALLBACKS NOT PASSED IN FALLBACK -->
- </fx:deploy>
- <antcall target="-post-jfx-deploy"/>
- </sequential>
- </macrodef>
-
-
- <!-- Project Deployment Targets -->
-
- <target name="-check-sign" depends="-check-project,-javafx-init-keystore" if="javafx.signed.true+signjars.task.available">
- <condition property="sign-nopreloader-notemplate">
- <and>
- <isset property="app-without-preloader"/>
- <not><isset property="html-template-available"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <not><isset property="use-blob-signing"/></not>
- </and>
- </condition>
- <condition property="sign-preloader-notemplate">
- <and>
- <isset property="app-with-preloader"/>
- <not><isset property="html-template-available"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <not><isset property="use-blob-signing"/></not>
- </and>
- </condition>
- <condition property="sign-nopreloader-template">
- <and>
- <isset property="app-without-preloader"/>
- <isset property="html-template-available"/>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <not><isset property="use-blob-signing"/></not>
- </and>
- </condition>
- <condition property="sign-preloader-template">
- <and>
- <isset property="app-with-preloader"/>
- <isset property="html-template-available"/>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <not><isset property="use-blob-signing"/></not>
- </and>
- </condition>
- <condition property="sign-nopreloader-notemplate-swing">
- <and>
- <isset property="app-without-preloader"/>
- <not><isset property="html-template-available"/></not>
- <isset property="fx-in-swing-app-workaround"/>
- <not><isset property="use-blob-signing"/></not>
- </and>
- </condition>
- <condition property="sign-nopreloader-template-swing">
- <and>
- <isset property="app-without-preloader"/>
- <isset property="html-template-available"/>
- <isset property="fx-in-swing-app-workaround"/>
- <not><isset property="use-blob-signing"/></not>
- </and>
- </condition>
- <condition property="sign-blob-nopreloader-notemplate">
- <and>
- <isset property="app-without-preloader"/>
- <not><isset property="html-template-available"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <isset property="use-blob-signing"/>
- </and>
- </condition>
- <condition property="sign-blob-preloader-notemplate">
- <and>
- <isset property="app-with-preloader"/>
- <not><isset property="html-template-available"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <isset property="use-blob-signing"/>
- </and>
- </condition>
- <condition property="sign-blob-nopreloader-template">
- <and>
- <isset property="app-without-preloader"/>
- <isset property="html-template-available"/>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <isset property="use-blob-signing"/>
- </and>
- </condition>
- <condition property="sign-blob-preloader-template">
- <and>
- <isset property="app-with-preloader"/>
- <isset property="html-template-available"/>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- <isset property="use-blob-signing"/>
- </and>
- </condition>
- <condition property="sign-blob-nopreloader-notemplate-swing">
- <and>
- <isset property="app-without-preloader"/>
- <not><isset property="html-template-available"/></not>
- <isset property="fx-in-swing-app-workaround"/>
- <isset property="use-blob-signing"/>
- </and>
- </condition>
- <condition property="sign-blob-nopreloader-template-swing">
- <and>
- <isset property="app-without-preloader"/>
- <isset property="html-template-available"/>
- <isset property="fx-in-swing-app-workaround"/>
- <isset property="use-blob-signing"/>
- </and>
- </condition>
- </target>
- <target name="-check-nosign" depends="-check-project">
- <condition property="nosign-nopreloader-notemplate">
- <and>
- <isset property="app-without-preloader"/>
- <not><isset property="html-template-available"/></not>
- <not><isset property="javafx.signed.true"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- </and>
- </condition>
- <condition property="nosign-preloader-notemplate">
- <and>
- <isset property="app-with-preloader"/>
- <not><isset property="html-template-available"/></not>
- <not><isset property="javafx.signed.true"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- </and>
- </condition>
- <condition property="nosign-nopreloader-template">
- <and>
- <isset property="app-without-preloader"/>
- <isset property="html-template-available"/>
- <not><isset property="javafx.signed.true"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- </and>
- </condition>
- <condition property="nosign-preloader-template">
- <and>
- <isset property="app-with-preloader"/>
- <isset property="html-template-available"/>
- <not><isset property="javafx.signed.true"/></not>
- <not><isset property="fx-in-swing-app-workaround"/></not>
- </and>
- </condition>
- <condition property="nosign-nopreloader-notemplate-swing">
- <and>
- <isset property="app-without-preloader"/>
- <not><isset property="html-template-available"/></not>
- <not><isset property="javafx.signed.true"/></not>
- <isset property="fx-in-swing-app-workaround"/>
- </and>
- </condition>
- <condition property="nosign-nopreloader-template-swing">
- <and>
- <isset property="app-without-preloader"/>
- <isset property="html-template-available"/>
- <not><isset property="javafx.signed.true"/></not>
- <isset property="fx-in-swing-app-workaround"/>
- </and>
- </condition>
- </target>
-
-
- <!-- WITH SIGNING -->
-
- <!-- project without preloader -->
- <!-- no html template -->
- <target name="-deploy-app-sign-nopreloader-notemplate" depends="-check-sign" if="sign-nopreloader-notemplate" unless="preloader-app">
- <echo message="-deploy-app-sign-nopreloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign/>
- <deploy-deploy/>
- </target>
- <target name="-deploy-app-sign-blob-nopreloader-notemplate" depends="-check-sign" if="sign-blob-nopreloader-notemplate" unless="preloader-app">
- <echo message="-deploy-app-sign-blob-nopreloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-blob/>
- <deploy-deploy/>
- </target>
-
- <!-- project with preloader -->
- <!-- no html template -->
- <target name="-deploy-app-sign-preloader-notemplate" depends="-check-sign" if="sign-preloader-notemplate" unless="preloader-app">
- <echo message="-deploy-app-sign-preloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-preloader/>
- <deploy-deploy/>
- </target>
- <target name="-deploy-app-sign-blob-preloader-notemplate" depends="-check-sign" if="sign-blob-preloader-notemplate" unless="preloader-app">
- <echo message="-deploy-app-sign-blob-preloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-blob-preloader/>
- <deploy-deploy/>
- </target>
-
- <!-- project without preloader -->
- <!-- html template -->
- <target name="-deploy-app-sign-nopreloader-template" depends="-check-sign" if="sign-nopreloader-template" unless="preloader-app">
- <echo message="-deploy-app-sign-nopreloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign/>
- <deploy-process-template/>
- <deploy-deploy/>
- </target>
- <target name="-deploy-app-sign-blob-nopreloader-template" depends="-check-sign" if="sign-blob-nopreloader-template" unless="preloader-app">
- <echo message="-deploy-app-sign-blob-nopreloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-blob/>
- <deploy-process-template/>
- <deploy-deploy/>
- </target>
-
- <!-- project with preloader -->
- <!-- html template -->
- <target name="-deploy-app-sign-preloader-template" depends="-check-sign" if="sign-preloader-template" unless="preloader-app">
- <echo message="-deploy-app-sign-preloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-preloader/>
- <deploy-process-template/>
- <deploy-deploy/>
- </target>
- <target name="-deploy-app-sign-blob-preloader-template" depends="-check-sign" if="sign-blob-preloader-template" unless="preloader-app">
- <echo message="-deploy-app-sign-blob-preloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-blob-preloader/>
- <deploy-process-template/>
- <deploy-deploy/>
- </target>
-
- <!-- project without preloader -->
- <!-- no html template -->
- <!-- FX in Swing app -->
- <target name="-deploy-app-sign-nopreloader-notemplate-swing" depends="-check-sign" if="sign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
- <echo message="-deploy-app-sign-nopreloader-notemplate-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign/>
- <deploy-deploy-swing/>
- </target>
- <target name="-deploy-app-sign-blob-nopreloader-notemplate-swing" depends="-check-sign" if="sign-blob-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
- <echo message="-deploy-app-sign-blob-nopreloader-notemplate-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-blob/>
- <deploy-deploy-swing/>
- </target>
-
- <!-- project without preloader -->
- <!-- html template -->
- <!-- FX in Swing app -->
- <target name="-deploy-app-sign-nopreloader-template-swing" depends="-check-sign" if="sign-nopreloader-template-swing" unless="preloader-app-no-workaround">
- <echo message="-deploy-app-sign-nopreloader-template-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign/>
- <deploy-process-template/>
- <deploy-deploy-swing/>
- </target>
- <target name="-deploy-app-sign-blob-nopreloader-template-swing" depends="-check-sign" if="sign-blob-nopreloader-template-swing" unless="preloader-app-no-workaround">
- <echo message="-deploy-app-sign-blob-nopreloader-template-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-sign-blob/>
- <deploy-process-template/>
- <deploy-deploy-swing/>
- </target>
-
-
- <!-- NO SIGNING -->
-
- <!-- project without preloader -->
- <!-- no html template -->
- <target name="-deploy-app-nosign-nopreloader-notemplate" depends="-check-nosign" if="nosign-nopreloader-notemplate" unless="preloader-app">
- <echo message="-deploy-app-nosign-nopreloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-deploy/>
- </target>
-
- <!-- project with preloader -->
- <!-- no html template -->
- <target name="-deploy-app-nosign-preloader-notemplate" depends="-check-nosign" if="nosign-preloader-notemplate" unless="preloader-app">
- <echo message="-deploy-app-nosign-preloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-deploy/>
- </target>
-
- <!-- project without preloader -->
- <!-- html template -->
- <target name="-deploy-app-nosign-nopreloader-template" depends="-check-nosign" if="nosign-nopreloader-template" unless="preloader-app">
- <echo message="-deploy-app-nosign-nopreloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-process-template/>
- <deploy-deploy/>
- </target>
-
- <!-- project with preloader -->
- <!-- html template -->
- <target name="-deploy-app-nosign-preloader-template" depends="-check-nosign" if="nosign-preloader-template" unless="preloader-app">
- <echo message="-deploy-app-nosign-preloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-process-template/>
- <deploy-deploy/>
- </target>
-
- <!-- project without preloader -->
- <!-- no html template -->
- <!-- FX in Swing app -->
- <target name="-deploy-app-nosign-nopreloader-notemplate-swing" depends="-check-nosign" if="nosign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
- <echo message="-deploy-app-nosign-nopreloader-notemplate-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-deploy-swing/>
- </target>
-
- <!-- project without preloader -->
- <!-- html template -->
- <!-- FX in Swing app -->
- <target name="-deploy-app-nosign-nopreloader-template-swing" depends="-check-nosign" if="nosign-nopreloader-template-swing" unless="preloader-app-no-workaround">
- <echo message="-deploy-app-nosign-nopreloader-template-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <deploy-jar/>
- <deploy-process-template/>
- <deploy-deploy-swing/>
- </target>
-
-
- <!-- FALLBACK (NO JAVASCRIPT) TARGETS WITH SIGNING -->
-
- <target name="-check-fallback-sign-deploy-swing-possible" depends="-check-sign">
- <local name="fail-deploy-swing-possible"/>
- <condition property="fail-deploy-swing-possible">
- <and>
- <or>
- <isset property="sign-nopreloader-notemplate-swing"/>
- <isset property="sign-nopreloader-template-swing"/>
- </or>
- <not><isset property="have-fx-ant-api-1.2"/></not>
- </and>
- </condition>
- <fail message="Error: JavaFX SDK version 2.2 or newer is needed to deploy FX-in-Swing on JDK without JavaScript support."
- if="fail-deploy-swing-possible"/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK no html template -->
- <target name="-fallback-deploy-app-sign-nopreloader-notemplate" depends="-check-sign" if="sign-nopreloader-notemplate" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-nopreloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign/>
- <fallback-deploy-deploy/>
- </target>
- <target name="-fallback-deploy-app-sign-blob-nopreloader-notemplate" depends="-check-sign" if="sign-blob-nopreloader-notemplate" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-blob-nopreloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign-blob/>
- <fallback-deploy-deploy/>
- </target>
-
- <!-- FALLBACK project with preloader -->
- <!-- FALLBACK no html template -->
- <target name="-fallback-deploy-app-sign-preloader-notemplate" depends="-check-sign" if="sign-preloader-notemplate" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-preloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-preloader/>
- <fallback-deploy-resources-preloader/>
- <fallback-deploy-jar/>
- <deploy-sign-preloader/>
- <fallback-deploy-deploy/>
- </target>
- <target name="-fallback-deploy-app-sign-blob-preloader-notemplate" depends="-check-sign" if="sign-blob-preloader-notemplate" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-blob-preloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-preloader/>
- <fallback-deploy-resources-preloader/>
- <fallback-deploy-jar/>
- <deploy-sign-blob-preloader/>
- <fallback-deploy-deploy/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK html template -->
- <target name="-fallback-deploy-app-sign-nopreloader-template" depends="-check-sign" if="sign-nopreloader-template" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-nopreloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign/>
- <fallback-deploy-deploy-template/>
- </target>
- <target name="-fallback-deploy-app-sign-blob-nopreloader-template" depends="-check-sign" if="sign-blob-nopreloader-template" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-blob-nopreloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign-blob/>
- <fallback-deploy-deploy-template/>
- </target>
-
- <!-- FALLBACK project with preloader -->
- <!-- FALLBACK html template -->
- <target name="-fallback-deploy-app-sign-preloader-template" depends="-check-sign" if="sign-preloader-template" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-preloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-preloader/>
- <fallback-deploy-resources-preloader/>
- <fallback-deploy-jar/>
- <deploy-sign-preloader/>
- <fallback-deploy-deploy-template/>
- </target>
- <target name="-fallback-deploy-app-sign-blob-preloader-template" depends="-check-sign" if="sign-blob-preloader-template" unless="preloader-app">
- <echo message="-fallback-deploy-app-sign-blob-preloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-preloader/>
- <fallback-deploy-resources-preloader/>
- <fallback-deploy-jar/>
- <deploy-sign-blob-preloader/>
- <fallback-deploy-deploy-template/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK no html template -->
- <!-- FALLBACK FX in Swing app -->
- <target name="-fallback-deploy-app-sign-nopreloader-notemplate-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
- <echo message="-fallback-deploy-app-sign-nopreloader-notemplate-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-swing/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign/>
- <fallback-deploy-deploy/>
- </target>
- <target name="-fallback-deploy-app-sign-blob-nopreloader-notemplate-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
- <echo message="-fallback-deploy-app-sign-blob-nopreloader-notemplate-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-swing/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign-blob/>
- <fallback-deploy-deploy/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK html template -->
- <!-- FALLBACK FX in Swing app -->
- <target name="-fallback-deploy-app-sign-nopreloader-template-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-template-swing" unless="preloader-app-no-workaround">
- <echo message="-fallback-deploy-app-sign-nopreloader-template-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-swing/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign/>
- <fallback-deploy-deploy-template/>
- </target>
- <target name="-fallback-deploy-app-sign-blob-nopreloader-template-swing" depends="-check-fallback-sign-deploy-swing-possible" if="sign-nopreloader-template-swing" unless="preloader-app-no-workaround">
- <echo message="-fallback-deploy-app-sign-blob-nopreloader-template-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-swing/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <deploy-sign-blob/>
- <fallback-deploy-deploy-template/>
- </target>
-
-
- <!-- FALLBACK (NO JAVASCRIPT) TARGETS NO SIGNING -->
-
- <target name="-check-fallback-nosign-deploy-swing-possible" depends="-check-nosign">
- <local name="fail-deploy-swing-possible"/>
- <condition property="fail-deploy-swing-possible">
- <and>
- <or>
- <isset property="nosign-nopreloader-notemplate-swing"/>
- <isset property="nosign-nopreloader-template-swing"/>
- </or>
- <not><isset property="have-fx-ant-api-1.2"/></not>
- </and>
- </condition>
- <fail message="Error: JavaFX SDK version 2.2 or newer is needed to deploy FX-in-Swing on JDK without JavaScript support."
- if="fail-deploy-swing-possible"/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK no html template -->
- <target name="-fallback-deploy-app-nosign-nopreloader-notemplate" depends="-check-nosign" if="nosign-nopreloader-notemplate" unless="preloader-app">
- <echo message="-fallback-deploy-app-nosign-nopreloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <fallback-deploy-deploy/>
- </target>
-
- <!-- FALLBACK project with preloader -->
- <!-- FALLBACK no html template -->
- <target name="-fallback-deploy-app-nosign-preloader-notemplate" depends="-check-nosign" if="nosign-preloader-notemplate" unless="preloader-app">
- <echo message="-fallback-deploy-app-nosign-preloader-notemplate" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-preloader/>
- <fallback-deploy-resources-preloader/>
- <fallback-deploy-jar/>
- <fallback-deploy-deploy/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK html template -->
- <target name="-fallback-deploy-app-nosign-nopreloader-template" depends="-check-nosign" if="nosign-nopreloader-template" unless="preloader-app">
- <echo message="-fallback-deploy-app-nosign-nopreloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <fallback-deploy-deploy-template/>
- </target>
-
- <!-- FALLBACK project with preloader -->
- <!-- FALLBACK html template -->
- <target name="-fallback-deploy-app-nosign-preloader-template" depends="-check-nosign" if="nosign-preloader-template" unless="preloader-app">
- <echo message="-fallback-deploy-app-nosign-preloader-template" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-preloader/>
- <fallback-deploy-resources-preloader/>
- <fallback-deploy-jar/>
- <fallback-deploy-deploy-template/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK no html template -->
- <!-- FALLBACK FX in Swing app -->
- <target name="-fallback-deploy-app-nosign-nopreloader-notemplate-swing" depends="-check-fallback-nosign-deploy-swing-possible" if="nosign-nopreloader-notemplate-swing" unless="preloader-app-no-workaround">
- <echo message="-fallback-deploy-app-nosign-nopreloader-notemplate-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-swing/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <fallback-deploy-deploy/>
- </target>
-
- <!-- FALLBACK project without preloader -->
- <!-- FALLBACK html template -->
- <!-- FALLBACK FX in Swing app -->
- <target name="-fallback-deploy-app-nosign-nopreloader-template-swing" depends="-check-fallback-nosign-deploy-swing-possible" if="nosign-nopreloader-template-swing" unless="preloader-app-no-workaround">
- <echo message="-fallback-deploy-app-nosign-nopreloader-template-swing" level="verbose"/>
- <deploy-defines/>
- <deploy-preprocess/>
- <fallback-deploy-application-def-swing/>
- <fallback-deploy-resources/>
- <fallback-deploy-jar/>
- <fallback-deploy-deploy-template/>
- </target>
-
-
- <!-- Project Build Targets -->
-
- <target name="jfx-build">
- <antcall target="-build-on-another-platform" />
- <antcall target="-build-on-same-platform" />
- </target>
- <target name="jfx-project-build" depends="-jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
- <target name="jfx-build-noscript" depends="-set-fallback-no-javascript, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-
- <target name="jfx-rebuild">
- <antcall target="-rebuild-on-another-platform" />
- <antcall target="-rebuild-on-same-platform" />
- </target>
- <target name="jfx-project-rebuild" depends=" clean, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
- <target name="jfx-rebuild-noscript" depends="-set-fallback-no-javascript, clean, -jfx-do-compile, -jfx-do-jar, -jfx-do-post-jar"/>
-
- <target name="jfx-build-native" depends="-set-do-build-native-package, -check-ant-jre-supports-native-packaging, -check-native-packager-external-tools, jfx-rebuild"/>
- <target name="jfx-build-native-noscript" depends="-set-do-build-native-package, -check-ant-jre-supports-native-packaging, -check-native-packager-external-tools, jfx-rebuild-noscript"/>
-
- <target name="build-native">
- <property name="javafx.native.bundling.type" value="${native.bundling.type}"/>
- <antcall target="jfx-build-native"/>
- </target>
- <target name="build-native-noscript">
- <property name="javafx.native.bundling.type" value="${native.bundling.type}"/>
- <antcall target="jfx-build-native-noscript"/>
- </target>
-
- <target name="-build-on-another-platform" depends="-check-ant-vs-platform-jvm" if="ant-java-version-different-from-plaform-java">
- <target-on-another-jvm target="jfx-project-build"/>
- </target>
- <target name="-build-on-same-platform" depends="-check-ant-vs-platform-jvm" unless="ant-java-version-different-from-plaform-java">
- <antcall target="jfx-project-build" />
- </target>
-
- <target name="-rebuild-on-another-platform" depends="-check-ant-vs-platform-jvm" if="ant-java-version-different-from-plaform-java">
- <target-on-another-jvm target="jfx-project-rebuild"/>
- </target>
- <target name="-rebuild-on-same-platform" depends="-check-ant-vs-platform-jvm" unless="ant-java-version-different-from-plaform-java">
- <antcall target="jfx-project-rebuild" />
- </target>
-
- <target name="-check-do-jar">
- <condition property="do-jar-false">
- <and>
- <isset property="do.jar"/>
- <equals arg1="${do.jar}" arg2="false"/>
- </and>
- </condition>
- </target>
- <target name="-set-fallback-no-javascript">
- <property name="fallback.no.javascript" value="true"/>
- <echo message="Warning: Using fallback build infrastructure due to default JDK missing JavaScript support."/>
- </target>
- <target name="-jfx-do-compile" depends="-check-do-jar" if="do-jar-false">
- <antcall target="compile"/>
- </target>
- <target name="-jfx-do-jar" depends="-check-do-jar" unless="do-jar-false">
- <antcall target="jar"/>
- </target>
- <target name="-jfx-do-post-jar" depends="-init-check,-check-project" if="preloader-app">
- <!-- Preloaders are created using SE copylibs task that creates readme file relevant for SE only -->
- <delete file="${basedir}${file.separator}${dist.dir}${file.separator}README.TXT"/>
- </target>
-
- <target name="-set-do-build-native-package">
- <property name="do.build.native.package" value="true"/>
- <echo message="do.build.native.package = ${do.build.native.package}" level="verbose"/>
- </target>
- <target name="-check-ant-jre-supports-native-packaging" depends="-check-ant-jre-version">
- <fail message="Error:${line.separator}JavaFX native packager requires NetBeans to run on JDK 1.7u6 or later !" if="have-ant-jre-pre7u6"/>
- </target>
-
- <target name="-call-pre-jfx-native" if="do.build.native.package">
- <antcall target="-pre-jfx-native"/>
- </target>
- <target name="-call-post-jfx-native" if="do.build.native.package">
- <antcall target="-post-jfx-native"/>
- </target>
-
- <target name="-check-native-bundling-type" depends="-check-operating-system" if="do.build.native.package">
- <condition property="need.Inno.presence">
- <and>
- <isset property="running.on.windows"/>
- <isset property="javafx.native.bundling.type"/>
- <or>
- <equals arg1="${javafx.native.bundling.type}" arg2="all" casesensitive="false"/>
- <equals arg1="${javafx.native.bundling.type}" arg2="installer" casesensitive="false"/>
- <equals arg1="${javafx.native.bundling.type}" arg2="exe" casesensitive="false"/>
- </or>
- </and>
- </condition>
- <condition property="need.WiX.presence">
- <and>
- <isset property="running.on.windows"/>
- <isset property="javafx.native.bundling.type"/>
- <or>
- <equals arg1="${javafx.native.bundling.type}" arg2="all" casesensitive="false"/>
- <equals arg1="${javafx.native.bundling.type}" arg2="installer" casesensitive="false"/>
- <equals arg1="${javafx.native.bundling.type}" arg2="msi" casesensitive="false"/>
- </or>
- </and>
- </condition>
- <condition property="need.dpkg.presence">
- <and>
- <isset property="running.on.unix"/>
- <isset property="javafx.native.bundling.type"/>
- <or>
- <equals arg1="${javafx.native.bundling.type}" arg2="deb" casesensitive="false"/>
- </or>
- </and>
- </condition>
- <condition property="need.rpmbuild.presence">
- <and>
- <isset property="running.on.unix"/>
- <isset property="javafx.native.bundling.type"/>
- <or>
- <equals arg1="${javafx.native.bundling.type}" arg2="rpm" casesensitive="false"/>
- </or>
- </and>
- </condition>
- <echo message="need.Inno.presence:${need.Inno.presence}" level="verbose"/>
- <echo message="need.WiX.presence:${need.WiX.presence}" level="verbose"/>
- <echo message="need.dpkg.presence:${need.dpkg.presence}" level="verbose"/>
- <echo message="need.rpmbuild.presence:${need.rpmbuild.presence}" level="verbose"/>
- </target>
- <target name="-check-Inno-presence" depends="-check-native-bundling-type" if="need.Inno.presence">
- <local name="exec-output"/>
- <local name="exec-error"/>
- <local name="exec-result"/>
- <exec executable="iscc" outputproperty="exec-output" failifexecutionfails="false" errorproperty="exec-error" resultproperty="exec-result"/>
- <echo message="exec-output:${exec-output}" level="verbose"/>
- <echo message="exec-error:${exec-error}" level="verbose"/>
- <echo message="exec-result:${exec-result}" level="verbose"/>
- <condition property="missing.Inno">
- <not><and>
- <contains string="${exec-output}" substring="Inno Setup"/>
- <not><contains string="${exec-output}" substring="Inno Setup 1"/></not>
- <not><contains string="${exec-output}" substring="Inno Setup 2"/></not>
- <not><contains string="${exec-output}" substring="Inno Setup 3"/></not>
- <not><contains string="${exec-output}" substring="Inno Setup 4"/></not>
- </and></not>
- </condition>
- </target>
- <target name="-check-WiX-presence" depends="-check-native-bundling-type" if="need.WiX.presence">
- <local name="exec-output"/>
- <local name="exec-error"/>
- <local name="exec-result"/>
- <exec executable="candle" outputproperty="exec-output" failifexecutionfails="false" errorproperty="exec-error" resultproperty="exec-result">
- <arg value="-?"/>
- </exec>
- <echo message="exec-output:${exec-output}" level="verbose"/>
- <echo message="exec-error:${exec-error}" level="verbose"/>
- <echo message="exec-result:${exec-result}" level="verbose"/>
- <condition property="missing.WiX">
- <not>
- <matches string="${exec-output}" pattern="windows\s+installer\s+xml\s+(toolset\s+)?compiler\s+version\s+3.*" casesensitive="false"/>
- </not>
- </condition>
- </target>
- <target name="-check-dpkg-presence" depends="-check-native-bundling-type" if="need.dpkg.presence">
- <local name="exec.which.dpkg.result"/>
- <local name="exec.which.dpkg.output"/>
- <exec executable="command" failifexecutionfails="false" failonerror="false" resultproperty="exec.which.dpkg.result" outputproperty="exec.which.dpkg.output">
- <arg line="-v dpkg"/>
- </exec>
- <condition property="missing.dpkg">
- <not><and>
- <isset property="exec.which.dpkg.result"/>
- <equals arg1="${exec.which.dpkg.result}" arg2="0"/>
- <isset property="exec.which.dpkg.output"/>
- <not><equals arg1="${exec.which.dpkg.output}" arg2=""/></not>
- </and></not>
- </condition>
- </target>
- <target name="-check-rpmbuild-presence" depends="-check-native-bundling-type" if="need.rpmbuild.presence">
- <local name="exec.which.rpmbuild.result"/>
- <local name="exec.which.rpmbuild.output"/>
- <exec executable="command" failifexecutionfails="false" failonerror="false" resultproperty="exec.which.rpmbuild.result" outputproperty="exec.which.rpmbuild.output">
- <arg line="-v rpmbuild"/>
- </exec>
- <condition property="missing.rpmbuild">
- <not><and>
- <isset property="exec.which.rpmbuild.result"/>
- <equals arg1="${exec.which.rpmbuild.result}" arg2="0"/>
- <isset property="exec.which.rpmbuild.output"/>
- <not><equals arg1="${exec.which.rpmbuild.output}" arg2=""/></not>
- </and></not>
- </condition>
- </target>
- <target name="-check-native-packager-external-tools" depends="-check-Inno-presence, -check-WiX-presence, -check-dpkg-presence, -check-rpmbuild-presence">
- <property name="missing.Inno.message" value="JavaFX native packager requires external Inno Setup 5+ tools installed and included on PATH to create EXE installer. See http://www.jrsoftware.org/"/>
- <property name="missing.WiX.message" value="JavaFX native packager requires external WiX 3.0+ tools installed and included on PATH to create MSI installer. See http://wix.sourceforge.net/"/>
- <property name="missing.dpkg.message" value="JavaFX native packager requires Debian Packager tools to create DEB package, but dpkg could not be found."/>
- <property name="missing.rpmbuild.message" value="JavaFX native packager requires RPMBuild to create RPM package, but rpmbuild could not be found."/>
- <condition property="missing.Inno.WiX">
- <and>
- <isset property="missing.Inno"/>
- <isset property="missing.WiX"/>
- </and>
- </condition>
- <fail message="Error:${line.separator}${missing.Inno.message}${line.separator}${missing.WiX.message}" if="missing.Inno.WiX"/>
- <fail message="Error:${line.separator}${missing.Inno.message}" if="missing.Inno"/>
- <fail message="Error:${line.separator}${missing.WiX.message}" if="missing.WiX"/>
- <fail message="Error:${line.separator}${missing.dpkg.message}" if="missing.dpkg"/>
- <fail message="Error:${line.separator}${missing.rpmbuild.message}" if="missing.rpmbuild"/>
- </target>
-
- <!-- Project Run Support -->
-
- <target name="-warn-of-preloader" depends="-check-project" if="preloader-app-no-workaround">
- <fail message="Error:${line.separator}JavaFX 2 Preloader Project can not be executed directly.${line.separator}Please execute instead a JavaFX Application that uses the Preloader."/>
- </target>
-
- <target name="-mark-project-state-running">
- <property name="project.state.running" value="true"/>
- <echo message="project.state.running = ${project.state.running}" level="verbose"/>
- </target>
- <target name="-mark-project-state-debugging">
- <property name="project.state.debugging" value="true"/>
- <echo message="project.state.debugging = ${project.state.debugging}" level="verbose"/>
- </target>
- <target name="-mark-project-state-debugging-in-browser" depends="-mark-project-state-debugging">
- <property name="project.state.debugging.in.browser" value="true"/>
- <echo message="project.state.debugging.in.browser = ${project.state.debugging.in.browser}" level="verbose"/>
- </target>
- <target name="-mark-project-state-profiling">
- <property name="project.state.profiling" value="true"/>
- <echo message="project.state.profiling = ${project.state.profiling}" level="verbose"/>
- </target>
- <target name="-mark-project-needs-jnlp">
- <property name="project.needs.jnlp" value="true"/>
- <echo message="project.needs.jnlp = ${project.needs.jnlp}" level="verbose"/>
- </target>
-
- <!-- set property javafx.disable.concurrent.runs=true to disable runs from temporary directory -->
- <target name="-check-concurrent-runs">
- <condition property="disable-concurrent-runs">
- <and>
- <isset property="javafx.disable.concurrent.runs"/>
- <equals arg1="${javafx.disable.concurrent.runs}" arg2="true" trim="true"/>
- </and>
- </condition>
- <condition property="temp.run.jar" value="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}">
- <isset property="disable-concurrent-runs"/>
- </condition>
- <condition property="temp.run.jnlp" value="${jfx.deployment.jnlp}">
- <isset property="disable-concurrent-runs"/>
- </condition>
- <condition property="temp.run.html" value="${jfx.deployment.html}">
- <isset property="disable-concurrent-runs"/>
- </condition>
- </target>
- <target name="-create-temp-run-dir" depends="-check-concurrent-runs" unless="disable-concurrent-runs">
- <echo message="Creating temp run dir" level="verbose"/>
- <tempfile property="temp.run.dir" destDir="${basedir}${file.separator}${dist.dir}${file.separator}" prefix="run"/>
- <echo message="temp.run.dir = ${temp.run.dir}" level="verbose"/>
- <copy todir="${temp.run.dir}" includeemptydirs="true" overwrite="true">
- <fileset dir="${basedir}${file.separator}${dist.dir}">
- <exclude name="**${file.separator}bundles${file.separator}**"/>
- <exclude name="**${file.separator}run*${file.separator}**"/>
- </fileset>
- </copy>
- <property name="temp.run.jar" value="${temp.run.dir}${file.separator}${jfx.deployment.jar}"/>
- <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
- <property name="temp.run.jnlp" value="${temp.run.dir}${file.separator}${jfx.deployment.base}.jnlp"/>
- <property name="temp.run.html" value="${temp.run.dir}${file.separator}${jfx.deployment.base}.html"/>
- </target>
- <target name="-remove-temp-run-dir" if="temp.run.dir">
- <echo message="Removing temp run dir" level="verbose"/>
- <delete dir="${temp.run.dir}" quiet="true" failonerror="false"/>
- </target>
- <target depends="init,compile,jar,-create-temp-run-dir" description="Run JavaFX project standalone." name="jfx-project-run">
- <echo message="Executing ${temp.run.jar} using platform ${platform.java}"/>
- <property name="run.jvmargs" value=""/>
- <property name="run.jvmargs.ide" value=""/>
- <java jar="${temp.run.jar}" dir="${work.dir}" fork="true" jvm="${platform.java}">
- <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
- <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
- <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
- <jvmarg line="${run.jvmargs}"/>
- <jvmarg line="${run.jvmargs.ide}"/>
- <classpath>
- <path path="${temp.run.jar}:${javac.classpath}"/>
- </classpath>
- <arg line="${application.args}"/>
- <syspropertyset>
- <propertyref prefix="run-sys-prop."/>
- <mapper from="run-sys-prop.*" to="*" type="glob"/>
- </syspropertyset>
- </java>
- <antcall target="-remove-temp-run-dir"/>
- </target>
- <target name="jfx-project-debug">
- <echo message="Executing ${temp.run.jar} using platform ${platform.java}"/>
- <property name="run.jvmargs" value=""/>
- <property name="run.jvmargs.ide" value=""/>
- <java jar="${temp.run.jar}" dir="${work.dir}" fork="true" jvm="${platform.java}">
- <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
- <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
- <jvmarg value="-Dglass.disableGrab=true"/>
- <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
- <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
- <jvmarg line="${run.jvmargs}"/>
- <jvmarg line="${run.jvmargs.ide}"/>
- <classpath>
- <path path="${temp.run.jar}:${javac.classpath}"/>
- </classpath>
- <arg line="${application.args}"/>
- <syspropertyset>
- <propertyref prefix="run-sys-prop."/>
- <mapper from="run-sys-prop.*" to="*" type="glob"/>
- </syspropertyset>
- </java>
- <antcall target="-remove-temp-run-dir"/>
- </target>
- <target depends="init,compile,jar,-create-temp-run-dir,-debug-start-debugger" description="Debug JavaFX project standalone." name="jfx-project-debug-on-same-platform">
- <antcall target="jfx-project-debug"/>
- </target>
- <target depends="init,compile,jar,-create-temp-run-dir" name="jfx-project-prepare-debug-on-another-platform" />
- <target depends="init,-debug-start-debugger" description="Debug JavaFX project standalone." name="jfx-project-debug-on-another-platform">
- <antcall target="jfx-project-debug"/>
- </target>
-
-
- <!-- Running/Debugging/Profiling Standalone -->
- <target name="jfxsa-run" depends="-mark-project-state-running,-clean-if-config-changed">
- <antcall target="-run-on-another-platform" />
- <antcall target="-run-on-same-platform" />
- </target>
- <target name="jfxsa-run-no-another-jvm" depends="-mark-project-state-running,-clean-if-config-changed,-check-jfx-runtime,-warn-of-preloader,jfx-project-run"/>
- <target name="jfxsa-run-noscript" depends="-set-fallback-no-javascript, jfxsa-run"/>
-
- <target name="jfxsa-debug" depends="-mark-project-state-debugging,-clean-if-config-changed">
- <antcall target="-debug-on-another-platform" />
- <antcall target="-debug-on-same-platform" />
- </target>
- <target name="jfxsa-debug-noscript" depends="-set-fallback-no-javascript, jfxsa-debug"/>
-
- <target name="jfxsa-profile" depends="-mark-project-state-profiling,-check-jfx-runtime,-warn-of-preloader,jfx-project-profile"/>
- <target name="jfxsa-profile-noscript" depends="-set-fallback-no-javascript, jfxsa-profile"/>
-
- <target name="-check-clean-if-config-changed" depends="-init-project">
- <deploy-defines/>
- <uptodate property="jfx.deployment.jar.newer.than.nbproject" targetfile="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" >
- <srcfiles dir="${basedir}${file.separator}nbproject" includes="**${file.separator}*"/>
- </uptodate>
- <echo message="jfx.deployment.jar.newer.than.nbproject = ${jfx.deployment.jar.newer.than.nbproject}" level="verbose"/>
- <available file="${jfx.deployment.dir}${file.separator}${jfx.deployment.jar}" type="file" property="jfx.deployment.jar.exists"/>
- <condition property="request.clean.due.to.config.change">
- <and>
- <isset property="jfx.deployment.jar.exists"/>
- <not><isset property="jfx.deployment.jar.newer.than.nbproject"/></not>
- </and>
- </condition>
- </target>
- <target name="-clean-if-config-changed" depends="-check-clean-if-config-changed" if="request.clean.due.to.config.change">
- <echo message="Config change detected. Invoking clean." level="verbose"/>
- <antcall target="clean"/>
- </target>
-
- <target name="-run-on-another-platform" depends="-check-ant-vs-platform-jvm" if="ant-java-version-different-from-plaform-java">
- <target-on-another-jvm target="jfxsa-run-no-another-jvm"/>
- </target>
- <target name="-run-on-same-platform" depends="-check-ant-vs-platform-jvm" unless="ant-java-version-different-from-plaform-java">
- <antcall target="jfxsa-run-no-another-jvm" />
- </target>
-
- <target depends="-profile-check-1,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="jfx-project-profile" unless="profiler.info.jvmargs.agent">
- <startprofiler/>
- <antcall target="-profile-on-another-platform"/>
- <antcall target="-profile-on-same-platform"/>
- </target>
-
- <target name="-debug-on-another-platform" depends="-check-ant-vs-platform-jvm" if="ant-java-version-different-from-plaform-java">
- <target-on-another-jvm target="jfxsa-debug-on-another-platform"/>
- <loadproperties srcFile="debug-another-platform.properties"/>
- <delete file="debug-another-platform.properties" />
- <antcall target="jfx-project-debug-on-another-platform" />
- </target>
- <target name="-debug-on-same-platform" depends="-check-ant-vs-platform-jvm" unless="ant-java-version-different-from-plaform-java">
- <antcall target="jfxsa-debug-on-same-platform" />
- </target>
- <target name="jfxsa-debug-on-another-platform" depends="-check-jfx-runtime,-warn-of-preloader,jfx-project-prepare-debug-on-another-platform">
- <echoproperties destfile="debug-another-platform.properties"/>
- </target>
-
- <target name="jfxsa-debug-on-same-platform" depends="jar,-check-jfx-runtime,-warn-of-preloader,jfx-project-debug-on-same-platform"/>
-
- <target name="-profile-on-another-platform" depends="-check-ant-vs-platform-jvm" if="ant-java-version-different-from-plaform-java">
- <target-on-another-jvm target="jfxsa-run-no-another-jvm"/>
- </target>
- <target name="-profile-on-same-platform" depends="-check-ant-vs-platform-jvm" unless="ant-java-version-different-from-plaform-java">
- <antcall target="jfxsa-run-no-another-jvm"/>
- </target>
-
- <!-- Shared Debugging init -->
-
- <target name="-init-debug-args">
- <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
- <os family="windows"/>
- </condition>
- <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
- <isset property="debug.transport"/>
- </condition>
- </target>
-
-
- <!-- Running/Debugging/Profiling as WebStart -->
-
- <target name="-check-jnlp-file-fx" depends="-swing-api-check" unless="fx-in-swing-app-workaround">
- <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
- <property name="jfx.deployment.jnlp" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.jnlp"/>
- </target>
- <target name="-check-jnlp-file-swing" depends="-swing-api-check" if="fx-in-swing-app-workaround">
- <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
- <property name="jfx.deployment.jnlp" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}_application.jnlp"/>
- </target>
- <target name="-check-jnlp-file" depends="-check-jnlp-file-fx,-check-jnlp-file-swing">
- <condition property="jnlp-file-exists">
- <available file="${jfx.deployment.jnlp}"/>
- </condition>
- <condition property="jnlp-file-exists+netbeans.home">
- <and>
- <isset property="jnlp-file-exists"/>
- <isset property="netbeans.home"/>
- </and>
- </condition>
- </target>
-
- <target name="-resolve-jnlp-file" depends="-check-jnlp-file" unless="jnlp-file-exists">
- <antcall target="jfx-deployment"/>
- <antcall target="-check-jnlp-file"/>
- </target>
-
- <!-- set property javafx.enable.concurrent.external.runs=true to enable multiple runs of the same WebStart or Run-in-Browser project -->
- <target name="-check-concurrent-jnlp-runs" depends="-resolve-jnlp-file">
- <condition property="disable-concurrent-runs">
- <not>
- <and>
- <isset property="javafx.enable.concurrent.external.runs"/>
- <equals arg1="${javafx.enable.concurrent.external.runs}" arg2="true" trim="true"/>
- </and>
- </not>
- </condition>
- <condition property="temp.run.jnlp" value="${jfx.deployment.jnlp}">
- <isset property="disable-concurrent-runs"/>
- </condition>
- </target>
- <target name="-warn-concurrent-jnlp-runs" unless="disable-concurrent-runs">
- <echo message="Note: Concurrent Run as WebStart enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when WebStart execution has finished. Use project Clean to delete unused directories."/>
- </target>
-
- <target name="jfxws-run" if="jnlp-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,
- -check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime,-check-concurrent-jnlp-runs,-create-temp-run-dir,-warn-insufficient-signing"
- description="Start JavaFX javaws execution">
- <echo message="Executing ${temp.run.jnlp} using ${active.webstart.executable}"/>
- <exec executable="${active.webstart.executable}">
- <arg file="${temp.run.jnlp}"/>
- </exec>
- <antcall target="-warn-concurrent-jnlp-runs"/>
- </target>
-
- <target name="jfxws-debug" if="jnlp-file-exists+netbeans.home" depends="-mark-project-state-debugging,-clean-if-config-changed,-mark-project-needs-jnlp,
- -check-jdk-7u4or5-mac,jar,-check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime,-warn-insufficient-signing,
- -debug-start-debugger,-debug-javaws-debuggee" description="Debug JavaFX javaws project in IDE"/>
-
- <target name="-debug-javaws-debuggee" depends="-init-debug-args">
- <echo message="Executing ${jfx.deployment.jnlp} in debug mode using ${active.webstart.executable}"/>
- <exec executable="${active.webstart.executable}">
- <env key="JAVAWS_VM_ARGS" value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address} -Dglass.disableGrab=true"/>
- <arg value="-wait"/>
- <arg file="${jfx.deployment.jnlp}"/>
- </exec>
- </target>
-
- <target name="-profile-check-1">
- <property name="run.jvmargs.ide" value=""/>
- <condition property="profiler.configured">
- <or>
- <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
- <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
- </or>
- </condition>
- </target>
-
- <target if="jnlp-file-exists+netbeans.home" name="-profile-check-jnlp">
- <antcall target="-profile-check-1"/>
- </target>
-
- <target name="-do-jfxws-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,
- -check-jdk-7u4or5-mac,jar,-check-jfx-webstart,-resolve-jnlp-file,-check-jfx-runtime,-warn-insufficient-signing">
- <echo message="Executing ${jfx.deployment.jnlp} in profile mode using ${active.webstart.executable}"/>
- <property name="run.jvmargs.ide" value=""/>
- <exec executable="${active.webstart.executable}">
- <env key="JAVAWS_VM_ARGS" value="${run.jvmargs.ide}"/>
- <arg value="-wait"/>
- <arg file="${jfx.deployment.jnlp}"/>
- </exec>
- </target>
-
- <target name="jfxws-profile" if="profiler.configured"
- depends="-profile-check-1"
- description="Profile JavaFX javaws project in IDE">
- <startprofiler/>
- <antcall target="-do-jfxws-profile"/>
- </target>
-
- <target name="jfxws-run-noscript" depends="-set-fallback-no-javascript, jfxws-run"/>
-
- <target name="jfxws-debug-noscript" depends="-set-fallback-no-javascript, jfxws-debug"/>
-
- <target name="jfxws-profile-noscript" depends="-set-fallback-no-javascript, jfxws-profile"/>
-
-
- <!-- Running/Debugging/Profiling in Browser -->
-
- <target name="-check-selected-browser-path" depends="-check-default-run-config">
- <condition property="javafx.run.inbrowser.undefined">
- <or>
- <and>
- <isset property="javafx.run.inbrowser"/>
- <equals arg1="${javafx.run.inbrowser}" arg2="undefined"/>
- </and>
- <and>
- <isset property="javafx.run.inbrowser.path"/>
- <equals arg1="${javafx.run.inbrowser.path}" arg2="undefined"/>
- </and>
- </or>
- </condition>
- <condition property="javafx.run.inbrowser.path-exists">
- <and>
- <isset property="javafx.run.inbrowser.path"/>
- <available file="${javafx.run.inbrowser.path}"/>
- </and>
- </condition>
- <fail message="Error:${line.separator}Browser selection not recognizable from ${config} run configuration.${line.separator}Please go to Project Properties dialog, category Run, to select a valid browser." unless="javafx.run.inbrowser.path"/>
- <fail message="Error:${line.separator}No browser defined in ${config} run configuration.${line.separator}Please verify in Tools->Options dialog that NetBeans recognizes a valid browser, then go to Project Properties dialog, category Run, to select a valid browser." if="javafx.run.inbrowser.undefined"/>
- <fail message="Error:${line.separator}Browser ${javafx.run.inbrowser.path} referred from ${config} run configuration can not be found.${line.separator}(This can happen, e.g, when the JavaFX Project is transferred to another system.)${line.separator}Please go to Project Properties dialog, category Run, to select a valid browser." unless="javafx.run.inbrowser.path-exists"/>
- </target>
-
- <target name="-substitute-template-processed-html-file" depends="-check-project" if="html-template-available">
- <deploy-process-template/>
- </target>
- <target name="-check-template-processed-html-file" depends="-substitute-template-processed-html-file">
- <condition property="html-file-exists">
- <and>
- <isset property="html-template-available"/>
- <available file="${javafx.run.htmltemplate.processed}"/>
- </and>
- </condition>
- </target>
-
- <target name="-set-template-processed-html-file" depends="-check-template-processed-html-file" if="html-file-exists">
- <property name="jfx.deployment.html" location="${javafx.run.htmltemplate.processed}"/>
- </target>
-
- <target name="-set-html-file" depends="-set-template-processed-html-file" unless="html-file-exists">
- <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
- <property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
- <condition property="html-file-exists">
- <available file="${jfx.deployment.html}"/>
- </condition>
- <condition property="html-file-exists+netbeans.home">
- <and>
- <isset property="html-file-exists"/>
- <isset property="netbeans.home"/>
- </and>
- </condition>
- </target>
-
- <!-- set property javafx.enable.concurrent.external.runs=true to enable multiple runs of the same WebStart or Run-in-Browser project -->
- <target name="-check-concurrent-html-runs" depends="-set-html-file">
- <condition property="disable-concurrent-runs">
- <or>
- <not>
- <and>
- <isset property="javafx.enable.concurrent.external.runs"/>
- <equals arg1="${javafx.enable.concurrent.external.runs}" arg2="true" trim="true"/>
- </and>
- </not>
- <and>
- <isset property="html-template-available"/>
- <available file="${javafx.run.htmltemplate.processed}"/>
- </and>
- </or>
- </condition>
- <condition property="temp.run.html" value="${jfx.deployment.html}">
- <isset property="disable-concurrent-runs"/>
- </condition>
- </target>
- <target name="-warn-concurrent-html-runs" unless="disable-concurrent-runs">
- <echo message="Note: Concurrent Run in Browser enabled.${line.separator}Temporary directory ${temp.run.dir}${line.separator}will remain unused when execution in browser has finished. Use project Clean to delete unused directories."/>
- </target>
-
- <target name="jfxbe-run" if="html-file-exists" depends="-mark-project-state-running,-clean-if-config-changed,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,
- -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-check-concurrent-html-runs,-create-temp-run-dir,-warn-insufficient-signing"
- description="Start JavaFX execution in browser">
- <echo message="Executing ${temp.run.html} using ${javafx.run.inbrowser}"/>
- <echo message="(${javafx.run.inbrowser.path})"/>
- <property name="javafx.run.inbrowser.arguments" value=""/>
- <exec executable="${javafx.run.inbrowser.path}">
- <arg line="${javafx.run.inbrowser.arguments}"/>
- <arg file="${temp.run.html}"/>
- </exec>
- <antcall target="-warn-concurrent-html-runs"/>
- </target>
-
- <target name="jfxbe-debug" if="html-file-exists+netbeans.home" depends="-mark-project-state-debugging-in-browser,-init-debug-args,
- clean,-debug-start-debugger,-mark-project-needs-jnlp,-check-jdk-7u4or5-mac,jar,
- -check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing,
- -debug-jfxbe-debuggee" description="Debug JavaFX project in browser">
- <!-- after the session clean up the jnlp containing debug settings -->
- <antcall target="clean"/>
- </target>
-
- <target name="-debug-jfxbe-debuggee" depends="-init-debug-args">
- <echo message="Executing ${jfx.deployment.html} in debug mode using ${javafx.run.inbrowser}"/>
- <echo message="(${javafx.run.inbrowser.path})"/>
- <property name="javafx.run.inbrowser.arguments" value=""/>
- <exec executable="${javafx.run.inbrowser.path}">
- <arg line="${javafx.run.inbrowser.arguments}"/>
- <env key="_JPI_VM_OPTIONS" value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
- <arg file="${jfx.deployment.html}"/>
- </exec>
- </target>
-
- <target if="html-file-exists+netbeans.home" name="-profile-check-html">
- <antcall target="-profile-check-1"/>
- </target>
-
- <target name="-do-jfxbe-profile" depends="-mark-project-state-profiling,-mark-project-needs-jnlp,
- -check-jdk-7u4or5-mac,jar,-check-selected-browser-path,-set-html-file,-check-jfx-runtime,-warn-insufficient-signing">
- <echo message="Executing ${jfx.deployment.html} in profile mode using ${javafx.run.inbrowser}"/>
- <echo message="(${javafx.run.inbrowser.path})"/>
- <property name="run.jvmargs.ide" value=""/>
- <property name="javafx.run.inbrowser.arguments" value=""/>
- <exec executable="${javafx.run.inbrowser.path}">
- <arg line="${javafx.run.inbrowser.arguments}"/>
- <env key="_JPI_VM_OPTIONS" value="${run.jvmargs.ide}"/>
- <arg file="${jfx.deployment.html}"/>
- </exec>
- </target>
-
- <target name="jfxbe-profile" if="profiler.configured"
- depends="-profile-check-html"
- description="Profile JavaFX project in browser">
- <startprofiler/>
- <antcall target="-do-jfxbe-profile"/>
- </target>
-
- <target name="jfxbe-run-noscript" depends="-set-fallback-no-javascript, jfxbe-run"/>
-
- <target name="jfxbe-debug-noscript" depends="-set-fallback-no-javascript, jfxbe-debug"/>
-
- <target name="jfxbe-profile-noscript" depends="-set-fallback-no-javascript, jfxbe-profile"/>
-
-
- </project>
|