changeset 10223:984e55cfdf6f

8172216: Remove unused, obsolete iOS code Reviewed-by: ckyang
author kcr
date Thu, 05 Jan 2017 10:02:50 -0800
parents 2177a9efce05
children 9d73a4a59696
files apps/toys/.classpath apps/toys/iOS/SensorsTest/build.xml apps/toys/iOS/SensorsTest/manifest.mf apps/toys/iOS/SensorsTest/nbproject/build-impl.xml apps/toys/iOS/SensorsTest/nbproject/genfiles.properties apps/toys/iOS/SensorsTest/nbproject/project.properties apps/toys/iOS/SensorsTest/nbproject/project.xml apps/toys/iOS/SensorsTest/src/sensorstest/AttitudeIndicator.java apps/toys/iOS/SensorsTest/src/sensorstest/SensorsPanel.java apps/toys/iOS/SensorsTest/src/sensorstest/SensorsTest.java apps/toys/iOS/iPodAccessTest/build.xml apps/toys/iOS/iPodAccessTest/manifest.mf apps/toys/iOS/iPodAccessTest/nbproject/build-impl.xml apps/toys/iOS/iPodAccessTest/nbproject/genfiles.properties apps/toys/iOS/iPodAccessTest/nbproject/project.properties apps/toys/iOS/iPodAccessTest/nbproject/project.xml apps/toys/iOS/iPodAccessTest/src/ipodaccesstest/IPodAccessTest.java build.gradle extensions/src/ios/java/com/sun/javafx/ext/device/ios/ipod/MediaFilter.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/ipod/MediaItem.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/ipod/MediaQuery.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/BatteryState.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSApplication.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSDevice.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSLocationManager.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSMotionManager.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/StatusBarAnimation.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/StatusBarOrientation.java extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/StatusBarStyle.java extensions/src/ios/native-device/ios/MediaQuery.m extensions/src/ios/native-device/ios/SensorsSupport.h extensions/src/ios/native-device/ios/SensorsSupport.m extensions/src/ios/native-device/ios/iPodAccess.h extensions/src/ios/native-device/ios/iPodAccess.m tools/ios/Maven/NetBeansMobileCenter/pom.xml tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/appmanager/BootstrapApplication.java tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/appmanager/FxApplicationInstance.java tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/appmanager/FxApplicationManager.java tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/stage/WindowManager.java tools/ios/Maven/NetBeansMobileCenter/src/main/java/org/netbeans/mobilecenter/BackgroundService.java tools/ios/Maven/NetBeansMobileCenter/src/main/java/org/netbeans/mobilecenter/MobileCenter.java tools/ios/Maven/NetBeansMobileCenter/src/main/java/org/netbeans/mobilecenter/Redeploy.java tools/ios/Maven/ios-maven-plugin/pom.xml tools/ios/Maven/ios-maven-plugin/src/main/java/org/netbeans/ibrwsr/maven/plugin/IPAddressMojo.java tools/ios/Maven/ios-maven-plugin/src/main/scripts/ios.maven.plugin.build.xml tools/ios/Maven/ios-maven-plugin/src/main/scripts/ios.maven.plugin.mojos.xml tools/ios/Maven/ipack/pom.xml tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/Blob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/SuperBlob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/VirtualBlob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/WrapperBlob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/CodeSignatureCommand.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/LinkeditDataCommand.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/MachoCommand.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/MachoHeader.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/SegmentCommand.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/UnknownCommand.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/main/Main.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/packer/ExecutablePacker.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/packer/Packer.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/packer/ResourcePacker.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/resources/CodeResources.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/resources/ResourceRules.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/signature/CodeDirectoryBlob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/signature/EmbeddedSignatureBlob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/signature/Requirement.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/signature/RequirementBlob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/signature/RequirementsBlob.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/signature/SpecialSlotConstants.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/signer/Signer.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/Base64.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/DataCopier.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/HashingOutputStream.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/LsbDataInputStream.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/LsbDataOutputStream.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/NullOutputStream.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/PageHashingOutputStream.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/ResourceDescriptor.java tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/util/Util.java tools/ios/Maven/pom.xml tools/ios/Maven/test-simple-ipa/pom.xml tools/ios/Maven/test-simple-ipa/src/main/java/org/netbeans/ios/test/simple/ipa/Main.java tools/ios/Maven/test-simple-ipa/src/test/java/org/netbeans/ios/test/simple/ipa/VerifyIPATest.java
diffstat 83 files changed, 2 insertions(+), 12265 deletions(-) [+]
line wrap: on
line diff
--- a/apps/toys/.classpath	Wed Jan 04 12:32:12 2017 -0500
+++ b/apps/toys/.classpath	Thu Jan 05 10:02:50 2017 -0800
@@ -4,10 +4,6 @@
     <classpathentry kind="src" path="FX8-3DFeatures/src"/>
     <classpathentry kind="src" path="FXSlideShow/src"/>
     <classpathentry kind="src" path="Hello/src/main/java"/>
-    <!--
-    <classpathentry kind="src" path="iOS/iPodAccessTest/src"/>
-    <classpathentry kind="src" path="iOS/SensorsTest/src"/>
-    -->
     <classpathentry kind="src" path="Shape3DToy/src/main/java"/>
     <classpathentry kind="src" path="Shape3DToy/src/main/resources"/>
     <classpathentry kind="src" path="StretchyGrid/src/main/java"/>
@@ -17,4 +13,4 @@
         </attributes>
     </classpathentry>
     <classpathentry kind="output" path="bin"/>
-</classpath>
\ No newline at end of file
+</classpath>
--- a/apps/toys/iOS/SensorsTest/build.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- You may freely edit this file. See commented blocks below for -->
-<!-- some examples of how to customize the build. -->
-<!-- (If you delete it and reopen the project it will be recreated.) -->
-<!-- By default, only the Clean and Build commands use this build script. -->
-<!-- Commands such as Run, Debug, and Test only use this build script if -->
-<!-- the Compile on Save feature is turned off for the project. -->
-<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
-<!-- in the project's Project Properties dialog box.-->
-<project name="SensorsTest" default="default" basedir=".">
-    <description>Builds, tests, and runs the project SensorsTest.</description>
-    <import file="nbproject/build-impl.xml"/>
-    <!--
-
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. They are: 
-
-      -pre-init:                 called before initialization of project properties
-      -post-init:                called after initialization of project properties
-      -pre-compile:              called before javac compilation
-      -post-compile:             called after javac compilation
-      -pre-compile-single:       called before javac compilation of single file
-      -post-compile-single:      called after javac compilation of single file
-      -pre-compile-test:         called before javac compilation of JUnit tests
-      -post-compile-test:        called after javac compilation of JUnit tests
-      -pre-compile-test-single:  called before javac compilation of single JUnit test
-      -post-compile-test-single: called after javac compilation of single JUunit test
-      -pre-jar:                  called before JAR building
-      -post-jar:                 called after JAR building
-      -post-clean:               called after cleaning build products
-
-    (Targets beginning with '-' are not intended to be called on their own.)
-
-    Example of inserting an obfuscator after compilation could look like this:
-
-        <target name="-post-compile">
-            <obfuscate>
-                <fileset dir="${build.classes.dir}"/>
-            </obfuscate>
-        </target>
-
-    For list of available properties check the imported 
-    nbproject/build-impl.xml file. 
-
-
-    Another way to customize the build is by overriding existing main targets.
-    The targets of interest are: 
-
-      -init-macrodef-javac:     defines macro for javac compilation
-      -init-macrodef-junit:     defines macro for junit execution
-      -init-macrodef-debug:     defines macro for class debugging
-      -init-macrodef-java:      defines macro for class execution
-      -do-jar-with-manifest:    JAR building (if you are using a manifest)
-      -do-jar-without-manifest: JAR building (if you are not using a manifest)
-      run:                      execution of project 
-      -javadoc-build:           Javadoc generation
-      test-report:              JUnit report generation
-
-    An example of overriding the target for project execution could look like this:
-
-        <target name="run" depends="SensorsTest-impl.jar">
-            <exec dir="bin" executable="launcher.exe">
-                <arg file="${dist.jar}"/>
-            </exec>
-        </target>
-
-    Notice that the overridden target depends on the jar target and not only on 
-    the compile target as the regular run target does. Again, for a list of available 
-    properties which you can use, check the target you are overriding in the
-    nbproject/build-impl.xml file. 
-
-    -->
-</project>
--- a/apps/toys/iOS/SensorsTest/manifest.mf	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-X-COMMENT: Main-Class will be added automatically by build
-
--- a/apps/toys/iOS/SensorsTest/nbproject/build-impl.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1439 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
-
-For the purpose of easier reading the script
-is divided into following sections:
-
-  - initialization
-  - compilation
-  - jar
-  - execution
-  - debugging
-  - javadoc
-  - test compilation
-  - test execution
-  - test debugging
-  - applet
-  - cleanup
-
-        -->
-<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="SensorsTest-impl">
-    <fail message="Please build using Ant 1.8.0 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.8.0"/>
-            </not>
-        </condition>
-    </fail>
-    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
-    <!-- 
-                ======================
-                INITIALIZATION SECTION 
-                ======================
-            -->
-    <target name="-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init" name="-init-private">
-        <property file="nbproject/private/config.properties"/>
-        <property file="nbproject/private/configs/${config}.properties"/>
-        <property file="nbproject/private/private.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private" name="-init-user">
-        <property file="${user.properties.file}"/>
-        <!-- The two properties below are usually overridden -->
-        <!-- by the active platform. Just a fallback. -->
-        <property name="default.javac.source" value="1.4"/>
-        <property name="default.javac.target" value="1.4"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
-        <property file="nbproject/configs/${config}.properties"/>
-        <property file="nbproject/project.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
-        <j2seproject1:property name="platform.home" value="platforms.${platform.active}.home"/>
-        <j2seproject1:property name="platform.bootcp" value="platforms.${platform.active}.bootclasspath"/>
-        <j2seproject1:property name="platform.compiler" value="platforms.${platform.active}.compile"/>
-        <j2seproject1:property name="platform.javac.tmp" value="platforms.${platform.active}.javac"/>
-        <condition property="platform.javac" value="${platform.home}/bin/javac">
-            <equals arg1="${platform.javac.tmp}" arg2="$${platforms.${platform.active}.javac}"/>
-        </condition>
-        <property name="platform.javac" value="${platform.javac.tmp}"/>
-        <j2seproject1:property name="platform.java.tmp" value="platforms.${platform.active}.java"/>
-        <condition property="platform.java" value="${platform.home}/bin/java">
-            <equals arg1="${platform.java.tmp}" arg2="$${platforms.${platform.active}.java}"/>
-        </condition>
-        <property name="platform.java" value="${platform.java.tmp}"/>
-        <j2seproject1:property name="platform.javadoc.tmp" value="platforms.${platform.active}.javadoc"/>
-        <condition property="platform.javadoc" value="${platform.home}/bin/javadoc">
-            <equals arg1="${platform.javadoc.tmp}" arg2="$${platforms.${platform.active}.javadoc}"/>
-        </condition>
-        <property name="platform.javadoc" value="${platform.javadoc.tmp}"/>
-        <condition property="platform.invalid" value="true">
-            <or>
-                <contains string="${platform.javac}" substring="$${platforms."/>
-                <contains string="${platform.java}" substring="$${platforms."/>
-                <contains string="${platform.javadoc}" substring="$${platforms."/>
-            </or>
-        </condition>
-        <fail unless="platform.home">Must set platform.home</fail>
-        <fail unless="platform.bootcp">Must set platform.bootcp</fail>
-        <fail unless="platform.java">Must set platform.java</fail>
-        <fail unless="platform.javac">Must set platform.javac</fail>
-        <fail if="platform.invalid">
- The J2SE Platform is not correctly set up.
- Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. 
- Either open the project in the IDE and setup the Platform with the same name or add it manually.
- For example like this:
-     ant -Duser.properties.file=&lt;path_to_property_file&gt; jar (where you put the property "platforms.${platform.active}.home" in a .properties file)
-  or ant -Dplatforms.${platform.active}.home=&lt;path_to_JDK_home&gt; jar (where no properties file is used) 
-  </fail>
-        <available file="${manifest.file}" property="manifest.available"/>
-        <condition property="splashscreen.available">
-            <and>
-                <not>
-                    <equals arg1="${application.splash}" arg2="" trim="true"/>
-                </not>
-                <available file="${application.splash}"/>
-            </and>
-        </condition>
-        <condition property="main.class.available">
-            <and>
-                <isset property="main.class"/>
-                <not>
-                    <equals arg1="${main.class}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="profile.available">
-            <and>
-                <isset property="javac.profile"/>
-                <length length="0" string="${javac.profile}" when="greater"/>
-                <matches pattern="1\.[89](\..*)?" string="${javac.source}"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
-        <condition property="do.mkdist">
-            <and>
-                <isset property="do.archive"/>
-                <isset property="libs.CopyLibs.classpath"/>
-                <not>
-                    <istrue value="${mkdist.disabled}"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available">
-            <and>
-                <isset property="manifest.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+main.class.available">
-            <and>
-                <isset property="main.class.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+splashscreen.available">
-            <and>
-                <isset property="splashscreen.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+profile.available">
-            <and>
-                <isset property="profile.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="have.tests">
-            <or>
-                <available file="${test.src.dir}"/>
-            </or>
-        </condition>
-        <condition property="have.sources">
-            <or>
-                <available file="${src.dir}"/>
-            </or>
-        </condition>
-        <condition property="netbeans.home+have.tests">
-            <and>
-                <isset property="netbeans.home"/>
-                <isset property="have.tests"/>
-            </and>
-        </condition>
-        <condition property="no.javadoc.preview">
-            <and>
-                <isset property="javadoc.preview"/>
-                <isfalse value="${javadoc.preview}"/>
-            </and>
-        </condition>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>
-        <property name="javac.compilerargs" value=""/>
-        <property name="work.dir" value="${basedir}"/>
-        <condition property="no.deps">
-            <and>
-                <istrue value="${no.dependencies}"/>
-            </and>
-        </condition>
-        <property name="javac.debug" value="true"/>
-        <property name="javadoc.preview" value="true"/>
-        <property name="application.args" value=""/>
-        <property name="source.encoding" value="${file.encoding}"/>
-        <property name="runtime.encoding" value="${source.encoding}"/>
-        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
-            <and>
-                <isset property="javadoc.encoding"/>
-                <not>
-                    <equals arg1="${javadoc.encoding}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <property name="javadoc.encoding.used" value="${source.encoding}"/>
-        <property name="includes" value="**"/>
-        <property name="excludes" value=""/>
-        <property name="do.depend" value="false"/>
-        <condition property="do.depend.true">
-            <istrue value="${do.depend}"/>
-        </condition>
-        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
-        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <and>
-                <isset property="endorsed.classpath"/>
-                <not>
-                    <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
-            <isset property="profile.available"/>
-        </condition>
-        <property name="jar.index" value="false"/>
-        <property name="jar.index.metainf" value="${jar.index}"/>
-        <property name="copylibs.rebase" value="true"/>
-        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
-        <condition property="junit.available">
-            <or>
-                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
-                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
-            </or>
-        </condition>
-        <condition property="testng.available">
-            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
-        </condition>
-        <condition property="junit+testng.available">
-            <and>
-                <istrue value="${junit.available}"/>
-                <istrue value="${testng.available}"/>
-            </and>
-        </condition>
-        <condition else="testng" property="testng.mode" value="mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-        <condition else="" property="testng.debug.mode" value="-mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-    </target>
-    <target name="-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
-        <fail unless="src.dir">Must set src.dir</fail>
-        <fail unless="test.src.dir">Must set test.src.dir</fail>
-        <fail unless="build.dir">Must set build.dir</fail>
-        <fail unless="dist.dir">Must set dist.dir</fail>
-        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
-        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
-        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
-        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
-        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
-        <fail unless="dist.jar">Must set dist.jar</fail>
-    </target>
-    <target name="-init-macrodef-property">
-        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${@{value}}"/>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <mkdir dir="@{apgeneratedsrcdir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <compilerarg value="-processorpath"/>
-                    <compilerarg path="@{processorpath}:${empty.dir}"/>
-                    <compilerarg line="${ap.processors.internal}"/>
-                    <compilerarg line="${annotation.processing.processor.options}"/>
-                    <compilerarg value="-s"/>
-                    <compilerarg path="@{apgeneratedsrcdir}"/>
-                    <compilerarg line="${ap.proc.none.internal}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
-        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <sequential>
-                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </depend>
-            </sequential>
-        </macrodef>
-        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <sequential>
-                <fail unless="javac.includes">Must set javac.includes</fail>
-                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
-                    <path>
-                        <filelist dir="@{destdir}" files="${javac.includes}"/>
-                    </path>
-                    <globmapper from="*.java" to="*.class"/>
-                </pathconvert>
-                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
-                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
-                <delete>
-                    <files includesfile="${javac.includesfile.binary}"/>
-                </delete>
-                <delete>
-                    <fileset file="${javac.includesfile.binary}"/>
-                </delete>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-init">
-        <condition else="false" property="nb.junit.batch" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <not>
-                    <isset property="test.method"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="false" property="nb.junit.single" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <isset property="test.method"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-init-test-properties">
-        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
-        <property name="test.binarytestincludes" value=""/>
-        <property name="test.binaryexcludes" value=""/>
-    </target>
-    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
-    <target if="${testng.available}" name="-init-macrodef-testng">
-        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
-                    <isset property="test.method"/>
-                </condition>
-                <union id="test.set">
-                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
-                        <filename name="@{testincludes}"/>
-                    </fileset>
-                </union>
-                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" jvm="${platform.java}" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="SensorsTest" testname="TestNG tests" workingDir="${work.dir}">
-                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
-                    <propertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </propertyset>
-                    <customize/>
-                </testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-test-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <echo>No tests executed.</echo>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
-        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <sequential>
-                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
-                            <filename name="@{testincludes}"/>
-                        </fileset>
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
-        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${testng.available}" name="-init-macrodef-testng-debug">
-        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element name="customize2" optional="true"/>
-            <sequential>
-                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
-                    <isset property="test.method"/>
-                </condition>
-                <condition else="-suitename SensorsTest -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
-                    <matches pattern=".*\.xml" string="@{testClass}"/>
-                </condition>
-                <delete dir="${build.test.results.dir}" quiet="true"/>
-                <mkdir dir="${build.test.results.dir}"/>
-                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
-                    <customize>
-                        <customize2/>
-                        <jvmarg value="-ea"/>
-                        <arg line="${testng.debug.mode}"/>
-                        <arg line="-d ${build.test.results.dir}"/>
-                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
-                        <arg line="${testng.cmd.args}"/>
-                    </customize>
-                </j2seproject3:debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
-        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element implicit="true" name="customize2" optional="true"/>
-            <sequential>
-                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2/>
-                </j2seproject3:testng-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2>
-                        <syspropertyset>
-                            <propertyref prefix="test-sys-prop."/>
-                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                        </syspropertyset>
-                    </customize2>
-                </j2seproject3:testng-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
-    <!--
-                pre NB7.2 profiling section; consider it deprecated
-            -->
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
-    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
-        <macrodef name="resolve">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${env.@{value}}"/>
-            </sequential>
-        </macrodef>
-        <macrodef name="profile">
-            <attribute default="${main.class}" name="classname"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property environment="env"/>
-                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
-                <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
-                    <jvmarg line="${profiler.info.jvmargs}"/>
-                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-                    <arg line="${application.args}"/>
-                    <classpath>
-                        <path path="${run.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
-        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
-        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
-    </target>
-    <!--
-                end of pre NB7.2 profiling section
-            -->
-    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="name"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <attribute default="" name="stopclassname"/>
-            <sequential>
-                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <bootclasspath>
-                        <path path="${platform.bootcp}"/>
-                    </bootclasspath>
-                </nbjpdastart>
-            </sequential>
-        </macrodef>
-        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${build.classes.dir}" name="dir"/>
-            <sequential>
-                <nbjpdareload>
-                    <fileset dir="@{dir}" includes="${fix.classes}">
-                        <include name="${fix.includes}*.class"/>
-                    </fileset>
-                </nbjpdareload>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-debug-args">
-        <exec executable="${platform.java}" outputproperty="version-output">
-            <arg value="-version"/>
-        </exec>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <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>
-    <target depends="-init-debug-args" name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true" jvm="${platform.java}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <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="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${run.classpath}" name="classpath"/>
-            <attribute default="jvm" name="jvm"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" 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="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-copylibs">
-        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${manifest.file}" name="manifest"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-                <pathconvert property="run.classpath.without.build.classes.dir">
-                    <path path="${run.classpath}"/>
-                    <map from="${build.classes.dir.resolved}" to=""/>
-                </pathconvert>
-                <pathconvert pathsep=" " property="jar.classpath">
-                    <path path="${run.classpath.without.build.classes.dir}"/>
-                    <chainedmapper>
-                        <flattenmapper/>
-                        <filtermapper>
-                            <replacestring from=" " to="%20"/>
-                        </filtermapper>
-                        <globmapper from="*" to="lib/*"/>
-                    </chainedmapper>
-                </pathconvert>
-                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
-                    <manifest>
-                        <attribute name="Class-Path" value="${jar.classpath}"/>
-                        <customize/>
-                    </manifest>
-                </copylibs>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-presetdef-jar">
-        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
-            </jar>
-        </presetdef>
-    </target>
-    <target name="-init-ap-cmdline-properties">
-        <property name="annotation.processing.enabled" value="true"/>
-        <property name="annotation.processing.processors.list" value=""/>
-        <property name="annotation.processing.processor.options" value=""/>
-        <property name="annotation.processing.run.all.processors" value="true"/>
-        <property name="javac.processorpath" value="${javac.classpath}"/>
-        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
-        <condition property="ap.supported.internal" value="true">
-            <not>
-                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
-            </not>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
-        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
-            <isfalse value="${annotation.processing.run.all.processors}"/>
-        </condition>
-        <condition else="" property="ap.proc.none.internal" value="-proc:none">
-            <isfalse value="${annotation.processing.enabled}"/>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
-        <property name="ap.cmd.line.internal" value=""/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
-    <!--
-                ===================
-                COMPILATION SECTION
-                ===================
-            -->
-    <target name="-deps-jar-init" unless="built-jar.properties">
-        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
-        <delete file="${built-jar.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: SensorsTest was already built"/>
-    </target>
-    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-jar.properties}" verbose="false"/>
-        <property file="${built-jar.properties}" prefix="already.built.jar."/>
-        <antcall target="-warn-already-built-jar"/>
-        <propertyfile file="${built-jar.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-    </target>
-    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
-    <target depends="init" name="-check-automatic-build">
-        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
-    </target>
-    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
-        <antcall target="clean"/>
-    </target>
-    <target depends="init,deps-jar" name="-pre-pre-compile">
-        <mkdir dir="${build.classes.dir}"/>
-    </target>
-    <target name="-pre-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-depend">
-        <pathconvert property="build.generated.subdirs">
-            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="*"/>
-            </dirset>
-        </pathconvert>
-        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
-        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
-        <copy todir="${build.classes.dir}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target if="has.persistence.xml" name="-copy-persistence-xml">
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
-        </copy>
-    </target>
-    <target name="-post-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
-    <target name="-pre-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
-    </target>
-    <target name="-post-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
-    <!--
-                ====================
-                JAR BUILDING SECTION
-                ====================
-            -->
-    <target depends="init" name="-pre-pre-jar">
-        <dirname file="${dist.jar}" property="dist.jar.dir"/>
-        <mkdir dir="${dist.jar.dir}"/>
-    </target>
-    <target name="-pre-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <touch file="${tmp.manifest.file}" verbose="false"/>
-    </target>
-    <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
-    </target>
-    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Main-Class" value="${main.class}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Profile" value="${javac.profile}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
-        <basename file="${application.splash}" property="splashscreen.basename"/>
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-        </manifest>
-    </target>
-    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs">
-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo level="info">${platform.java} -jar "${dist.jar.resolved}"</echo>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
-        <j2seproject1:jar manifest="${tmp.manifest.file}"/>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}">
-            <isset property="main.class.available"/>
-        </condition>
-        <condition else="debug" property="jar.usage.level" value="info">
-            <isset property="main.class.available"/>
-        </condition>
-        <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
-    </target>
-    <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
-        <delete>
-            <fileset file="${tmp.manifest.file}"/>
-        </delete>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/>
-    <target name="-post-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
-    <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
-    <!--
-                =================
-                EXECUTION SECTION
-                =================
-            -->
-    <target depends="init,compile" description="Run a main class." name="run">
-        <j2seproject1:java>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <target name="-do-not-recompile">
-        <property name="javac.includes.binary" value=""/>
-    </target>
-    <target depends="init,compile-single" name="run-single">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}"/>
-    </target>
-    <target depends="init,compile-test-single" name="run-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
-    </target>
-    <!--
-                =================
-                DEBUGGING SECTION
-                =================
-            -->
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
-        <j2seproject1:nbjpdastart name="${debug.class}"/>
-    </target>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
-    </target>
-    <target depends="init,compile" name="-debug-start-debuggee">
-        <j2seproject3:debug>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
-        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
-    </target>
-    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}"/>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
-    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
-    <target depends="init" name="-pre-debug-fix">
-        <fail unless="fix.includes">Must set fix.includes</fail>
-        <property name="javac.includes" value="${fix.includes}.java"/>
-    </target>
-    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
-        <j2seproject1:nbjpdareload/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
-    <!--
-                =================
-                PROFILING SECTION
-                =================
-            -->
-    <!--
-                pre NB7.2 profiler integration
-            -->
-    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile/>
-    </target>
-    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
-        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="${profile.class}"/>
-    </target>
-    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </profile>
-    </target>
-    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
-            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-            <jvmarg value="${profiler.info.jvmargs.agent}"/>
-            <jvmarg line="${profiler.info.jvmargs}"/>
-            <test name="${profile.class}"/>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-            <syspropertyset>
-                <propertyref prefix="test-sys-prop."/>
-                <mapper from="test-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-            <formatter type="brief" usefile="false"/>
-            <formatter type="xml"/>
-        </junit>
-    </target>
-    <!--
-                end of pre NB72 profiling section
-            -->
-    <target if="netbeans.home" name="-profile-check">
-        <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 depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
-        <startprofiler/>
-        <antcall target="run"/>
-    </target>
-    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcall target="run-single"/>
-    </target>
-    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
-    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <startprofiler/>
-        <antcall target="test-single"/>
-    </target>
-    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcal target="run-test-with-main"/>
-    </target>
-    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <startprofiler/>
-        <antcall target="run-applet"/>
-    </target>
-    <!--
-                ===============
-                JAVADOC SECTION
-                ===============
-            -->
-    <target depends="init" if="have.sources" name="-javadoc-build">
-        <mkdir dir="${dist.javadoc.dir}"/>
-        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
-            <and>
-                <isset property="endorsed.classpath.cmd.line.arg"/>
-                <not>
-                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" executable="${platform.javadoc}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
-            <classpath>
-                <path path="${javac.classpath}"/>
-            </classpath>
-            <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
-                <filename name="**/*.java"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/*.java"/>
-                <exclude name="*.java"/>
-            </fileset>
-            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
-        </javadoc>
-        <copy todir="${dist.javadoc.dir}">
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
-                <filename name="**/doc-files/**"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/doc-files/**"/>
-            </fileset>
-        </copy>
-    </target>
-    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
-        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
-    </target>
-    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
-    <!--
-                =========================
-                TEST COMPILATION SECTION
-                =========================
-            -->
-    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
-        <mkdir dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-pre-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
-    <target name="-pre-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
-    <!--
-                =======================
-                TEST EXECUTION SECTION
-                =======================
-            -->
-    <target depends="init" if="have.tests" name="-pre-test-run">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:test testincludes="**/*Test.java"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init" if="have.tests" name="test-report"/>
-    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
-    <target depends="init" if="have.tests" name="-pre-test-run-single">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
-        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
-    <!--
-                =======================
-                TEST DEBUGGING SECTION
-                =======================
-            -->
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
-    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
-        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
-    <!--
-                =========================
-                APPLET EXECUTION SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" name="run-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject1:java classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <!--
-                =========================
-                APPLET DEBUGGING  SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject3:debug classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
-    <!--
-                ===============
-                CLEANUP SECTION
-                ===============
-            -->
-    <target name="-deps-clean-init" unless="built-clean.properties">
-        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
-        <delete file="${built-clean.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: SensorsTest was already built"/>
-    </target>
-    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-clean.properties}" verbose="false"/>
-        <property file="${built-clean.properties}" prefix="already.built.clean."/>
-        <antcall target="-warn-already-built-clean"/>
-        <propertyfile file="${built-clean.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-    </target>
-    <target depends="init" name="-do-clean">
-        <delete dir="${build.dir}"/>
-        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
-    </target>
-    <target name="-post-clean">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
-    <target name="-check-call-dep">
-        <property file="${call.built.properties}" prefix="already.built."/>
-        <condition property="should.call.dep">
-            <and>
-                <not>
-                    <isset property="already.built.${call.subproject}"/>
-                </not>
-                <available file="${call.script}"/>
-            </and>
-        </condition>
-    </target>
-    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
-        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
-            <propertyset>
-                <propertyref prefix="transfer."/>
-                <mapper from="transfer.*" to="*" type="glob"/>
-            </propertyset>
-        </ant>
-    </target>
-</project>
--- a/apps/toys/iOS/SensorsTest/nbproject/genfiles.properties	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=786cf28b
-build.xml.script.CRC32=073962b2
-build.xml.stylesheet.CRC32=28e38971@1.43.1.45
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=3cdbc6f1
-nbproject/build-impl.xml.script.CRC32=8001a673
-nbproject/build-impl.xml.stylesheet.CRC32=5a01deb7@1.72.0.48
--- a/apps/toys/iOS/SensorsTest/nbproject/project.properties	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-annotation.processing.enabled=true
-annotation.processing.enabled.in.editor=false
-annotation.processing.processors.list=
-annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=SensorsTest
-application.vendor=davidpulkrabek
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-# Uncomment to specify the preferred debugger connection transport:
-#debug.transport=dt_socket
-debug.classpath=\
-    ${run.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/SensorsTest.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-endorsed.classpath=
-excludes=
-file.reference.jfxrt.jar=../../../../build/ios-sdk/lib/jfxrt.jar
-includes=**
-jar.compress=false
-javac.classpath=\
-    ${file.reference.jfxrt.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.processorpath=\
-    ${javac.classpath}
-javac.source=1.8
-javac.target=1.8
-javac.test.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-main.class=sensorstest.SensorsTest
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-mkdist.disabled=false
-platform.active=JDK8
-run.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-# Space-separated list of JVM arguments used when running the project
-# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
-# or test-sys-prop.name=value to set system properties for unit tests):
-run.jvmargs=
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-source.encoding=UTF-8
-src.dir=src
-test.src.dir=test
--- a/apps/toys/iOS/SensorsTest/nbproject/project.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.java.j2seproject</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>SensorsTest</name>
-            <explicit-platform explicit-source-supported="true"/>
-            <source-roots>
-                <root id="src.dir"/>
-            </source-roots>
-            <test-roots>
-                <root id="test.src.dir"/>
-            </test-roots>
-        </data>
-    </configuration>
-</project>
--- a/apps/toys/iOS/SensorsTest/src/sensorstest/AttitudeIndicator.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sensorstest;
-
-import javafx.geometry.Rectangle2D;
-import javafx.scene.Group;
-import javafx.stage.Screen;
-
-import javafx.scene.shape.Path;
-import javafx.scene.shape.MoveTo;
-import javafx.scene.shape.LineTo;
-import javafx.scene.shape.ClosePath;
-
-import javafx.scene.shape.Rectangle;
-
-import javafx.scene.paint.Color;
-
-
-public class AttitudeIndicator extends Group {
-
-    public AttitudeIndicator() {
-        super();
-
-        final Rectangle2D dims = Screen.getPrimary().getVisualBounds();
-        final int width = (int) dims.getWidth();
-        final int height = (int) dims.getHeight();
-
-        final int cx = width/2;
-        final int cy = height/2;
-
-        final Path mask = new Path();
-        mask.getElements().addAll(
-            new MoveTo(-1,0),
-            new LineTo(-1, height),
-            new LineTo(width,height),
-            new LineTo(width,0),
-            new LineTo(-1,0),
-            new LineTo(width/4,   height/4),
-            new LineTo(width*3/4, height/4),
-            new LineTo(width*3/4, height*3/4),
-            new LineTo(width/4,   height*3/4),
-            new LineTo(width/4,   height/4),
-            new ClosePath()
-        );
-        mask.setStrokeWidth(0);
-        mask.setStroke(null);
-        mask.setFill(Color.BLACK);
-
-        final Rectangle rSky = new Rectangle(cx - 500, cy - 1000, 1000, 1000);
-        rSky.setFill(Color.NAVY);
-
-        final Rectangle rGround = new Rectangle(cx - 500, cy, 1000, 1000);
-        rGround.setFill(Color.BROWN);
-
-        final Rectangle bar = new Rectangle(width/4, cy-4, width/2, 8);
-        bar.setFill(Color.GRAY);
-
-        final Group g = new Group(rSky, rGround);
-
-        getChildren().addAll(g, mask, bar);
-
-        com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.addAccelerationListener(
-                new com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.Listener() {
-            public void handleMotion(float x, float y, float z) {
-                final double roll = Math.atan(-y/x);
-                final double pitch = Math.atan(-y/z);
-
-                g.setRotate(Math.toDegrees(Math.atan(-y/x)));
-                g.setTranslateY(z * cy);
-            }
-        });
-    }
-}
--- a/apps/toys/iOS/SensorsTest/src/sensorstest/SensorsPanel.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sensorstest;
-
-import javafx.event.EventHandler;
-import javafx.scene.Group;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.paint.Color;
-import javafx.scene.text.Font;
-import javafx.scene.text.Text;
-
-public class SensorsPanel extends Group {
-
-    static Text text(final int x, final int y) {
-        final Text text = new Text();
-        text.setFont(Font.font("Courier", 16));
-        text.setFill(Color.WHITE);
-        text.setTranslateX(x);
-        text.setTranslateY(y);
-        return text;
-    }
-
-    static Text label(final int x, final int y, final String text) {
-        final Text label = text(x, y);
-        label.setText(text);
-        return label;
-    }
-
-    public SensorsPanel() {
-        final int DY = 0x0E;
-        final int LX = 0x00;
-        final int VX = 0xC0;
-        int y = 0x18;
-
-        final Text textLocation1       = label(LX, y += DY, "Location");
-        final Text textLocation2       = label(LX, y += DY, "=================================");
-        final Text textLatitude        = label(LX, y += DY, "Latitude");
-        final Text textLatitudeValue   = text (VX, y);
-        final Text textLongitude       = label(LX, y += DY, "Longitude");
-        final Text textLongitudeValue  = text (VX, y);
-        final Text textAltitude        = label(LX, y += DY, "Altitude");
-        final Text textAltitudeValue   = text (VX, y);
-        final Text textCourse          = label(LX, y += DY, "Course");
-        final Text textCourseValue     = text (VX, y);
-        final Text textSpeed           = label(LX, y += DY, "Speed");
-        final Text textSpeedValue      = text (VX, y);
-        y += DY;
-
-        final Text textAccelerometer1  = label(LX, y += DY, "Accelerometer");
-        final Text textAccelerometerA  = text (VX, y);
-        final Text textAccelerometer2  = label(LX, y += DY, "=================================");
-        final Text textAccX            = label(LX, y += DY, "Acceleration X");
-        final Text textAccXValue       = text (VX, y);
-        final Text textAccY            = label(LX, y += DY, "Acceleration Y");
-        final Text textAccYValue       = text (VX, y);
-        final Text textAccZ            = label(LX, y += DY, "Acceleration Z");
-        final Text textAccZValue       = text (VX, y);
-        y += DY;
-
-        final Text textGyroscope1      = label(LX, y += DY, "Gyroscope");
-        final Text textGyroscopeA      = text (VX, y);
-        final Text textGyroscope2      = label(LX, y += DY, "=================================");
-        final Text textRotX            = label(LX, y += DY, "Rotation X");
-        final Text textRotXValue       = text (VX, y);
-        final Text textRotY            = label(LX, y += DY, "Rotation Y");
-        final Text textRotYValue       = text (VX, y);
-        final Text textRotZ            = label(LX, y += DY, "Rotation Z");
-        final Text textRotZValue       = text (VX, y);
-        y += DY;
-
-        final Text textMagnetometer1   = label(LX, y += DY, "Magnetometer");
-        final Text textMagnetometerA   = text (VX, y);
-        final Text textMagnetometer2   = label(LX, y += DY, "=================================");
-        final Text textMHeading        = label(LX, y += DY, "Magnetic heading");
-        final Text textMHeadingValue   = text (VX, y);
-        final Text textTHeading        = label(LX, y += DY, "True heading");
-        final Text textTHeadingValue   = text (VX, y);
-        final Text textFieldX          = label(LX, y += DY, "Field X");
-        final Text textFieldXValue     = text (VX, y);
-        final Text textFieldY          = label(LX, y += DY, "Field Y");
-        final Text textFieldYValue     = text (VX, y);
-        final Text textFieldZ          = label(LX, y += DY, "Field Z");
-        final Text textFieldZValue     = text (VX, y);
-        y += DY;
-
-        final Text textBattery1        = label(LX, y += DY, "Battery");
-        final Text textBattery2        = label(LX, y += DY, "=================================");
-        final Text textBatLevel        = label(LX, y += DY, "Level");
-        final Text textBatLevelValue   = text (VX, y);
-        final Text textBatState        = label(LX, y += DY, "State");
-        final Text textBatStateValue   = text (VX, y);
-
-        getChildren().addAll(
-                textLocation1,
-                textLocation2,
-                textLatitude,  textLatitudeValue,
-                textLongitude, textLongitudeValue,
-                textAltitude,  textAltitudeValue,
-                textCourse,    textCourseValue,
-                textSpeed,     textSpeedValue,
-
-                textAccelerometer1, textAccelerometerA,
-                textAccelerometer2,
-                textAccX, textAccXValue,
-                textAccY, textAccYValue,
-                textAccZ, textAccZValue,
-
-                textGyroscope1, textGyroscopeA,
-                textGyroscope2,
-                textRotX, textRotXValue,
-                textRotY, textRotYValue,
-                textRotZ, textRotZValue,
-
-                textMagnetometer1, textMagnetometerA,
-                textMagnetometer2,
-                textMHeading,   textMHeadingValue,
-                textTHeading,   textTHeadingValue,
-                textFieldX,     textFieldXValue,
-                textFieldY,     textFieldYValue,
-                textFieldZ,     textFieldZValue,
-
-                textBattery1,
-                textBattery2,
-                textBatLevel,
-                textBatLevelValue,
-                textBatState,
-                textBatStateValue
-        );
-
-        // SENSORS STUFF
-        // --------------------------------------------------------------------------------
-        com.sun.javafx.ext.device.ios.sensors.IOSLocationManager.addLocationListener(
-                new com.sun.javafx.ext.device.ios.sensors.IOSLocationManager.LocationListener() {
-                    @Override
-                    public void locationUpdated(double latitude,
-                                                double longitude,
-                                                double altitude,
-                                                double course,
-                                                double speed) {
-                        textLatitudeValue.setText(String.valueOf(latitude));
-                        textLongitudeValue.setText(String.valueOf(longitude));
-                        textAltitudeValue.setText(String.valueOf(altitude));
-                        textCourseValue.setText(String.valueOf(course));
-                        textSpeedValue.setText(String.valueOf(speed));
-                    }
-        });
-
-        textAccelerometerA.setText(com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.isAccelerometerAvailable() ? "AVAILABLE" : "NOT AVAILABLE");
-        com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.addAccelerationListener(new com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.Listener() {
-            public void handleMotion(float x, float y, float z) {
-                textAccXValue.setText(String.valueOf(x));
-                textAccYValue.setText(String.valueOf(y));
-                textAccZValue.setText(String.valueOf(z));
-            }
-        });
-
-        textGyroscopeA.setText(com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.isGyroAvailable() ? "AVAILABLE" : "NOT AVAILABLE");
-        com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.addRotationListener(new com.sun.javafx.ext.device.ios.sensors.IOSMotionManager.Listener() {
-            public void handleMotion(float x, float y, float z) {
-                textRotXValue.setText(String.valueOf(x));
-                textRotYValue.setText(String.valueOf(y));
-                textRotZValue.setText(String.valueOf(z));
-            }
-        });
-
-        textMagnetometerA.setText(com.sun.javafx.ext.device.ios.sensors.IOSLocationManager.isHeadingAvailable() ? "AVAILABLE" : "NOT AVAILABLE");
-        com.sun.javafx.ext.device.ios.sensors.IOSLocationManager.addHeadingListener(new com.sun.javafx.ext.device.ios.sensors.IOSLocationManager.HeadingListener() {
-            public void headingUpdated(double m, double t, double x, double y, double z) {
-                textMHeadingValue.setText(String.valueOf(m));
-                textTHeadingValue.setText(String.valueOf(t));
-                textFieldXValue.setText(String.valueOf(x));
-                textFieldYValue.setText(String.valueOf(y));
-                textFieldZValue.setText(String.valueOf(z));
-            }
-        });
-
-        com.sun.javafx.ext.device.ios.sensors.IOSDevice.getCurrentDevice().setProximityMonitoringEnabled(true);
-        setOnMousePressed(new EventHandler<MouseEvent>() {
-            public void handle(MouseEvent me) {
-                System.out.println("PROXIMITY: " + com.sun.javafx.ext.device.ios.sensors.IOSDevice.getCurrentDevice().getProximityState());
-            }
-        });
-
-        com.sun.javafx.ext.device.ios.sensors.IOSDevice.getCurrentDevice().setBatteryMonitoringEnabled(true);
-        textBatLevelValue.setText(String.valueOf(com.sun.javafx.ext.device.ios.sensors.IOSDevice.getCurrentDevice().getBatteryLevel()));
-        textBatStateValue.setText(String.valueOf(com.sun.javafx.ext.device.ios.sensors.IOSDevice.getCurrentDevice().getBatteryState()));
-    }
-}
--- a/apps/toys/iOS/SensorsTest/src/sensorstest/SensorsTest.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package sensorstest;
-
-import javafx.application.Application;
-import javafx.geometry.Rectangle2D;
-import javafx.scene.Group;
-import javafx.scene.Scene;
-import javafx.stage.Screen;
-import javafx.stage.Stage;
-import javafx.stage.StageStyle;
-
-public class SensorsTest extends Application {
-
-    @Override public void start(final Stage stage) {
-        stage.initStyle(StageStyle.UNDECORATED);
-
-        final Rectangle2D dims = Screen.getPrimary().getVisualBounds();
-        final int width = (int) dims.getWidth();
-        final int height = (int) dims.getHeight();
-
-        stage.setTitle("Sensors");
-        stage.setWidth(width);
-        stage.setHeight(height);
-
-        final Scene scene = new Scene(new Group());
-        ((Group)scene.getRoot()).getChildren().addAll(new AttitudeIndicator());
-        ((Group)scene.getRoot()).getChildren().addAll(new SensorsPanel());
-        stage.setScene(scene);
-
-        stage.show();
-    }
-
-    public static void main(String[] args) {
-        Application.launch(args);
-    }
-}
--- a/apps/toys/iOS/iPodAccessTest/build.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- You may freely edit this file. See commented blocks below for -->
-<!-- some examples of how to customize the build. -->
-<!-- (If you delete it and reopen the project it will be recreated.) -->
-<!-- By default, only the Clean and Build commands use this build script. -->
-<!-- Commands such as Run, Debug, and Test only use this build script if -->
-<!-- the Compile on Save feature is turned off for the project. -->
-<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
-<!-- in the project's Project Properties dialog box.-->
-<project name="iPodAccessTest" default="default" basedir=".">
-    <description>Builds, tests, and runs the project iPodAccessTest.</description>
-    <import file="nbproject/build-impl.xml"/>
-    <!--
-
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. They are: 
-
-      -pre-init:                 called before initialization of project properties
-      -post-init:                called after initialization of project properties
-      -pre-compile:              called before javac compilation
-      -post-compile:             called after javac compilation
-      -pre-compile-single:       called before javac compilation of single file
-      -post-compile-single:      called after javac compilation of single file
-      -pre-compile-test:         called before javac compilation of JUnit tests
-      -post-compile-test:        called after javac compilation of JUnit tests
-      -pre-compile-test-single:  called before javac compilation of single JUnit test
-      -post-compile-test-single: called after javac compilation of single JUunit test
-      -pre-jar:                  called before JAR building
-      -post-jar:                 called after JAR building
-      -post-clean:               called after cleaning build products
-
-    (Targets beginning with '-' are not intended to be called on their own.)
-
-    Example of inserting an obfuscator after compilation could look like this:
-
-        <target name="-post-compile">
-            <obfuscate>
-                <fileset dir="${build.classes.dir}"/>
-            </obfuscate>
-        </target>
-
-    For list of available properties check the imported 
-    nbproject/build-impl.xml file. 
-
-
-    Another way to customize the build is by overriding existing main targets.
-    The targets of interest are: 
-
-      -init-macrodef-javac:     defines macro for javac compilation
-      -init-macrodef-junit:     defines macro for junit execution
-      -init-macrodef-debug:     defines macro for class debugging
-      -init-macrodef-java:      defines macro for class execution
-      -do-jar:                  JAR building
-      run:                      execution of project 
-      -javadoc-build:           Javadoc generation
-      test-report:              JUnit report generation
-
-    An example of overriding the target for project execution could look like this:
-
-        <target name="run" depends="iPodAccessTest-impl.jar">
-            <exec dir="bin" executable="launcher.exe">
-                <arg file="${dist.jar}"/>
-            </exec>
-        </target>
-
-    Notice that the overridden target depends on the jar target and not only on 
-    the compile target as the regular run target does. Again, for a list of available 
-    properties which you can use, check the target you are overriding in the
-    nbproject/build-impl.xml file. 
-
-    -->
-</project>
--- a/apps/toys/iOS/iPodAccessTest/manifest.mf	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-X-COMMENT: Main-Class will be added automatically by build
-
--- a/apps/toys/iOS/iPodAccessTest/nbproject/build-impl.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1390 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
-
-For the purpose of easier reading the script
-is divided into following sections:
-
-  - initialization
-  - compilation
-  - jar
-  - execution
-  - debugging
-  - javadoc
-  - test compilation
-  - test execution
-  - test debugging
-  - applet
-  - cleanup
-
-        -->
-<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="iPodAccessTest-impl">
-    <fail message="Please build using Ant 1.8.0 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.8.0"/>
-            </not>
-        </condition>
-    </fail>
-    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
-    <!-- 
-                ======================
-                INITIALIZATION SECTION 
-                ======================
-            -->
-    <target name="-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init" name="-init-private">
-        <property file="nbproject/private/config.properties"/>
-        <property file="nbproject/private/configs/${config}.properties"/>
-        <property file="nbproject/private/private.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private" name="-init-user">
-        <property file="${user.properties.file}"/>
-        <!-- The two properties below are usually overridden -->
-        <!-- by the active platform. Just a fallback. -->
-        <property name="default.javac.source" value="1.4"/>
-        <property name="default.javac.target" value="1.4"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
-        <property file="nbproject/configs/${config}.properties"/>
-        <property file="nbproject/project.properties"/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
-        <property name="platform.java" value="${java.home}/bin/java"/>
-        <available file="${manifest.file}" property="manifest.available"/>
-        <condition property="splashscreen.available">
-            <and>
-                <not>
-                    <equals arg1="${application.splash}" arg2="" trim="true"/>
-                </not>
-                <available file="${application.splash}"/>
-            </and>
-        </condition>
-        <condition property="main.class.available">
-            <and>
-                <isset property="main.class"/>
-                <not>
-                    <equals arg1="${main.class}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="profile.available">
-            <and>
-                <isset property="javac.profile"/>
-                <length length="0" string="${javac.profile}" when="greater"/>
-                <matches pattern="1\.[89](\..*)?" string="${javac.source}"/>
-            </and>
-        </condition>
-        <condition property="do.archive">
-            <not>
-                <istrue value="${jar.archive.disabled}"/>
-            </not>
-        </condition>
-        <condition property="do.mkdist">
-            <and>
-                <isset property="do.archive"/>
-                <isset property="libs.CopyLibs.classpath"/>
-                <not>
-                    <istrue value="${mkdist.disabled}"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="do.archive+manifest.available">
-            <and>
-                <isset property="manifest.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+main.class.available">
-            <and>
-                <isset property="main.class.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+splashscreen.available">
-            <and>
-                <isset property="splashscreen.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="do.archive+profile.available">
-            <and>
-                <isset property="profile.available"/>
-                <istrue value="${do.archive}"/>
-            </and>
-        </condition>
-        <condition property="have.tests">
-            <or/>
-        </condition>
-        <condition property="have.sources">
-            <or>
-                <available file="${src.dir}"/>
-            </or>
-        </condition>
-        <condition property="netbeans.home+have.tests">
-            <and>
-                <isset property="netbeans.home"/>
-                <isset property="have.tests"/>
-            </and>
-        </condition>
-        <condition property="no.javadoc.preview">
-            <and>
-                <isset property="javadoc.preview"/>
-                <isfalse value="${javadoc.preview}"/>
-            </and>
-        </condition>
-        <property name="run.jvmargs" value=""/>
-        <property name="run.jvmargs.ide" value=""/>
-        <property name="javac.compilerargs" value=""/>
-        <property name="work.dir" value="${basedir}"/>
-        <condition property="no.deps">
-            <and>
-                <istrue value="${no.dependencies}"/>
-            </and>
-        </condition>
-        <property name="javac.debug" value="true"/>
-        <property name="javadoc.preview" value="true"/>
-        <property name="application.args" value=""/>
-        <property name="source.encoding" value="${file.encoding}"/>
-        <property name="runtime.encoding" value="${source.encoding}"/>
-        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
-            <and>
-                <isset property="javadoc.encoding"/>
-                <not>
-                    <equals arg1="${javadoc.encoding}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <property name="javadoc.encoding.used" value="${source.encoding}"/>
-        <property name="includes" value="**"/>
-        <property name="excludes" value=""/>
-        <property name="do.depend" value="false"/>
-        <condition property="do.depend.true">
-            <istrue value="${do.depend}"/>
-        </condition>
-        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
-        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
-            <and>
-                <isset property="endorsed.classpath"/>
-                <not>
-                    <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
-            <isset property="profile.available"/>
-        </condition>
-        <condition else="false" property="jdkBug6558476">
-            <and>
-                <matches pattern="1\.[56]" string="${java.specification.version}"/>
-                <not>
-                    <os family="unix"/>
-                </not>
-            </and>
-        </condition>
-        <property name="javac.fork" value="${jdkBug6558476}"/>
-        <property name="jar.index" value="false"/>
-        <property name="jar.index.metainf" value="${jar.index}"/>
-        <property name="copylibs.rebase" value="true"/>
-        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
-        <condition property="junit.available">
-            <or>
-                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
-                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
-            </or>
-        </condition>
-        <condition property="testng.available">
-            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
-        </condition>
-        <condition property="junit+testng.available">
-            <and>
-                <istrue value="${junit.available}"/>
-                <istrue value="${testng.available}"/>
-            </and>
-        </condition>
-        <condition else="testng" property="testng.mode" value="mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-        <condition else="" property="testng.debug.mode" value="-mixed">
-            <istrue value="${junit+testng.available}"/>
-        </condition>
-    </target>
-    <target name="-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
-        <fail unless="src.dir">Must set src.dir</fail>
-        <fail unless="build.dir">Must set build.dir</fail>
-        <fail unless="dist.dir">Must set dist.dir</fail>
-        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
-        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
-        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
-        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
-        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
-        <fail unless="dist.jar">Must set dist.jar</fail>
-    </target>
-    <target name="-init-macrodef-property">
-        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${@{value}}"/>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <mkdir dir="@{apgeneratedsrcdir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <compilerarg value="-processorpath"/>
-                    <compilerarg path="@{processorpath}:${empty.dir}"/>
-                    <compilerarg line="${ap.processors.internal}"/>
-                    <compilerarg line="${annotation.processing.processor.options}"/>
-                    <compilerarg value="-s"/>
-                    <compilerarg path="@{apgeneratedsrcdir}"/>
-                    <compilerarg line="${ap.proc.none.internal}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <attribute default="${javac.processorpath}" name="processorpath"/>
-            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="${javac.debug}" name="debug"/>
-            <attribute default="${empty.dir}" name="sourcepath"/>
-            <attribute default="${empty.dir}" name="gensrcdir"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.dir}/empty" name="empty.dir"/>
-                <mkdir dir="${empty.dir}"/>
-                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
-                    <src>
-                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
-                            <include name="*"/>
-                        </dirset>
-                    </src>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
-        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${src.dir}" name="srcdir"/>
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <attribute default="${javac.classpath}" name="classpath"/>
-            <sequential>
-                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </depend>
-            </sequential>
-        </macrodef>
-        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${build.classes.dir}" name="destdir"/>
-            <sequential>
-                <fail unless="javac.includes">Must set javac.includes</fail>
-                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
-                    <path>
-                        <filelist dir="@{destdir}" files="${javac.includes}"/>
-                    </path>
-                    <globmapper from="*.java" to="*.class"/>
-                </pathconvert>
-                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
-                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
-                <delete>
-                    <files includesfile="${javac.includesfile.binary}"/>
-                </delete>
-                <delete>
-                    <fileset file="${javac.includesfile.binary}"/>
-                </delete>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-init">
-        <condition else="false" property="nb.junit.batch" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <not>
-                    <isset property="test.method"/>
-                </not>
-            </and>
-        </condition>
-        <condition else="false" property="nb.junit.single" value="true">
-            <and>
-                <istrue value="${junit.available}"/>
-                <isset property="test.method"/>
-            </and>
-        </condition>
-    </target>
-    <target name="-init-test-properties">
-        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
-        <property name="test.binarytestincludes" value=""/>
-        <property name="test.binaryexcludes" value=""/>
-    </target>
-    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
-    <target if="${testng.available}" name="-init-macrodef-testng">
-        <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
-                    <isset property="test.method"/>
-                </condition>
-                <union id="test.set"/>
-                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="iPodAccessTest" testname="TestNG tests" workingDir="${work.dir}">
-                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
-                    <propertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </propertyset>
-                    <customize/>
-                </testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-test-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <echo>No tests executed.</echo>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
-        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:testng>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
-        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <sequential>
-                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
-        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property name="junit.forkmode" value="perTest"/>
-                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
-                            <filename name="${test.binarytestincludes}"/>
-                        </fileset>
-                    </batchtest>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg value="-ea"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <customize/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
-        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <element implicit="true" name="customize" optional="true"/>
-            <sequential>
-                <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize/>
-                </j2seproject3:junit-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target if="${testng.available}" name="-init-macrodef-testng-debug">
-        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element name="customize2" optional="true"/>
-            <sequential>
-                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
-                    <isset property="test.method"/>
-                </condition>
-                <condition else="-suitename iPodAccessTest -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
-                    <matches pattern=".*\.xml" string="@{testClass}"/>
-                </condition>
-                <delete dir="${build.test.results.dir}" quiet="true"/>
-                <mkdir dir="${build.test.results.dir}"/>
-                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
-                    <customize>
-                        <customize2/>
-                        <jvmarg value="-ea"/>
-                        <arg line="${testng.debug.mode}"/>
-                        <arg line="-d ${build.test.results.dir}"/>
-                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
-                        <arg line="${testng.cmd.args}"/>
-                    </customize>
-                </j2seproject3:debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
-        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <element implicit="true" name="customize2" optional="true"/>
-            <sequential>
-                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2/>
-                </j2seproject3:testng-debug>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
-                    <customize>
-                        <classpath>
-                            <path path="${run.test.classpath}"/>
-                        </classpath>
-                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                        <jvmarg line="${run.jvmargs}"/>
-                        <jvmarg line="${run.jvmargs.ide}"/>
-                    </customize>
-                </j2seproject3:test-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
-        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${includes}" name="includes"/>
-            <attribute default="${excludes}" name="excludes"/>
-            <attribute default="**" name="testincludes"/>
-            <attribute default="" name="testmethods"/>
-            <attribute default="${main.class}" name="testClass"/>
-            <attribute default="" name="testMethod"/>
-            <sequential>
-                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
-                    <customize2>
-                        <syspropertyset>
-                            <propertyref prefix="test-sys-prop."/>
-                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
-                        </syspropertyset>
-                    </customize2>
-                </j2seproject3:testng-debug-impl>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
-    <!--
-                pre NB7.2 profiling section; consider it deprecated
-            -->
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
-    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
-        <macrodef name="resolve">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${env.@{value}}"/>
-            </sequential>
-        </macrodef>
-        <macrodef name="profile">
-            <attribute default="${main.class}" name="classname"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property environment="env"/>
-                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
-                <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
-                    <jvmarg line="${profiler.info.jvmargs}"/>
-                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-                    <arg line="${application.args}"/>
-                    <classpath>
-                        <path path="${run.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
-        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
-        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
-    </target>
-    <!--
-                end of pre NB7.2 profiling section
-            -->
-    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="name"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <attribute default="" name="stopclassname"/>
-            <sequential>
-                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </nbjpdastart>
-            </sequential>
-        </macrodef>
-        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${build.classes.dir}" name="dir"/>
-            <sequential>
-                <nbjpdareload>
-                    <fileset dir="@{dir}" includes="${fix.classes}">
-                        <include name="${fix.includes}*.class"/>
-                    </fileset>
-                </nbjpdareload>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-debug-args">
-        <property name="version-output" value="java version &quot;${ant.java.version}"/>
-        <condition property="have-jdk-older-than-1.4">
-            <or>
-                <contains string="${version-output}" substring="java version &quot;1.0"/>
-                <contains string="${version-output}" substring="java version &quot;1.1"/>
-                <contains string="${version-output}" substring="java version &quot;1.2"/>
-                <contains string="${version-output}" substring="java version &quot;1.3"/>
-            </or>
-        </condition>
-        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
-            <istrue value="${have-jdk-older-than-1.4}"/>
-        </condition>
-        <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>
-    <target depends="-init-debug-args" name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${debug.classpath}" name="classpath"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
-                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
-                    <jvmarg line="${debug-args-line}"/>
-                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
-                    <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="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute default="${main.class}" name="classname"/>
-            <attribute default="${run.classpath}" name="classpath"/>
-            <attribute default="jvm" name="jvm"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java classname="@{classname}" dir="${work.dir}" fork="true">
-                    <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="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-copylibs">
-        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute default="${manifest.file}" name="manifest"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-                <pathconvert property="run.classpath.without.build.classes.dir">
-                    <path path="${run.classpath}"/>
-                    <map from="${build.classes.dir.resolved}" to=""/>
-                </pathconvert>
-                <pathconvert pathsep=" " property="jar.classpath">
-                    <path path="${run.classpath.without.build.classes.dir}"/>
-                    <chainedmapper>
-                        <flattenmapper/>
-                        <filtermapper>
-                            <replacestring from=" " to="%20"/>
-                        </filtermapper>
-                        <globmapper from="*" to="lib/*"/>
-                    </chainedmapper>
-                </pathconvert>
-                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
-                <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
-                    <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
-                    <manifest>
-                        <attribute name="Class-Path" value="${jar.classpath}"/>
-                        <customize/>
-                    </manifest>
-                </copylibs>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-presetdef-jar">
-        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
-                <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
-            </jar>
-        </presetdef>
-    </target>
-    <target name="-init-ap-cmdline-properties">
-        <property name="annotation.processing.enabled" value="true"/>
-        <property name="annotation.processing.processors.list" value=""/>
-        <property name="annotation.processing.processor.options" value=""/>
-        <property name="annotation.processing.run.all.processors" value="true"/>
-        <property name="javac.processorpath" value="${javac.classpath}"/>
-        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
-        <condition property="ap.supported.internal" value="true">
-            <not>
-                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
-            </not>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
-        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
-            <isfalse value="${annotation.processing.run.all.processors}"/>
-        </condition>
-        <condition else="" property="ap.proc.none.internal" value="-proc:none">
-            <isfalse value="${annotation.processing.enabled}"/>
-        </condition>
-    </target>
-    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
-        <property name="ap.cmd.line.internal" value=""/>
-    </target>
-    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
-    <!--
-                ===================
-                COMPILATION SECTION
-                ===================
-            -->
-    <target name="-deps-jar-init" unless="built-jar.properties">
-        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
-        <delete file="${built-jar.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: iPodAccessTest was already built"/>
-    </target>
-    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-jar.properties}" verbose="false"/>
-        <property file="${built-jar.properties}" prefix="already.built.jar."/>
-        <antcall target="-warn-already-built-jar"/>
-        <propertyfile file="${built-jar.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-    </target>
-    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
-    <target depends="init" name="-check-automatic-build">
-        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
-    </target>
-    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
-        <antcall target="clean"/>
-    </target>
-    <target depends="init,deps-jar" name="-pre-pre-compile">
-        <mkdir dir="${build.classes.dir}"/>
-    </target>
-    <target name="-pre-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-depend">
-        <pathconvert property="build.generated.subdirs">
-            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="*"/>
-            </dirset>
-        </pathconvert>
-        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
-        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
-        <copy todir="${build.classes.dir}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
-        </copy>
-    </target>
-    <target if="has.persistence.xml" name="-copy-persistence-xml">
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy todir="${build.classes.dir}/META-INF">
-            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
-        </copy>
-    </target>
-    <target name="-post-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
-    <target name="-pre-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile/>
-        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
-    </target>
-    <target name="-post-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
-    <!--
-                ====================
-                JAR BUILDING SECTION
-                ====================
-            -->
-    <target depends="init" name="-pre-pre-jar">
-        <dirname file="${dist.jar}" property="dist.jar.dir"/>
-        <mkdir dir="${dist.jar.dir}"/>
-    </target>
-    <target name="-pre-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <touch file="${tmp.manifest.file}" verbose="false"/>
-    </target>
-    <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
-        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
-        <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
-    </target>
-    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Main-Class" value="${main.class}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="Profile" value="${javac.profile}"/>
-        </manifest>
-    </target>
-    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
-        <basename file="${application.splash}" property="splashscreen.basename"/>
-        <mkdir dir="${build.classes.dir}/META-INF"/>
-        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
-        <manifest file="${tmp.manifest.file}" mode="update">
-            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
-        </manifest>
-    </target>
-    <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs">
-        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
-        <echo level="info">To run this application from the command line without Ant, try:</echo>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
-        <j2seproject1:jar manifest="${tmp.manifest.file}"/>
-        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
-        <property location="${dist.jar}" name="dist.jar.resolved"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}">
-            <isset property="main.class.available"/>
-        </condition>
-        <condition else="debug" property="jar.usage.level" value="info">
-            <isset property="main.class.available"/>
-        </condition>
-        <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
-    </target>
-    <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
-        <delete>
-            <fileset file="${tmp.manifest.file}"/>
-        </delete>
-    </target>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/>
-    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/>
-    <target name="-post-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
-    <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
-    <!--
-                =================
-                EXECUTION SECTION
-                =================
-            -->
-    <target depends="init,compile" description="Run a main class." name="run">
-        <j2seproject1:java>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <target name="-do-not-recompile">
-        <property name="javac.includes.binary" value=""/>
-    </target>
-    <target depends="init,compile-single" name="run-single">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}"/>
-    </target>
-    <target depends="init,compile-test-single" name="run-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
-    </target>
-    <!--
-                =================
-                DEBUGGING SECTION
-                =================
-            -->
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
-        <j2seproject1:nbjpdastart name="${debug.class}"/>
-    </target>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
-    </target>
-    <target depends="init,compile" name="-debug-start-debuggee">
-        <j2seproject3:debug>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
-    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
-        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
-    </target>
-    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}"/>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
-    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
-    <target depends="init" name="-pre-debug-fix">
-        <fail unless="fix.includes">Must set fix.includes</fail>
-        <property name="javac.includes" value="${fix.includes}.java"/>
-    </target>
-    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
-        <j2seproject1:nbjpdareload/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
-    <!--
-                =================
-                PROFILING SECTION
-                =================
-            -->
-    <!--
-                pre NB7.2 profiler integration
-            -->
-    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile/>
-    </target>
-    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
-        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="${profile.class}"/>
-    </target>
-    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <profile classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </profile>
-    </target>
-    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
-        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
-        <nbprofiledirect>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-        </nbprofiledirect>
-        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
-            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
-            <jvmarg value="${profiler.info.jvmargs.agent}"/>
-            <jvmarg line="${profiler.info.jvmargs}"/>
-            <test name="${profile.class}"/>
-            <classpath>
-                <path path="${run.test.classpath}"/>
-            </classpath>
-            <syspropertyset>
-                <propertyref prefix="test-sys-prop."/>
-                <mapper from="test-sys-prop.*" to="*" type="glob"/>
-            </syspropertyset>
-            <formatter type="brief" usefile="false"/>
-            <formatter type="xml"/>
-        </junit>
-    </target>
-    <!--
-                end of pre NB72 profiling section
-            -->
-    <target if="netbeans.home" name="-profile-check">
-        <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 depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
-        <startprofiler/>
-        <antcall target="run"/>
-    </target>
-    <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcall target="run-single"/>
-    </target>
-    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
-    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <startprofiler/>
-        <antcall target="test-single"/>
-    </target>
-    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <startprofiler/>
-        <antcal target="run-test-with-main"/>
-    </target>
-    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <startprofiler/>
-        <antcall target="run-applet"/>
-    </target>
-    <!--
-                ===============
-                JAVADOC SECTION
-                ===============
-            -->
-    <target depends="init" if="have.sources" name="-javadoc-build">
-        <mkdir dir="${dist.javadoc.dir}"/>
-        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
-            <and>
-                <isset property="endorsed.classpath.cmd.line.arg"/>
-                <not>
-                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
-                </not>
-            </and>
-        </condition>
-        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
-            <classpath>
-                <path path="${javac.classpath}"/>
-            </classpath>
-            <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
-                <filename name="**/*.java"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/*.java"/>
-                <exclude name="*.java"/>
-            </fileset>
-            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
-        </javadoc>
-        <copy todir="${dist.javadoc.dir}">
-            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
-                <filename name="**/doc-files/**"/>
-            </fileset>
-            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
-                <include name="**/doc-files/**"/>
-            </fileset>
-        </copy>
-    </target>
-    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
-        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
-    </target>
-    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
-    <!--
-                =========================
-                TEST COMPILATION SECTION
-                =========================
-            -->
-    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
-        <mkdir dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-pre-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target if="do.depend.true" name="-compile-test-depend">
-        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir=""/>
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir=""/>
-        <copy todir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-post-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
-    <target name="-pre-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
-        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="" srcdir=""/>
-        <copy todir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-post-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
-    <!--
-                =======================
-                TEST EXECUTION SECTION
-                =======================
-            -->
-    <target depends="init" if="have.tests" name="-pre-test-run">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
-        <j2seproject3:test testincludes="**/*Test.java"/>
-    </target>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init" if="have.tests" name="test-report"/>
-    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
-    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
-    <target depends="init" if="have.tests" name="-pre-test-run-single">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
-        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
-        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
-    <!--
-                =======================
-                TEST DEBUGGING SECTION
-                =======================
-            -->
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
-    </target>
-    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
-        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
-    </target>
-    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
-        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
-    </target>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
-    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
-    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
-        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
-    </target>
-    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
-    <!--
-                =========================
-                APPLET EXECUTION SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" name="run-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject1:java classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <!--
-                =========================
-                APPLET DEBUGGING  SECTION
-                =========================
-            -->
-    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject3:debug classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
-    <!--
-                ===============
-                CLEANUP SECTION
-                ===============
-            -->
-    <target name="-deps-clean-init" unless="built-clean.properties">
-        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
-        <delete file="${built-clean.properties}" quiet="true"/>
-    </target>
-    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: iPodAccessTest was already built"/>
-    </target>
-    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
-        <mkdir dir="${build.dir}"/>
-        <touch file="${built-clean.properties}" verbose="false"/>
-        <property file="${built-clean.properties}" prefix="already.built.clean."/>
-        <antcall target="-warn-already-built-clean"/>
-        <propertyfile file="${built-clean.properties}">
-            <entry key="${basedir}" value=""/>
-        </propertyfile>
-    </target>
-    <target depends="init" name="-do-clean">
-        <delete dir="${build.dir}"/>
-        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
-    </target>
-    <target name="-post-clean">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
-    <target name="-check-call-dep">
-        <property file="${call.built.properties}" prefix="already.built."/>
-        <condition property="should.call.dep">
-            <and>
-                <not>
-                    <isset property="already.built.${call.subproject}"/>
-                </not>
-                <available file="${call.script}"/>
-            </and>
-        </condition>
-    </target>
-    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
-        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
-            <propertyset>
-                <propertyref prefix="transfer."/>
-                <mapper from="transfer.*" to="*" type="glob"/>
-            </propertyset>
-        </ant>
-    </target>
-</project>
--- a/apps/toys/iOS/iPodAccessTest/nbproject/genfiles.properties	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=50664786
-build.xml.script.CRC32=7c76f5d8
-build.xml.stylesheet.CRC32=8064a381@1.72.0.48
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=50664786
-nbproject/build-impl.xml.script.CRC32=a207e4ac
-nbproject/build-impl.xml.stylesheet.CRC32=5a01deb7@1.72.0.48
--- a/apps/toys/iOS/iPodAccessTest/nbproject/project.properties	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-annotation.processing.enabled=true
-annotation.processing.enabled.in.editor=false
-annotation.processing.processors.list=
-annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=iPodAccessTest
-application.vendor=Oracle Inc.
-auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-# Uncomment to specify the preferred debugger connection transport:
-#debug.transport=dt_socket
-debug.classpath=\
-    ${run.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/iPodAccessTest.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-endorsed.classpath=
-excludes=
-file.reference.jfxrt.jar=../../../../build/ios-sdk/lib/jfxrt.jar
-file.reference.MediaTest-src=src
-includes=**
-jar.archive.disabled=${jnlp.enabled}
-jar.compress=false
-jar.index=${jnlp.enabled}
-javac.classpath=\
-    ${file.reference.jfxrt.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.processorpath=\
-    ${javac.classpath}
-javac.source=1.7
-javac.target=1.7
-javac.test.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-jnlp.codebase.type=no.codebase
-jnlp.descriptor=application
-jnlp.enabled=false
-jnlp.mixed.code=default
-jnlp.offline-allowed=false
-jnlp.signed=false
-jnlp.signing=
-jnlp.signing.alias=
-jnlp.signing.keystore=
-main.class=ipodaccesstest.IPodAccessTest
-# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed
-manifest.custom.codebase=
-# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions)
-manifest.custom.permissions=
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-mkdist.disabled=false
-platform.active=default_platform
-run.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-# Space-separated list of JVM arguments used when running the project
-# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
-# or test-sys-prop.name=value to set system properties for unit tests):
-run.jvmargs=
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-source.encoding=UTF-8
-src.dir=${file.reference.MediaTest-src}
--- a/apps/toys/iOS/iPodAccessTest/nbproject/project.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.java.j2seproject</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>iPodAccessTest</name>
-            <source-roots>
-                <root id="src.dir"/>
-            </source-roots>
-            <test-roots/>
-        </data>
-    </configuration>
-</project>
--- a/apps/toys/iOS/iPodAccessTest/src/ipodaccesstest/IPodAccessTest.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package ipodaccesstest;
-
-import javafx.application.Application;
-
-import javafx.scene.Group;
-import javafx.scene.Scene;
-import javafx.scene.paint.Color;
-import javafx.stage.Stage;
-import javafx.scene.media.MediaException;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Calendar;
-
-import java.text.SimpleDateFormat;
-import javafx.scene.control.*;
-
-import com.sun.javafx.ext.device.ios.ipod.MediaQuery;
-import com.sun.javafx.ext.device.ios.ipod.MediaItem;
-import com.sun.javafx.ext.device.ios.ipod.MediaFilter;
-
-
-public class IPodAccessTest extends Application {
-    private Scene scene;
-    private TextArea ta;
-
-    @Override
-    public void start(final Stage stage) {
-        stage.setTitle("iPodAccessTest");
-
-        scene = new Scene(new Group());
-        stage.setHeight(1004);
-        stage.setWidth(768);
-        scene.setFill(Color.SKYBLUE);
-
-        ta = new TextArea("");
-        ScrollPane sp = new ScrollPane();
-        sp.setContent(ta);
-        ta.setMinSize(768, 1004);
-        ta.setEditable(false);
-
-        ((Group)scene.getRoot()).getChildren().addAll(sp);
-
-        stage.setScene(scene);
-        stage.show();
-
-        try {
-            testIPodAccess();
-            testIPodAccessWithGrouping();
-        }
-        catch (MediaException e) {
-            addText("Media exception caught:" + e);
-            e.printStackTrace();
-        }
-    }
-
-    void addText(final String msg) {
-        ta.textProperty().setValue(ta.textProperty().getValue() + msg + "\n");
-    }
-
-    private void printMediaItemProperties(final MediaItem item) {
-        addText("Item: " + item);
-        addText("      media type :        " + item.getMediaType());
-        addText("      title:              " + item.getTitle());
-        addText("      album title:        " + item.getAlbumTitle());
-        addText("      artist:             " + item.getArtist());
-        addText("      album artist:       " + item.getAlbumArtist());
-        addText("      genre:              " + item.getGenre());
-        addText("      composer:           " + item.getComposer());
-        addText("      playback duration:  " + item.getPlaybackDuration());
-        addText("      album track number: " + item.getAlbumTrackNumber());
-        addText("      album track count:  " + item.getAlbumTrackCount());
-        addText("      disc number:        " + item.getDiscNumber());
-        addText("      disc count:         " + item.getDiscCount());
-        // missing artwork
-        addText("      lyrics:             " + item.getLyrics());
-        addText("      is compilation ?    " + item.isCompilation());
-
-        final Calendar date = item.getReleaseDate();
-        if (date != null) {
-            final SimpleDateFormat df = new SimpleDateFormat();
-            df.applyPattern("dd/MM/yyyy");
-            addText("      release date:       " + df.format(date.getTime()));
-        } else {
-            addText("      release date:       N/A");
-        }
-        addText("      beats per minute:   " + item.getBeatsPerMinute());
-        addText("      comments:           " + item.getComments());
-        addText("      url:                " + item.getURL());
-    }
-
-    private void testIPodAccess() {
-        addText("Testing iPod library access extension API");
-        final MediaQuery mediaQuery = new MediaQuery();
-
-        addText("Retrieving media items");
-        final List<MediaItem> items = mediaQuery.getItems();
-
-        addText("Enumerating " + items.size() + " media items...");
-        for (final MediaItem item : items) {
-            printMediaItemProperties(item);
-        }
-    }
-
-    private void testIPodAccessWithGrouping() {
-        addText("Testing iPod library access extension");
-        final MediaQuery mediaQuery = new MediaQuery();
-
-        addText("Adding a filter (Artist must be \"RingtoneFeeder.com\")");
-        final MediaFilter filter = new MediaFilter(MediaFilter.MediaFilterType.Artist, "RingtoneFeeder.com");
-        mediaQuery.addFilter(filter);
-
-        addText("Setting grouping type");
-        mediaQuery.setGroupingType(MediaQuery.MediaGroupingType.AlbumArtist);
-
-        addText("Retrieving media items collections");
-        final List<List<MediaItem>> collections = mediaQuery.getCollections();
-
-        addText("There are " + collections.size() + " collections");
-
-        int i=0;
-        for (final List<MediaItem> collection : collections) {
-            addText("Collection #" + i++);
-            final Iterator<MediaItem> iterator = collection.iterator();
-            while (iterator.hasNext()) {
-                final MediaItem item = iterator.next();
-                printMediaItemProperties(item);
-            }
-        }
-    }
-
-    public static void main(String[] args) {
-        Application.launch(args);
-    }
-}
--- a/build.gradle	Wed Jan 04 12:32:12 2017 -0500
+++ b/build.gradle	Thu Jan 05 10:02:50 2017 -0800
@@ -3950,8 +3950,7 @@
                               "${ctrlbld}/resources/android")
                     } else if (t.name == 'ios') {
                         from ("${webbld}/classes/ios",
-                              "${webbld}/resources/ios",
-                              "modules/extensions/build/classes/ios")
+                              "${webbld}/resources/ios")
                     } else {
                         from ("${webbld}/classes/main",
                               "${webbld}resources/main")
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/ipod/MediaFilter.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.ipod;
-
-/**
- * The MediaFilter class represents a filter that can be used to filter out media items
- * from the iPod library. For instance, one can filter out media items of a specific type,
- * genre, album title, composer, etc.
- * <br/>
- * A MediaFilter is defined by its type a and value.
- * <br/>
- * Valid MediaFilter types are as follows:
- * <ul>
- * <li><strong>MediaType</strong> - specifies the type of media items, e.g. podcasts, videos, etc. For a list
- * of valid media types, see <code>MediaItem.MediaItemType</code> enum values</li>
- * <li><strong>Title</strong> - the title (or name) of the media item</li>
- * <li><strong>AlbumTitle</strong> - the title of an album, as opposed to the title of an individual song on the
- * album</li>
- * <li><strong>Artist</strong> - the performing artist(s) for a media item, which may vary from the primary artist
- * for the album that a media item belongs to</li>
- * <li><strong>AlbumArtist</strong> - the primary performing artist for an album as a whole</li>
- * <li><strong>Genre</strong> - the musical or film genre of the media item</li>
- * <li><strong>Composer</strong> - the musical composer for the media item</li>
- * <li><strong>IsCompilation</strong> - indicates whether the media item is part of a compilation or not. Corresponds to
- * the &ldquo;Part of a compilation&rdquo; checkbox in the Info tab in the Get Info dialog in iTunes</li>
- * </ul>
- *
- * Filter values are of the type <code>String</code>, except for the <code>IsCompilation</code> filter type, the value of which
- * is a <code>Boolean</code> and except for the <code>MediaType</code> type, the value of which is of the type <code>enum MediaItemType</code>.
- * <br/>
- * To add a filter to a <code>MediaQuery</code> instance, use <code>MediaQuery.addFilter()</code>.
- * <br/>
- * To remove a filter from a <code>MediaQuery</code> instance, use <code>MediaQuery.removeFilter()</code>.
- */
-public class MediaFilter {
-
-    /**
-     * This enum defines valid values for the MediaFilter's type.
-     */
-    public static enum MediaFilterType {
-        /**
-         * Specifies the type of media items, for example podcasts, videos, etc. For a list of valid media types,
-         * see <code>enum MediaItem.MediaItemType</code> values.
-         */
-        MediaType(0),
-        /**
-         * The title (or name) of the media item.
-         */
-        Title(1),
-        /**
-         * The title of an album, as opposed to the title of an individual song on the album.
-         */
-        AlbumTitle(2),
-        /**
-         * The performing artist(s) for a media item, which may vary from the primary artist for the album that a media item belongs to.
-         */
-        Artist(3),
-        /**
-         * The primary performing artist for an album as a whole.
-         */
-        AlbumArtist(4),
-        /**
-         * The musical or film genre of the media item.
-         */
-        Genre(5),
-        /**
-         * The musical composer for the media item.
-         */
-        Composer(6),
-        /**
-         * Indicates whether the media item is part of a compilation or not. Corresponds to the "Part of a compilation"
-         * checkbox in the Info tab in the Get Info dialog in iTunes.
-         */
-        IsCompilation(7);
-
-        private final int value;
-
-        private MediaFilterType(int value) {
-            this.value = value;
-        }
-
-        /**
-         * Returns the integer value associated with this enum value.
-         * @return the integer value associated with this enum value.
-         */
-        public int getValue() {
-            return value;
-        }
-    }
-
-    private MediaFilterType filterType;
-    private Object filterValue;
-
-    /**
-     * Constructs an empty media filter that excludes no media items. Using this filter is equivalent to
-     * using no filters at all. It is possible to change the filter's type and value later on by calling the
-     * appropriate setter methods.
-     */
-    public MediaFilter() {
-        this(MediaFilterType.MediaType, MediaItem.MediaItemType.Any);
-    }
-
-    /**
-     * Constructs a new media filter of the specified type and value.
-     *
-     * @param filterType the filter's type
-     * @param filterValue the filter's value
-     */
-    public MediaFilter(final MediaFilterType filterType, final Object filterValue) {
-        this.filterType = filterType;
-        this.filterValue = filterValue;
-    }
-
-    /**
-     * Returns this filter's type.
-     *
-     * @return this filter's type
-     */
-    public MediaFilterType getFilterType() {
-        return filterType;
-    }
-
-    /**
-     * Returns this filter's value
-     *
-     * @return this filter's value
-     */
-    public Object getFilterValue() {
-        return filterValue;
-    }
-
-    /**
-     * Sets this filter's type
-     *
-     * @param filterType the new type of this filter
-     */
-    public void setFilterType(final MediaFilterType filterType) {
-        this.filterType = filterType;
-    }
-
-    /**
-     * Sets this filter's value
-     *
-     * @param filterValue the new value of this filter
-     */
-    public void setFilterValue(final Object filterValue) {
-        this.filterValue = filterValue;
-    }
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/ipod/MediaItem.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,405 +0,0 @@
-/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.ipod;
-
-import java.util.Calendar;
-import java.util.HashMap;
-import java.util.Map;
-
-import javafx.util.Duration;
-import javafx.scene.image.Image;
-
-/**
- * The MediaItem class represents a single media item from the iPod library. It encapsulates each media item's
- * properties, such as media type, genre, title, artist, lyrics, release date and others. For a full list of
- * media item properties see the Methods section.
- * <br/>
- * In order to use a particular media item with the JavaFX Media API, use <code>MediaItem.getURL()</code> method
- * to obtain a String representation of the media item's location that can be used to create an instance of the
- * <code>javafx.scene.media.Media</code> class.
- */
-public class MediaItem {
-
-    // enum values correspond directly to MPMediaItemPropertyMediaType values on iOS
-
-    /**
-     * The MediaItemType enum defines all possible media item types. Use this enum's values to create a MediaFilter
-     * filter that filters out media items according to their media type.
-     * <br/>
-     * See <code>MediaFilter</code> and <code>MediaFilter.MediaFilterType.MediaType</code>
-     */
-    public static enum MediaItemType {
-        /**
-         * The media item contains music.
-         */
-        Music       (1 << 0),
-        /**
-         * The media item contains a podcast.
-         */
-        Podcast     (1 << 1),
-        /**
-         * The media item contains an audio book.
-         */
-        AudioBook   (1 << 2),
-        /**
-         * The media item contains an unspecified type of audio content.
-         */
-        AnyAudio    (0x00ff),
-        /**
-         * The media item contains a movie.
-         */
-        Movie       (1 << 8),
-        /**
-         * The media item contains a TV show.
-         */
-        TVShow      (1 << 9),
-        /**
-         * The media item contains a video podcast.
-         */
-        VideoPodcast(1 << 10),
-        /**
-         * The media item contains a music video.
-         */
-        MusicVideo  (1 << 11),
-        /**
-         * The media item contains an iTunes U video.
-         */
-        VideoITunesU(1 << 12),
-        /**
-         * The media item contains an unspecified type of video content.
-         */
-        AnyVideo    (0xff00),
-        /**
-         * The media item contains an unspecified type of audio.
-         */
-        Any         (~0);
-
-        // we need this mapping to be able to translate int values received from native code in an efficient manner
-        // calling values() would create a new array each time and lookup would be O(n)
-        private static final Map<Integer, MediaItemType> iosEnumCodes;
-
-        static {
-            iosEnumCodes = new HashMap<Integer, MediaItemType>();
-            iosEnumCodes.put(Music.getValue(), Music);
-            iosEnumCodes.put(Podcast.getValue(), Podcast);
-            iosEnumCodes.put(AudioBook.getValue(), AudioBook);
-            iosEnumCodes.put(AnyAudio.getValue(), AnyAudio);
-            iosEnumCodes.put(Movie.getValue(), Movie);
-            iosEnumCodes.put(TVShow.getValue(), TVShow);
-            iosEnumCodes.put(VideoPodcast.getValue(), VideoPodcast);
-            iosEnumCodes.put(MusicVideo.getValue(), MusicVideo);
-            iosEnumCodes.put(VideoITunesU.getValue(), VideoITunesU);
-            iosEnumCodes.put(AnyVideo.getValue(), AnyVideo);
-            iosEnumCodes.put(Any.getValue(), Any);
-        }
-
-        private final int value;
-
-        private MediaItemType(int value) {
-            this.value = value;
-        }
-
-        /**
-         * Returns the integer value associated with this enum value.
-         * @return the integer value associated with this enum value.
-         */
-        public int getValue() {
-            return value;
-        }
-
-        private static MediaItemType fromIntValue(int intValue) {
-            MediaItemType mediaItemType = null;
-            if (iosEnumCodes.containsKey(intValue)) {
-                mediaItemType = iosEnumCodes.get(intValue);
-            }
-            return mediaItemType;
-        }
-    }
-
-    private MediaItemType mediaType;
-    private String title;
-    private String albumTitle;
-    private String artist;
-    private String albumArtist;
-    private String genre;
-    private String composer;
-    private Duration playbackDuration;
-    private int albumTrackNumber;
-    private int albumTrackCount;
-    private int discNumber;
-    private int discCount;
-    private Image artwork;
-    private String lyrics;
-    private boolean isCompilation;
-    private Calendar releaseDate;
-    private int beatsPerMinute;
-    private String comments;
-    private String url;
-
-    MediaItem() {
-
-    }
-
-    /**
-     * Returns the media type of this media item. See the MediaItemType enum for possible values.
-     * @return the media type of this media item
-     */
-    public MediaItemType getMediaType() {
-        return mediaType;
-    }
-
-    /**
-     * Returns the title (or name) of this media item.
-     * @return the title (or name) of this media item.
-     */
-    public String getTitle() {
-        return title;
-    }
-
-    /**
-     * Returns the title of an album, such as "Thriller", as opposed to the title of an individual
-     * song on the album, such as "Beat It"
-     * @return the title of an album
-     */
-    public String getAlbumTitle() {
-        return albumTitle;
-    }
-
-    /**
-     * Returns the performing artist(s) for this media item, which may vary from the primary artist for the album
-     * that a media item belongs to. For example, if the album artist is "Joseph Fable", the artist for one of
-     * the songs in the album may be "Joseph Fable featuring Thomas Smithson".
-     * @return the performing artist(s) for this media item
-     */
-    public String getArtist() {
-        return artist;
-    }
-
-    /**
-     * Returns the primary performing artist for an album as a whole.
-     * @return the primary performing artist for an album as a whole
-     */
-    public String getAlbumArtist() {
-        return albumArtist;
-    }
-
-    /**
-     * Returns the musical or film genre of this media item.
-     * @return the musical or film genre of this media item
-     */
-    public String getGenre() {
-        return genre;
-    }
-
-    /**
-     * Returns the musical composer for this media item.
-     * @return the musical composer for this media item
-     */
-    public String getComposer() {
-        return composer;
-    }
-
-    /**
-     * Returns the playback duration of this media item.
-     * @return the playback duration of this media item
-     */
-    public Duration getPlaybackDuration() {
-        return playbackDuration;
-    }
-
-    /**
-     * Returns the track number of this media item, if it is part of an album.
-     * @return the track number of this media item
-     */
-    public int getAlbumTrackNumber() {
-        return albumTrackNumber;
-    }
-
-    /**
-     * Returns the number of tracks in the album that contains this media item.
-     * @return the number of tracks in the album that contains this media item
-     */
-    public int getAlbumTrackCount() {
-        return albumTrackCount;
-    }
-
-    /**
-     * Returns the disc number of this media item, provided it is part of a multi-disc album.
-     * @return the disc number of this media item
-     */
-    public int getDiscNumber() {
-        return discNumber;
-    }
-
-    /**
-     * Returns the number of discs in the album that contains this media item.
-     * @return the number of discs in the album that contains this media item
-     */
-    public int getDiscCount() {
-        return discCount;
-    }
-
-    /**
-     * Returns the artwork image for this media item. <strong>Not implemented</strong>.
-     * @return the artwork image for this media item
-     */
-    public Image getArtwork() {
-        return artwork;
-    }
-
-    /**
-     * Returns the lyrics for this media item.
-     * @return the lyrics for this media item
-     */
-    public String getLyrics() {
-        return lyrics;
-    }
-
-    /**
-     * Indicates whether this media item is part of a compilation or not. Corresponds to the
-     * "Part of a compilation" checkbox in the Info tab in the Get Info dialog in iTunes.
-     * @return a boolean value indicating whether this media item is part of a compilation
-     */
-    public boolean isCompilation() {
-        return isCompilation;
-    }
-
-    /**
-     * Returns the date on which the media item was first publicly released.
-     * @return the date on which the media item was first publicly released
-     */
-    public Calendar getReleaseDate() {
-        return releaseDate;
-    }
-
-    /**
-     * Returns the number of musical beats per minute for the media item, corresponding to the "BPM" field
-     * in the Info tab in the Get Info dialog in iTunes.
-     * @return the number of musical beats per minute (BPM)
-     */
-    public int getBeatsPerMinute() {
-        return beatsPerMinute;
-    }
-
-    /**
-     * Returns textual information about this media item, corresponding to the "Comments" field in the
-     * Info tab in the Get Info dialog in iTunes.
-     * @return textual information about this media item
-     */
-    public String getComments() {
-        return comments;
-    }
-
-    /**
-     * Returns a URL pointing to the media item as a String. This value can be passed to the constructor of
-     * the <code>javafx.scene.media.Media</code> class and thus used with the JavaFX media API. The URL has
-     * the custom scheme of <code>ipod-library</code>. For example, a URL might look like this:
-     * <br/>
-     * <code>ipod-library://item/item.m4a?id=12345</code>
-     * @return a URL pointing to the media item
-     */
-    public String getURL() {
-        return url;
-    }
-
-    // setters have package access, will be set from native
-    void setMediaType(final MediaItemType mediaType) {
-        this.mediaType = mediaType;
-    }
-
-    // a convenience method to simplify the native code
-    void setMediaType(final int mediaType) {
-        this.mediaType = MediaItemType.fromIntValue(mediaType);
-    }
-
-    void setTitle(final String title) {
-        this.title = title;
-    }
-
-    void setAlbumTitle(final String albumTitle) {
-        this.albumTitle = albumTitle;
-    }
-
-    void setArtist(final String artist) {
-        this.artist = artist;
-    }
-
-    void setAlbumArtist(final String albumArtist) {
-        this.albumArtist = albumArtist;
-    }
-
-    void setGenre(final String genre) {
-        this.genre = genre;
-    }
-
-    void setComposer(final String composer) {
-        this.composer = composer;
-    }
-
-    void setPlaybackDuration(final Duration playbackDuration) {
-        this.playbackDuration = playbackDuration;
-    }
-
-    void setAlbumTrackNumber(final int albumTrackNumber) {
-        this.albumTrackNumber = albumTrackNumber;
-    }
-
-    void setAlbumTrackCount(final int albumTrackCount) {
-        this.albumTrackNumber = albumTrackCount;
-    }
-
-    void setDiscNumber(final int discNumber) {
-        this.discNumber = discNumber;
-    }
-
-    void setDiscCount(final int discCount) {
-        this.discCount = discCount;
-    }
-
-    void setLyrics(final String lyrics) {
-        this.lyrics = lyrics;
-    }
-
-    void setIsCompilation(final boolean isCompilation) {
-        this.isCompilation = isCompilation;
-    }
-
-    void setReleaseDate(final Calendar releaseDate) {
-        this.releaseDate = releaseDate;
-    }
-
-    void setBeatsPerMinute(final int beatsPerMinute) {
-        this.beatsPerMinute = beatsPerMinute;
-    }
-
-    void setComments(final String comments) {
-        this.comments = comments;
-    }
-
-    void setURL(final String url) {
-        this.url = url;
-    }
-
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/ipod/MediaQuery.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +0,0 @@
-/*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.ext.device.ios.ipod;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import static com.sun.javafx.ext.device.ios.ipod.MediaFilter.MediaFilterType;
-
-/**
- * The MediaQuery class is the central entity of the iPod library access API. Its purpose is to provide
- * access to the user's iPod library content. It allows you to retrieve lists of media items fulfilling
- * certain criteria and group them by some shared properties. E.g. it is possible to filter out media items
- * of a particular genre, composer, title, etc. See the MediaFilter class description for the list of
- * available filters. It is possible to use multiple filters at the same time.
- * <br/>
- * The MediaQuery class also supports so called grouping. Grouping allows you to retrieve sorted and arranged
- * collections of media items. The arrangement you get depends on the value you set by calling the
- * MediaQuery.setGrouping() method.
- * <br/>
- * The possible arrangements you can achieve with grouping are as follows:
- * <ul>
- * <li><strong>Title</strong> - groups and sorts media item collections by title.</li>
- * <li><strong>Album</strong> - groups and sorts media item collections by album,
- * and sorts songs within an album by track order.</li>
- * <li><strong>Artist</strong> - groups and sorts media item collections by performing artist.</li>
- * <li><strong>AlbumArtist</strong> - groups and sorts media item collections by album artist
- * (the primary performing artist for an album as a whole).</li>
- * <li><strong>Composer</strong> - groups and sorts media item collections by composer.</li>
- * <li><strong>Genre</strong> - groups and sorts media item collections by musical or film genre.</li>
- * <li><strong>PlayList</strong> - groups and sorts media item collections by playlist.</li>
- * <li><strong>PodcastTitle</strong> - groups and sorts media item collections by podcast title.</li>
- * </ul>
- * The following code example creates an instance of the MediaQuery class to get a list of all items in the
- * user's iPod library:
- * <pre>
- * final MediaQuery mQuery = new MediaQuery();
- * final List&lt;MediaItem&gt; list = mQuery.getItems();
- * </pre>
- * The following example creates a MediaQuery instance, adds two filters to the query and retrieves the items.
- * The filters will make sure that we get a list of all musical items of the artist "TheBigLooser"
- * <pre>
- * final MediaQuery mQuery = new MediaQuery();
- *
- * final MediaFilter artistFilter = new MediaFilter(MediaFilter.MediaFilterType.Artist, "TheBigLooser");
- * mQuery.addFilter(artistFilter);
- *
- * final MediaFilter typeFilter = new MediaFilter(MediaFilter.MediaFilterType.MediaType, MediaItem.MediaItemType.Music);
- * mQuery.addFilter(typeFilter);
- *
- * final List&lt;MediaItem&gt; list = mQuery.getItems();
- * </pre>
- * If you add the following line, your results will be sorted and grouped by the album on which they appeared.
- * <pre>
- * mQuery.setGrouping(MediaQuery.MediaGroupingType.Album);
- * </pre>
- * However, remember that when you employ grouping, you are supposed to receive media item collections in a form
- * of a List of Lists (List&lt;List&lt;MediaItem&gt;&gt;) of media items.
- * <p>
- * The following example demonstrates how to use both filtering, grouping and how to display each media item's
- * properties:
- * <pre>
- * final MediaQuery mediaQuery = new MediaQuery();
- * final MediaFilter filter = new MediaFilter(MediaFilter.MediaFilterType.Artist, "RingtoneFeeder.com");
- * mediaQuery.addFilter(filter);
- * mediaQuery.setGroupingType(MediaQuery.MediaGroupingType.AlbumArtist);
- * final List&lt;List&lt;MediaItem&gt;&gt; collections = mediaQuery.getCollections();
- * for (final List&lt;MediaItem&gt; collection : collections) {
- *     for (final MediaItem item : collection) {
- *         System.out.println("      media type :        " + item.getMediaType());
- *         System.out.println("      title:              " + item.getTitle());
- *         System.out.println("      album title:        " + item.getAlbumTitle());
- *         System.out.println("      artist:             " + item.getArtist());
- *         System.out.println("      album artist:       " + item.getAlbumArtist());
- *         System.out.println("      genre:              " + item.getGenre());
- *         System.out.println("      composer:           " + item.getComposer());
- *         System.out.println("      playback duration:  " + item.getPlaybackDuration());
- *         System.out.println("      album track number: " + item.getAlbumTrackNumber());
- *         System.out.println("      album track count:  " + item.getAlbumTrackCount());
- *         System.out.println("      disc number:        " + item.getDiscNumber());
- *         System.out.println("      disc count:         " + item.getDiscCount());
- *         System.out.println("      lyrics:             " + item.getLyrics());
- *         System.out.println("      is compilation ?    " + item.isCompilation());
- *
- *         final SimpleDateFormat df = new SimpleDateFormat();
- *         df.applyPattern("dd/MM/yyyy");
- *         final Calendar date = item.getReleaseDate();
- *
- *         System.out.println("      release date:       " + df.format(date.getTime()));
- *         System.out.println("      beats per minute:   " + item.getBeatsPerMinute());
- *         System.out.println("      comments:           " + item.getComments());
- *         System.out.println("      url:                " + item.getURL());
- *     }
- * }
- * </pre>
- *
- */
-public class MediaQuery {
-
-    /**
-     * The MediaGroupingType enum defines valid values for grouping of a MediaQuery. See the
-     * MediaQuery description for an explanation of the grouping functionality.
-     *
-     */
-    public static enum MediaGroupingType {
-        /**
-         * Groups and sorts media item collections by title.
-         */
-        Title(0),
-        /**
-         * Groups and sorts media item collections by album, and sorts songs within an album by track order.
-         */
-        Album(1),
-        /**
-         * Groups and sorts media item collections by performing artist.
-         */
-        Artist(2),
-        /**
-         * Groups and sorts media item collections by album artist (the primary performing artist for an album as a whole).
-         */
-        AlbumArtist(3),
-        /**
-         * Groups and sorts media item collections by composer.
-         */
-        Composer(4),
-        /**
-         * Groups and sorts media item collections by musical or film genre.
-         */
-        Genre(5),
-        /**
-         * Groups and sorts media item collections by playlist.
-         */
-        PlayList(6),
-        /**
-         * Groups and sorts media item collections by podcast title.
-         */
-        PodcastTitle(7);
-
-        private final int value;
-
-        private MediaGroupingType(int value) {
-            this.value = value;
-        }
-
-        /**
-         * Returns the integer value associated with this enum value.
-         * @return the integer value associated with this enum value.
-         */
-        public int getValue() {
-            return value;
-        }
-    }
-
-    private List<MediaFilter> filters;
-    private MediaGroupingType groupingType;
-
-    private List<MediaItem> items;
-    private List<List<MediaItem>> collections;
-
-    /* Native methods */
-    private native void nCreateQuery();
-    private native void nAddNumberPredicate(int key, int value);
-    private native void nAddStringPredicate(int key, String value);
-    private native void nSetGroupingType(int type);
-    private native void nFillItemList();
-    private native void nFillCollections();
-    private native void nDisposeQuery();
-
-    /* Methods called from native to fill up the lists */
-    private void addMediaItem(final MediaItem item) {
-        items.add(item);
-    }
-
-    private void addCollection(final List<MediaItem> collection) {
-        collections.add(collection);
-    }
-
-    /**
-     * Instantiates a new MediaQuery with no filtering and no grouping. Calling <code>getItems()</code>
-     * right after this constructor would result in all media items from the iPod library being returned.
-     */
-    public MediaQuery() {
-        filters = new ArrayList<MediaFilter>();
-        items = new LinkedList<MediaItem>();
-        collections = new LinkedList<List<MediaItem>>();
-    }
-
-    /**
-     * Constructs a new MediaQuery instance and adds the given MediaFilter to the query.
-     * @param filter An initial MediaFilter filter
-     */
-    public MediaQuery(final MediaFilter filter) {
-        this();
-        addFilter(filter);
-    }
-
-    /**
-     * Adds another MediaFilter to this query.
-     * @param filter the MediaFilter to be added to this query
-     */
-    public void addFilter(final MediaFilter filter) {
-        filters.add(filter);
-    }
-
-    /**
-     * Removes the specified filter from this query.
-     * @param filter the MediaFilter to be removed from this query
-     */
-    public void removeFilter(final MediaFilter filter) {
-        filters.remove(filter);
-    }
-
-    private void setupFilters() {
-        for (final MediaFilter filter : filters) {
-            final MediaFilterType type = filter.getFilterType();
-            if (type == MediaFilterType.MediaType) {
-                final MediaItem.MediaItemType mediaType = (MediaItem.MediaItemType) filter.getFilterValue();
-                nAddNumberPredicate(type.getValue(), mediaType.getValue());
-            }
-            else if (type == MediaFilterType.IsCompilation) {
-                final boolean isCompilation = (Boolean) filter.getFilterValue();
-                nAddNumberPredicate(type.getValue(), isCompilation ? 1 : 0);
-            }
-            else {
-                nAddStringPredicate(type.getValue(), (String) filter.getFilterValue());
-            }
-        }
-    }
-
-    /**
-     * Returns a list of media items from the iPod library that fulfill all the criteria imposed
-     * by all the filters that were added to this query prior to this call. This method neglects
-     * grouping. In order to employ grouping, use the <code>getCollections()</code> method instead.
-     * @return a list of media items being a result of this query evaluation
-     */
-    public List<MediaItem> getItems() {
-
-        nCreateQuery();
-        setupFilters();
-
-        if (!items.isEmpty()) {
-            items.clear();
-        }
-
-        nFillItemList();
-        nDisposeQuery();
-
-        return items;
-    }
-
-    /**
-     * Sets up grouping. For the list of available grouping types, see the MediaGroupingType enum.
-     * @param groupingType the grouping type to use for creating media items collections
-     */
-    public void setGroupingType(final MediaGroupingType groupingType) {
-        this.groupingType = groupingType;
-    }
-
-    /**
-     * Returns a list of media items from the iPod library that fulfill all the criteria imposed
-     * by all the filters that were added to this query prior to this call, arranged and grouped
-     * by the grouping type set by calling the <code>setGroupingType</code> method. Collections are
-     * returned in a form of lists of media items. See the <code>MediaQuery</code> class description
-     * for an example on how to use grouping.
-     * @return
-     */
-    public List<List<MediaItem>> getCollections() {
-
-        nCreateQuery();
-        setupFilters();
-
-        if (!collections.isEmpty()) {
-            for (final List<MediaItem> collection : collections) {
-                collection.clear();
-            }
-            collections.clear();
-        }
-
-        nSetGroupingType(groupingType.getValue());
-        nFillCollections();
-        nDisposeQuery();
-
-        return collections;
-    }
-
-}
\ No newline at end of file
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/BatteryState.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.sensors;
-
-/**
- * The state of the device battery
- */
-public enum BatteryState {
-    /**
-     * The battery state is unknown.
-     */
-    UNKNOWN,
-
-    /**
-     * The device is disconnected from the power source and is running on battery.
-     */
-    UNPLUGGED,
-
-    /**
-     * The device is connected to the power source and the battery is charging.
-     */
-    CHARGING,
-
-    /**
-     * The device is connected to the power source and the battery is fully charged.
-     */
-    FULL
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSApplication.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.sensors;
-
-import com.sun.glass.ui.ios.IosApplication;
-
-
-/**
- * The class IOSApplication provides the API for managing the IOS-specific aspects
- * of the application appearance, such as status bar appearance and orientation.
- */
-public class IOSApplication {
-
-    private static IOSApplication INSTANCE = null;
-
-    public static IOSApplication getSharedApplication() {
-        synchronized (IOSApplication.class) {
-            if (INSTANCE == null) INSTANCE = new IOSApplication();
-            return INSTANCE;
-        }
-    }
-
-
-    /**
-     * Returns the visibility state of the status bar
-     * @return <code>true</code> if the status bar is visible,
-     *         <code>false</code> otherwise.
-     */
-    public boolean isStatusBarVisible() {
-        return !IosApplication._getStatusBarHidden();
-    }
-
-
-    /**
-     * Shows the status bar
-     */
-    public void showStatusBar() {
-        IosApplication._setStatusBarHidden(false);
-    }
-
-
-    /**
-     * Shows the status bar.
-     * If the status bar was hidden, the transition can optionally be animated.
-     * @param animation One of the constants in {@linkplain StatusBarAnimation}.
-     */
-    public void showStatusBarWithAnimation(final StatusBarAnimation animation) {
-        IosApplication._setStatusBarHiddenWithAnimation(false, animation.ordinal());
-    }
-
-
-    /**
-     * Hides the status bar.
-     */
-    public void hideStatusBar() {
-        IosApplication._setStatusBarHidden(true);
-    }
-
-
-    /**
-     * Hides the status bar.
-     * If the status bar was visible, the transition can optionally be animated.
-     * @param animation One of the constants in {@linkplain StatusBarAnimation}.
-     */
-    public void hideStatusBarWithAnimation(final StatusBarAnimation animation) {
-        IosApplication._setStatusBarHiddenWithAnimation(true, animation.ordinal());
-    }
-
-
-    /**
-     * Gets the status bar style.
-     * @return one of the constants defined in {@linkplain StatusBarStyle}.
-     */
-    public StatusBarStyle getStatusBarStyle() {
-        return StatusBarStyle.values()[IosApplication._getStatusBarStyle()];
-    }
-
-    /**
-     * Sets the style of the application status bar,
-     * with the possibility to animate the change of the style.
-     * @param style         One of the styles defined in {@linkplain StatusBarStyle}.
-     * @param animated      <code>true</code> if the style change should be animated,
-     *                      <code>false</code> if the style change should be immediate.
-     */
-    public void setStatusBarStyleAnimated(final StatusBarStyle style, final boolean animated) {
-        IosApplication._setStatusBarStyleAnimated(style.ordinal(), animated);
-    }
-
-
-    /**
-     * Gets the status bar orientation.
-     * @return one of the constants defined in {@linkplain StatusBarOrientation}.
-     */
-    public StatusBarOrientation getStatusBarOrientation() {
-        return StatusBarOrientation.values()[IosApplication._getStatusBarOrientation() - 1];
-    }
-
-
-    /**
-     * Sets the orientation of the application's status bar,
-     * with the possibility to animate the transition to the new orientation.
-     *
-     * @param orientation   the status bar {@linkplain StatusBarOrientation orientation}.
-     *                      The default orientation is {@linkplain javafx.ext.ios.StatusBarOrientation#PORTRAIT}.
-     * @param animated      <code>true</code> if the orientation change should be animated,
-     *                      <code>false</code> if the orientation change should be immediate.
-     */
-    public void setStatusBarOrientationAnimated(final StatusBarOrientation orientation, final boolean animated) {
-        IosApplication._setStatusBarOrientationAnimated(orientation.value(), animated);
-    }
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSDevice.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.sensors;
-
-public class IOSDevice {
-
-    private static IOSDevice INSTANCE = null;
-
-    public static IOSDevice getCurrentDevice() {
-        synchronized (IOSDevice.class) {
-            if (INSTANCE == null) INSTANCE = new IOSDevice();
-            return INSTANCE;
-        }
-    }
-
-
-    public native void setProximityMonitoringEnabled(final boolean value);
-    public native boolean isProximityMonitoringEnabled();
-    public native boolean getProximityState();
-
-
-    public native void setBatteryMonitoringEnabled(final boolean value);
-    public native float getBatteryLevel();
-    public BatteryState getBatteryState() {
-        return BatteryState.values()[_getBatteryState()];
-    }
-    public native int _getBatteryState();
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSLocationManager.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.sensors;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class IOSLocationManager {
-
-    public interface HeadingListener {
-        void headingUpdated(
-            final double magneticHeading,
-            final double trueHeading,
-            final double magneticFieldX,
-            final double magneticFieldY,
-            final double magneticFieldZ);
-    }
-
-    public interface LocationListener {
-        void locationUpdated(
-            final double latitude,
-            final double longitude,
-            final double altitude,
-            final double course,
-            final double speed);
-    }
-
-    static {
-        _init();
-    }
-
-    private static native void _init();
-
-    public static native boolean isHeadingAvailable();
-
-
-    private static List<HeadingListener> headingListeners = new ArrayList<HeadingListener>();
-
-    public static void addHeadingListener(final HeadingListener headingListener) {
-        headingListeners.add(headingListener);
-    }
-
-    public static void removeHeadingListener(final HeadingListener headingListener) {
-        headingListeners.remove(headingListener);
-    }
-
-
-    private static List<LocationListener> locationListeners = new ArrayList<LocationListener>();
-
-    public static void addLocationListener(final LocationListener locationListener) {
-        locationListeners.add(locationListener);
-    }
-
-    public static void removeLocationListener(final LocationListener locationListener) {
-        locationListeners.remove(locationListener);
-    }
-
-
-    private static void didUpdateHeading(
-        final double magneticHeading,
-        final double trueHeading,
-        final double magneticFieldX,
-        final double magneticFieldY,
-        final double magneticFieldZ) {
-        for (HeadingListener headingListener : headingListeners) {
-            headingListener.headingUpdated(
-                magneticHeading,
-                trueHeading,
-                magneticFieldX,
-                magneticFieldY,
-                magneticFieldZ
-            );
-        }
-    }
-
-    private static void didUpdateLocation(
-        final double latitude,
-        final double longiude,
-        final double altitude,
-        final double course,
-        final double speed) {
-        for (LocationListener locationListener : locationListeners) {
-            locationListener.locationUpdated(
-                    latitude,
-                    longiude,
-                    altitude,
-                    course,
-                    speed
-            );
-        }
-    }
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/IOSMotionManager.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.sensors;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class IOSMotionManager {
-
-    public interface Listener {
-        void handleMotion(final float x, final float y, final float z);
-    }
-
-    static {
-        _init();
-    }
-
-    private static native void _init();
-
-    public static native boolean isAccelerometerAvailable();
-    public static native boolean isGyroAvailable();
-
-
-    private static List<Listener> accelerationListeners = new ArrayList<Listener>();
-    private static List<Listener> rotationListeners = new ArrayList<Listener>();
-
-    public static void addAccelerationListener(final Listener listener) {
-        accelerationListeners.add(listener);
-    }
-
-    public static void removeAccelerationListener(final Listener listener) {
-        accelerationListeners.remove(listener);
-    }
-
-    public static void addRotationListener(final Listener listener) {
-        rotationListeners.add(listener);
-    }
-
-    public static void removeRotationListener(final Listener listener) {
-        rotationListeners.remove(listener);
-    }
-
-
-    private static void didAccelerate(final float x, final float y, final float z) {
-        for (Listener listener : accelerationListeners) {
-            listener.handleMotion(x, y, z);
-        }
-    }
-
-    private static void didRotate(final float x, final float y, final float z) {
-        for (Listener listener : rotationListeners) {
-            listener.handleMotion(x, y, z);
-        }
-    }
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/StatusBarAnimation.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */package com.sun.javafx.ext.device.ios.sensors;
-
-public enum StatusBarAnimation {
-    /**
-     * No animation when the status bar is shown or hidden.
-     */
-    NONE,
-
-    /**
-     * Apply Fade In animation when the status bar is shown.
-     * Apply Fade Out animation when the status bar is hidden.
-     */
-    FADE,
-
-    /**
-     * Apply Slide In animation when the status bar is shown.
-     * Apply Slide Out animation when the status bar is hidden.
-     */
-    SLIDE,
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/StatusBarOrientation.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.sensors;
-
-/**
- * Status bar orientation.
- */
-public enum StatusBarOrientation {
-
-    /**
-     * The status bar is displayed on the "top" side for the current orientation.
-     */
-    PORTRAIT(1),
-
-    /**
-     * The status bar is displayed on the "bottom" side for the current orientation.
-     */
-    PORTRAIT_UPSIDE_DOWN(2),
-
-    /**
-     * The status bar is displayed on the "right" side for the current orientation.
-     */
-    LANDSCAPE_RIGHT(3),
-
-    /**
-     * The status bar is displayed on the "left" side for the current orientation.
-     */
-    LANDSCAPE_LEFT(4);
-
-
-    private final int value;
-
-    private StatusBarOrientation(int value) {
-        this.value = value;
-    }
-
-    /**
-     * Returns the numeric value for the status bar orientation.
-     * @return the numeric value for the status bar orientation.
-     */
-    public int value() { return value; }
-}
--- a/extensions/src/ios/java/com/sun/javafx/ext/device/ios/sensors/StatusBarStyle.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.ext.device.ios.sensors;
-
-
-/**
- * The style of the application status bar.
- */
-public enum StatusBarStyle {
-    /**
-     * The default status bar style (grey).
-     */
-    DEFAULT,
-
-    /**
-     * A black, translucent status bar style.
-     */
-    BLACK_TRANSLUCENT,
-
-    /**
-     * A black, opaque status bar style.
-     */
-    BLACK_OPAQUE
-}
--- a/extensions/src/ios/native-device/ios/MediaQuery.m	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#import "iPodAccess.h"
-
-
-static IPodAccess* ipa;
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_ipod_MediaQuery
- * Method:    nCreateQuery
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_ipod_MediaQuery_nCreateQuery
-(JNIEnv *env, jobject obj) {
-
-    ipa = [[IPodAccess alloc] init];
-    if (ipa) {
-        [ipa createQuery];
-    }
-}
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_ipod_MediaQuery
- * Method:    nAddNumberPredicate
- * Signature: (II)V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_ipod_MediaQuery_nAddNumberPredicate
-(JNIEnv *env, jobject obj, jint predicateKey, jint predicateValue) {
-
-    if (ipa) {
-        [ipa addNumberPredicateForKey: (int) predicateKey
-                                value: (int) predicateValue];
-    }
-}
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_ipod_MediaQuery
- * Method:    nAddStringPredicate
- * Signature: (ILjava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_ipod_MediaQuery_nAddStringPredicate
-(JNIEnv *env, jobject obj, jint predicateKey, jstring jsPredicateValue) {
-
-    if (ipa) {
-
-        const char *predicateNativeString = (*env)->GetStringUTFChars(env, jsPredicateValue, 0);
-        NSString *predicateValue = [NSString stringWithCString: predicateNativeString
-                                                      encoding: NSUTF8StringEncoding];
-        (*env)->ReleaseStringUTFChars(env, jsPredicateValue, predicateNativeString);
-
-        [ipa addStringPredicateForKey: (int) predicateKey
-                                value: predicateValue];
-    }
-}
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_ipod_MediaQuery
- * Method:    nSetGroupingType
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_ipod_MediaQuery_nSetGroupingType
-(JNIEnv *env, jobject obj, jint groupingType) {
-
-    if (ipa) {
-        [ipa setGroupingType: (int) groupingType];
-    }
-}
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_ipod_MediaQuery
- * Method:    nFillItemList
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_ipod_MediaQuery_nFillItemList
-(JNIEnv *env, jobject obj) {
-
-    if (ipa) {
-        [ipa fillItemListOfMediaQuery: obj jniEnv: env];
-    }
-}
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_ipod_MediaQuery
- * Method:    nFillCollections
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_ipod_MediaQuery_nFillCollections
-(JNIEnv *env, jobject obj) {
-
-    if (ipa) {
-        [ipa fillCollectionsOfMediaQuery: obj jniEnv: env];
-    }
-}
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_ipod_MediaQuery
- * Method:    nDisposeQuery
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_ipod_MediaQuery_nDisposeQuery
-(JNIEnv *env, jobject obj) {
-
-    if (ipa) {
-        [ipa disposeQuery];
-        [ipa release];
-    }
-}
-
--- a/extensions/src/ios/native-device/ios/SensorsSupport.h	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-#import <jni.h>
-
-extern jclass jIOSAccelerometerClass;
-extern jmethodID jIOSAccelerometerDidAccelerate;
-
--- a/extensions/src/ios/native-device/ios/SensorsSupport.m	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-#import <jni.h>
-#import <CoreMotion/CoreMotion.h>
-#import <CoreLocation/CoreLocation.h>
-#import <UIKit/UIKit.h>
-
-extern JNIEnv *jEnv;
-#define GET_MAIN_JENV \
-if (jEnv == NULL) NSLog(@"ERROR: Java has been detached already, but someone is still trying to use it at %s:%s:%d\n", __FUNCTION__, __FILE__, __LINE__);\
-JNIEnv *env = jEnv;
-
-
-jclass jIOSMotionManagerClass = NULL;
-jmethodID jIOSMotionManagerDidAccelerate = NULL;
-jmethodID jIOSMotionManagerDidRotate = NULL;
-
-jclass jIOSLocationManagerClass = NULL;
-jmethodID jIOSLocationManagerDidUpdateHeading = NULL;
-jmethodID jIOSLocationManagerDidUpdateLocation = NULL;
-
-CMMotionManager * motionManager = NULL;
-
-
-@interface MyCLLocationManagerDelegate : NSObject<CLLocationManagerDelegate>
-@end
-
-
-@implementation MyCLLocationManagerDelegate
-
-- (void)locationManager:(CLLocationManager *)manager
-       didUpdateHeading:(CLHeading *)newHeading
-{
-    GET_MAIN_JENV;
-        (*env)->CallStaticVoidMethod(
-        env,
-        jIOSLocationManagerClass,
-        jIOSLocationManagerDidUpdateHeading,
-
-        (jdouble)newHeading.magneticHeading ,
-        (jdouble)newHeading.trueHeading,
-        (jdouble)newHeading.x,
-        (jdouble)newHeading.y,
-        (jdouble)newHeading.z
-    );
-}
-
-
-- (void)locationManager:(CLLocationManager *)manager
-    didUpdateToLocation:(CLLocation *)newLocation
-    fromLocation:(CLLocation *)oldLocation
-{
-    GET_MAIN_JENV;
-        (*env)->CallStaticVoidMethod(
-        env,
-        jIOSLocationManagerClass,
-        jIOSLocationManagerDidUpdateLocation,
-
-        (jdouble)newLocation.coordinate.latitude,
-        (jdouble)newLocation.coordinate.longitude,
-        (jdouble)newLocation.altitude,
-        (jdouble)newLocation.course,
-        (jdouble)newLocation.speed
-    );
-}
-
-@end
-
-
-
-JNIEXPORT jboolean JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSMotionManager_isAccelerometerAvailable
-(JNIEnv *env, jclass jClass)
-{
-    return motionManager.accelerometerAvailable == YES ? JNI_TRUE : JNI_FALSE;
-}
-
-
-JNIEXPORT jboolean JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSMotionManager_isGyroAvailable
-(JNIEnv *env, jclass jClass)
-{
-    return motionManager.gyroAvailable == YES ? JNI_TRUE : JNI_FALSE;
-}
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_sensors_IOSMotionManager
- * Method:    _initIDs
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSMotionManager__1init
-(JNIEnv *env, jclass jClass)
-{
-    if (jIOSMotionManagerClass == NULL)
-    {
-        jIOSMotionManagerClass = (*env)->NewGlobalRef(env, jClass);
-    }
-
-    if (jIOSMotionManagerDidAccelerate == NULL)
-    {
-        jIOSMotionManagerDidAccelerate =
-            (*env)->GetStaticMethodID(
-                env, jIOSMotionManagerClass,
-                "didAccelerate", "(FFF)V");
-    }
-
-
-    if (jIOSMotionManagerDidRotate == NULL)
-    {
-        jIOSMotionManagerDidRotate =
-            (*env)->GetStaticMethodID(
-                env, jIOSMotionManagerClass,
-                "didRotate", "(FFF)V");
-    }
-
-
-    motionManager = [[CMMotionManager alloc] init];
-    if (motionManager.accelerometerAvailable)
-    {
-        if (motionManager.isAccelerometerActive == NO)
-        {
-            motionManager.accelerometerUpdateInterval = 0.05; // 20Hz
-            [motionManager startAccelerometerUpdates];
-            [motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue]
-                                                withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
-
-                const CMAcceleration acceleration = accelerometerData.acceleration;
-                GET_MAIN_JENV;
-                (*env)->CallStaticVoidMethod(
-                    env,
-                    jIOSMotionManagerClass,
-                    jIOSMotionManagerDidAccelerate,
-
-                    (jfloat)acceleration.x,
-                    (jfloat)acceleration.y,
-                    (jfloat)acceleration.z
-                );
-            }];
-        }
-    }
-
-
-    if (motionManager.isGyroAvailable)
-    {
-        /* Start the gyroscope if it is not active already */
-        if (motionManager.isGyroActive == NO)
-        {
-            motionManager.gyroUpdateInterval = 0.1f;
-
-            [motionManager startGyroUpdatesToQueue:[NSOperationQueue mainQueue]
-                                       withHandler:^(CMGyroData *gyroData, NSError *error)
-            {
-                GET_MAIN_JENV;
-                const CMRotationRate rotationRate = gyroData.rotationRate;
-                (*env)->CallStaticVoidMethod(
-                    env,
-                    jIOSMotionManagerClass,
-                    jIOSMotionManagerDidRotate,
-
-                    (jfloat)rotationRate.x ,
-                    (jfloat)rotationRate.y,
-                    (jfloat)rotationRate.z
-                );
-            }];
-        }
-        else NSLog(@"Gyro is already active");
-    }
-    else NSLog(@"Gyro not available!");
-}
-
-
-
-JNIEXPORT jboolean JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSLocationManager_isHeadingAvailable
-(JNIEnv *env, jclass jClass)
-{
-    return [CLLocationManager headingAvailable] == YES ? JNI_TRUE : JNI_FALSE;
-}
-
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_sensors_IOSLocationManager
- * Method:    _init
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSLocationManager__1init
-(JNIEnv *env, jclass jClass)
-{
-    if (jIOSLocationManagerClass == NULL)
-    {
-        jIOSLocationManagerClass = (*env)->NewGlobalRef(env, jClass);
-    }
-
-    if (jIOSLocationManagerDidUpdateHeading == NULL)
-    {
-        jIOSLocationManagerDidUpdateHeading =
-            (*env)->GetStaticMethodID(
-                env, jIOSLocationManagerClass,
-                "didUpdateHeading", "(DDDDD)V");
-    }
-
-    if (jIOSLocationManagerDidUpdateLocation == NULL)
-    {
-        jIOSLocationManagerDidUpdateLocation =
-            (*env)->GetStaticMethodID(
-                env, jIOSLocationManagerClass,
-                "didUpdateLocation", "(DDDDD)V");
-    }
-
-    CLLocationManager *const locationManager = [[CLLocationManager alloc] init];
-    locationManager.delegate = [[MyCLLocationManagerDelegate alloc] init];
-
-    if ([CLLocationManager headingAvailable]) {
-        locationManager.headingFilter = 5; //degrees
-        [locationManager startUpdatingHeading];
-    }
-    if ([CLLocationManager locationServicesEnabled]) {
-        locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
-        locationManager.distanceFilter = 10;
-        [locationManager startUpdatingLocation];
-    }
-}
-
-
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_sensors_IOSDevice
- * Method:    setProximityMonitoringEnabled
- * Signature: (Z)V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSDevice_setProximityMonitoringEnabled
-(JNIEnv *env, jobject jObject, jboolean value)
-{
-    [UIDevice currentDevice].proximityMonitoringEnabled = value == JNI_TRUE ? YES : NO;
-}
-
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_sensors_IOSDevice
- * Method:    isProximityMonitoringEnabled
- * Signature: (V)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSDevice_isProximityMonitoringEnabled
-(JNIEnv *env, jobject jObject)
-{
-    return [UIDevice currentDevice].proximityMonitoringEnabled == YES ? JNI_TRUE : JNI_FALSE;
-}
-
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_sensors_IOSDevice
- * Method:    getProximityState
- * Signature: (V)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSDevice_getProximityState
-(JNIEnv *env, jobject jObject)
-{
-    return [UIDevice currentDevice].proximityState == YES ? JNI_TRUE : JNI_FALSE;
-}
-
-
-
-/*
- * Class:     com_sun_javafx_ext_device_ios_sensors_IOSDevice
- * Method:    setBatteryMonitoringEnabled
- * Signature: (Z)V
- */
-JNIEXPORT void JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSDevice_setBatteryMonitoringEnabled
-(JNIEnv *env, jobject jObject, jboolean value)
-{
-    [UIDevice currentDevice].batteryMonitoringEnabled = value == JNI_TRUE ? YES : NO;
-}
-
-
-JNIEXPORT jfloat JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSDevice_getBatteryLevel
-(JNIEnv *env, jobject jObject)
-{
-    return [UIDevice currentDevice].batteryLevel;
-}
-
-JNIEXPORT jint JNICALL Java_com_sun_javafx_ext_device_ios_sensors_IOSDevice__1getBatteryState
-(JNIEnv *env, jobject jObject)
-{
-    return [UIDevice currentDevice].batteryState;
-}
--- a/extensions/src/ios/native-device/ios/iPodAccess.h	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#import <Foundation/Foundation.h>
-#import <MediaPlayer/MediaPlayer.h>
-
-#include "jni.h"
-
-
-#define CLASS_MEDIA_ITEM    "com/sun/javafx/ext/device/ios/ipod/MediaItem"
-
-
-@interface IPodAccess : NSObject {
-
-    @private
-
-    MPMediaQuery* query;
-
-}
-
-@property (retain) MPMediaQuery *query;
-
-
-- (void) createQuery;
-
-- (void) addNumberPredicateForKey: (int) predicateKey
-                            value: (int) predicateValue;
-
-- (void) addStringPredicateForKey: (int) predicateKey
-                            value: (NSString *) predicateValue;
-
-- (void) fillItemListOfMediaQuery: (jobject) obj
-                           jniEnv: (JNIEnv *) env;
-
-- (void) fillCollectionsOfMediaQuery: (jobject) obj
-                              jniEnv: (JNIEnv *) env;
-
-- (void) setGroupingType: (int) type;
-
-
-- (void) disposeQuery;
-
-
-@end
--- a/extensions/src/ios/native-device/ios/iPodAccess.m	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,377 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#import "iPodAccess.h"
-
-@implementation IPodAccess
-
-
-@synthesize query;
-
-
-static NSDictionary *dictPredicateKeys;
-static NSDictionary *dictGroupingKeys;
-
-// initialize static immutable look-up tables that associates Java predicate keys to
-// MPMediaProperty strings and Java grouping types to MPMediaGrouping
-
-// dictionary values must correspond to their Java counterparts!
-
-+ (void) initialize {
-
-    // we need to initialize the dictionary exactly once
-    if (self == [IPodAccess class]) {
-
-        dictPredicateKeys = [[NSDictionary alloc] initWithObjectsAndKeys:
-
-                             MPMediaItemPropertyMediaType, [NSNumber numberWithInt: 0],
-                             MPMediaItemPropertyTitle, [NSNumber numberWithInt: 1],
-                             MPMediaItemPropertyAlbumTitle, [NSNumber numberWithInt: 2],
-                             MPMediaItemPropertyArtist, [NSNumber numberWithInt: 3],
-                             MPMediaItemPropertyAlbumArtist, [NSNumber numberWithInt: 4],
-                             MPMediaItemPropertyGenre, [NSNumber numberWithInt: 5],
-                             MPMediaItemPropertyComposer, [NSNumber numberWithInt: 6],
-                             MPMediaItemPropertyIsCompilation, [NSNumber numberWithInt: 7],
-                             nil];
-
-        // probably replace this table with a trivial switch/case/case... statement
-        dictGroupingKeys = [[NSDictionary alloc] initWithObjectsAndKeys:
-
-                            [NSNumber numberWithInt: MPMediaGroupingTitle], [NSNumber numberWithInt: 0],
-                            [NSNumber numberWithInt: MPMediaGroupingAlbum], [NSNumber numberWithInt: 1],
-                            [NSNumber numberWithInt: MPMediaGroupingArtist], [NSNumber numberWithInt: 2],
-                            [NSNumber numberWithInt: MPMediaGroupingAlbumArtist], [NSNumber numberWithInt: 3],
-                            [NSNumber numberWithInt: MPMediaGroupingComposer], [NSNumber numberWithInt: 4],
-                            [NSNumber numberWithInt: MPMediaGroupingGenre], [NSNumber numberWithInt: 5],
-                            [NSNumber numberWithInt: MPMediaGroupingPlaylist], [NSNumber numberWithInt: 6],
-                            [NSNumber numberWithInt: MPMediaGroupingPodcastTitle], [NSNumber numberWithInt: 7],
-                            nil];
-    }
-}
-
-// instance methods
-
-- (id) init {
-    self = [super init];
-    return self;
-}
-
-- (void) createQuery {
-    MPMediaQuery* newQuery = [[MPMediaQuery alloc] init];
-    [self setQuery: newQuery];
-}
-
-- (NSString *) predicateKeyToMediaItemProperty: (int) predicateKey {
-    NSNumber *key = [NSNumber numberWithInt: predicateKey];
-    return (NSString *) [dictPredicateKeys objectForKey: key];
-}
-
-- (MPMediaGrouping) groupingKeyToMediaGrouping: (int) groupingKey {
-    NSNumber *key = [NSNumber numberWithInt: groupingKey];
-    NSNumber *value = (NSNumber *) [dictGroupingKeys objectForKey: key];
-
-    return [value integerValue];
-}
-
-- (void) addNumberPredicateForKey: (int) predicateKey
-                            value: (int) predicateValue {
-    NSString *propertyName = [self predicateKeyToMediaItemProperty: predicateKey];
-    NSNumber *propertyValue = [NSNumber numberWithInt: predicateValue];
-
-    MPMediaPropertyPredicate *predicate =
-    [MPMediaPropertyPredicate predicateWithValue: propertyValue
-                                     forProperty: propertyName];
-
-    [[self query] addFilterPredicate: predicate];
-}
-
-- (void) addStringPredicateForKey: (int) predicateKey
-                            value: (NSString *) predicateValue {
-    NSString *propertyName = [self predicateKeyToMediaItemProperty: predicateKey];
-
-    MPMediaPropertyPredicate *predicate =
-    [MPMediaPropertyPredicate predicateWithValue: predicateValue
-                                     forProperty: propertyName];
-
-    [[self query] addFilterPredicate: predicate];
-}
-
-- (jstring) createJavaString: (NSString *) nsString
-                      JNIEnv: (JNIEnv *) env {
-    const char *cString = [nsString UTF8String];
-    return (jstring) (*env)->NewStringUTF(env, cString);
-}
-
-- (jstring) javaStringForProperty: (NSString *) propertyName
-                        MediaItem: (MPMediaItem *) item
-                           JNIEnv: (JNIEnv *) env {
-    NSString* nsString = (NSString *) [item valueForProperty: propertyName];
-    return [self createJavaString: nsString
-                           JNIEnv: env];
-}
-
-// note: method IDs should be created outside of this method so that it's not repeated over and over
-- (jobject) createDate: (NSDate *) date
-                JNIEnv: (JNIEnv *) env {
-
-    jclass calendarClass = (*env)->FindClass(env, "java/util/GregorianCalendar");
-    jmethodID constructorID = (*env)->GetMethodID(env, calendarClass, "<init>", "(III)V");
-
-    NSDateComponents *components = [[NSCalendar currentCalendar]
-                                    components: NSDayCalendarUnit |
-                                                NSMonthCalendarUnit |
-                                                NSYearCalendarUnit
-                                    fromDate: date];
-
-    jint day = (jint) [components day];
-    // Java Calendar counts months from zero!
-    jint month = (jint) ([components month] - 1);
-    jint year = (jint) [components year];
-
-    jobject jDate = (*env)->NewObject(env, calendarClass, constructorID, year, month, day);
-
-    (*env)->DeleteLocalRef(env, calendarClass);
-
-    return jDate;
-}
-
-// note: method IDs should be created outside of this method so that it's not repeated over and over
-- (jobject) createDuration: (NSNumber *) seconds
-                    JNIEnv: (JNIEnv *) env {
-    jclass durationClass = (*env)->FindClass(env, "javafx/util/Duration");
-    jmethodID constructorID = (*env)->GetMethodID(env, durationClass, "<init>", "(D)V");
-
-    double millis = 1000.0 * [seconds doubleValue];
-    jobject jDuration = (*env)->NewObject(env, durationClass, constructorID, (jdouble) millis);
-
-    (*env)->DeleteLocalRef(env, durationClass);
-
-    return jDuration;
-}
-
-// note: get all the method IDs outside of this method, so that it's not repeated for every media item
-- (jobject) createMediaItem: (MPMediaItem *) item
-                     JNIEnv: (JNIEnv *) env {
-    jclass classMediaItem = (*env)->FindClass(env, CLASS_MEDIA_ITEM);
-    jobject refMediaItem = (*env)->NewGlobalRef(env, classMediaItem);
-    jmethodID midConstructor = (*env)->GetMethodID(env, refMediaItem, "<init>", "()V");
-    jobject objMediaItem = (*env)->NewObject(env, refMediaItem, midConstructor);
-
-    // set playback duration (Duration)
-    jmethodID midSetPlaybackDuration = (*env)->GetMethodID(env, refMediaItem, "setPlaybackDuration", "(Ljavafx/util/Duration;)V");
-    NSNumber *nsDuration = (NSNumber *) [item valueForProperty: MPMediaItemPropertyPlaybackDuration];
-    jobject jDuration = [self createDuration: nsDuration JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetPlaybackDuration, jDuration);
-
-    // set release date (Date)
-    jmethodID midSetReleaseDate = (*env)->GetMethodID(env, refMediaItem, "setReleaseDate", "(Ljava/util/Calendar;)V");
-    NSDate *nsDate = (NSDate *) [item valueForProperty: MPMediaItemPropertyReleaseDate];
-    if (nsDate != nil) {
-        jobject jDate = [self createDate: nsDate JNIEnv: env];
-        (*env)->CallVoidMethod(env, objMediaItem, midSetReleaseDate, jDate);
-    }
-    // set album track number (int)
-    jmethodID midSetAlbumTrackNumber = (*env)->GetMethodID(env, refMediaItem, "setAlbumTrackNumber", "(I)V");
-    NSNumber *nsAlbumTrackNumber = (NSNumber *) [item valueForProperty: MPMediaItemPropertyAlbumTrackNumber];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetAlbumTrackNumber, (jint) [nsAlbumTrackNumber intValue]);
-    // set album track count (int)
-    jmethodID midSetAlbumTrackCount = (*env)->GetMethodID(env, refMediaItem, "setAlbumTrackCount", "(I)V");
-    NSNumber *nsAlbumTrackCount = (NSNumber *) [item valueForProperty: MPMediaItemPropertyAlbumTrackCount];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetAlbumTrackCount, (jint) [nsAlbumTrackCount intValue]);
-    // set disc number (int)
-    jmethodID midSetDiscNumber = (*env)->GetMethodID(env, refMediaItem, "setDiscNumber", "(I)V");
-    NSNumber *nsDiscNumber = (NSNumber *) [item valueForProperty: MPMediaItemPropertyDiscNumber];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetDiscNumber, (jint) [nsDiscNumber intValue]);
-    // set disc count (int)
-    jmethodID midSetDiscCount = (*env)->GetMethodID(env, refMediaItem, "setDiscCount", "(I)V");
-    NSNumber *nsDiscCount = (NSNumber *) [item valueForProperty: MPMediaItemPropertyDiscCount];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetDiscCount, (jint) [nsDiscCount intValue]);
-    // set BPM (int)
-    jmethodID midSetBPM = (*env)->GetMethodID(env, refMediaItem, "setBeatsPerMinute", "(I)V");
-    NSNumber *nsBPM = (NSNumber *) [item valueForProperty: MPMediaItemPropertyBeatsPerMinute];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetBPM, (jint) [nsBPM intValue]);
-    // set Is Compilation (boolean)
-    jmethodID midSetIsCompilation = (*env)->GetMethodID(env, refMediaItem, "setIsCompilation", "(Z)V");
-    NSNumber *nsIsCompilation = (NSNumber *) [item valueForProperty: MPMediaItemPropertyIsCompilation];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetIsCompilation, (jboolean) [nsIsCompilation boolValue]);
-    // set title (String)
-    jmethodID midSetTitle = (*env)->GetMethodID(env, refMediaItem, "setTitle", "(Ljava/lang/String;)V");
-    jstring jTitle = [self javaStringForProperty: MPMediaItemPropertyTitle MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetTitle, jTitle);
-    // set album title (String)
-    jmethodID midSetAlbumTitle = (*env)->GetMethodID(env, refMediaItem, "setAlbumTitle", "(Ljava/lang/String;)V");
-    jstring jAlbumTitle = [self javaStringForProperty: MPMediaItemPropertyAlbumTitle MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetAlbumTitle, jAlbumTitle);
-    // set artist (String)
-    jmethodID midSetArtist = (*env)->GetMethodID(env, refMediaItem, "setArtist", "(Ljava/lang/String;)V");
-    jstring jArtist = [self javaStringForProperty: MPMediaItemPropertyArtist MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetArtist, jArtist);
-    // set album artist (String)
-    jmethodID midSetAlbumArtist = (*env)->GetMethodID(env, refMediaItem, "setAlbumArtist", "(Ljava/lang/String;)V");
-    jstring jAlbumArtist = [self javaStringForProperty: MPMediaItemPropertyAlbumArtist MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetAlbumArtist, jAlbumArtist);
-    // set genre (String)
-    jmethodID midSetGenre = (*env)->GetMethodID(env, refMediaItem, "setGenre", "(Ljava/lang/String;)V");
-    jstring jGenre = [self javaStringForProperty: MPMediaItemPropertyGenre MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetGenre, jGenre);
-    // set composer (String)
-    jmethodID midSetComposer = (*env)->GetMethodID(env, refMediaItem, "setComposer", "(Ljava/lang/String;)V");
-    jstring jComposer = [self javaStringForProperty: MPMediaItemPropertyComposer MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetComposer, jComposer);
-    // set lyrics (String)
-    jmethodID midSetLyrics = (*env)->GetMethodID(env, refMediaItem, "setLyrics", "(Ljava/lang/String;)V");
-    jstring jLyrics = [self javaStringForProperty: MPMediaItemPropertyLyrics MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetLyrics, jLyrics);
-    // set comments (String)
-    jmethodID midSetComments = (*env)->GetMethodID(env, refMediaItem, "setComments", "(Ljava/lang/String;)V");
-    jstring jComments = [self javaStringForProperty: MPMediaItemPropertyComments MediaItem: item JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetComments, jComments);
-    // set URL (String)
-    jmethodID midSetURL = (*env)->GetMethodID(env, refMediaItem, "setURL", "(Ljava/lang/String;)V");
-    NSURL *nsURL = (NSURL *) [item valueForProperty: MPMediaItemPropertyAssetURL];
-    jstring jURL = [self createJavaString: [nsURL absoluteString] JNIEnv: env];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetURL, jURL);
-    // set media type (int)
-    jmethodID midSetMediaType = (*env)->GetMethodID(env, refMediaItem, "setMediaType", "(I)V");
-    NSNumber *nsMediaType = (NSNumber *) [item valueForProperty: MPMediaItemPropertyMediaType];
-    (*env)->CallVoidMethod(env, objMediaItem, midSetMediaType, (jint) [nsMediaType intValue]);
-    // cleanup
-    (*env)->DeleteGlobalRef(env, refMediaItem);
-    (*env)->DeleteLocalRef(env, classMediaItem);
-    return objMediaItem;
-}
-
-- (void) fillItemListOfMediaQuery: (jobject) obj
-                           jniEnv: (JNIEnv *) env {
-    NSArray *items = [[self query] items];
-
-    if ([items count] != 0) {
-
-        // note: this can be done in the constructor, let's not waste time here
-        jobject jMediaQuery = (*env)->NewGlobalRef(env, obj);
-        jclass klass = (*env)->GetObjectClass(env, obj);
-
-        jmethodID midAddMediaItem = (*env)->GetMethodID(env,
-                                                        klass,
-                                                        "addMediaItem",
-                                                        "(Lcom/sun/javafx/ext/device/ios/ipod/MediaItem;)V");
-
-        NSEnumerator *enumerator = [items objectEnumerator];
-
-        id item;
-        while (item = [enumerator nextObject]) {
-            jobject newMediaItem = [self createMediaItem: (MPMediaItem *) item
-                                                  JNIEnv: env];
-            (*env)->CallVoidMethod(env,
-                                   jMediaQuery,
-                                   midAddMediaItem,
-                                   newMediaItem);
-        }
-        (*env)->DeleteLocalRef(env, klass);
-        (*env)->DeleteGlobalRef(env, jMediaQuery);
-    }
-}
-
-- (jobject) createJavaListWithEnv: (JNIEnv *) env {
-    jclass listClass = (*env)->FindClass(env, "java/util/LinkedList");
-        jmethodID constructorID = (*env)->GetMethodID(env, listClass, "<init>", "()V");
-
-        jobject jList = (*env)->NewObject(env, listClass, constructorID);
-
-        (*env)->DeleteLocalRef(env, listClass);
-
-    return jList;
-}
-
-- (void) addItemToList: (jobject) item
-                  list: (jobject) list
-                JNIEnv: (JNIEnv *) env {
-
-    jclass klass = (*env)->GetObjectClass(env, list);
-
-    // note: initialize all method IDs at startup
-    jmethodID midAddToList = (*env)->GetMethodID(env,
-                                                 klass,
-                                                 "add",
-                                                 "(Ljava/lang/Object;)Z");
-
-    (*env)->CallVoidMethod(env,
-                           list,
-                           midAddToList,
-                           item);
-
-}
-
-- (void) fillCollectionsOfMediaQuery: (jobject) obj
-                              jniEnv: (JNIEnv *) env {
-    NSArray *collections = [[self query] collections];
-
-    if ([collections count] != 0) {
-
-        // note: this can be done in the constructor, ..
-        jobject jMediaQuery = (*env)->NewGlobalRef(env, obj);
-        jclass klass = (*env)->GetObjectClass(env, obj);
-
-        jmethodID midAddCollection = (*env)->GetMethodID(env,
-                                                         klass,
-                                                         "addCollection",
-                                                         "(Ljava/util/List;)V");
-
-        for (MPMediaItemCollection *collection in collections) {
-
-            jobject list = [self createJavaListWithEnv: env];
-            NSArray *items = [collection items];
-
-            for (MPMediaItem *item in items) {
-                jobject newMediaItem = [self createMediaItem: item
-                                                      JNIEnv: env];
-                [self addItemToList: newMediaItem
-                               list: list
-                             JNIEnv: env];
-            }
-
-            (*env)->CallVoidMethod(env,
-                                   jMediaQuery,
-                                   midAddCollection,
-                                   list);
-        }
-
-        (*env)->DeleteLocalRef(env, klass);
-        (*env)->DeleteGlobalRef(env, jMediaQuery);
-
-    }
-}
-
-- (void) setGroupingType: (int) type {
-    MPMediaGrouping groupingType = [self groupingKeyToMediaGrouping: type];
-    [[self query] setGroupingType: groupingType];
-}
-
-- (void) disposeQuery {
-    [[self query] release];
-}
-
-
-@end
--- a/tools/ios/Maven/NetBeansMobileCenter/pom.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.netbeans.ios</groupId>
-    <artifactId>mobile-center</artifactId>
-    <version>0.6-SNAPSHOT</version>
-    <parent>
-        <groupId>org.netbeans.ios</groupId>
-        <artifactId>Maven</artifactId>
-        <version>0.6-SNAPSHOT</version>
-    </parent>
-    <packaging>jar</packaging>
-
-    <name>NetBeansMobileCenter</name>
-    <url>http://maven.apache.org</url>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.3.2</version>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>com.oracle</groupId>
-            <artifactId>javafx</artifactId>
-            <version>8.0</version>
-            <scope>system</scope>
-            <systemPath>${jfxrt.jar}</systemPath>
-        </dependency>
-    </dependencies>
-   <profiles>
-      <profile>
-          <id>jdk8</id>
-          <activation>
-              <file>
-                  <exists>${java.home}/lib/ext/jfxrt.jar</exists>
-              </file>
-          </activation>
-          <properties>
-            <jfxrt.jar>${java.home}/lib/ext/jfxrt.jar</jfxrt.jar>
-          </properties>
-      </profile>
-      <profile>
-          <id>jdk7</id>
-          <activation>
-              <file>
-                  <exists>${java.home}/lib/jfxrt.jar</exists>
-              </file>
-          </activation>
-          <properties>
-            <jfxrt.jar>${java.home}/lib/jfxrt.jar</jfxrt.jar>
-          </properties>
-      </profile>
-  </profiles>
-</project>
--- a/tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/appmanager/BootstrapApplication.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.appmanager;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.util.concurrent.CountDownLatch;
-import javafx.application.Application;
-import javafx.application.Platform;
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.scene.control.Label;
-import javafx.scene.control.TextArea;
-import javafx.scene.layout.BorderPane;
-import javafx.scene.text.Font;
-import javafx.stage.Stage;
-
-public final class BootstrapApplication extends Application {
-    private static final CountDownLatch appStartedLatch =
-            new CountDownLatch(1);
-
-    @Override
-    public void start(final Stage primaryStage) {
-//        Platform.setImplicitExit(false);
-        final BorderPane root = new BorderPane();
-        root.setCenter(new Label("Mobile Center"));
-        root.setBottom(createOutputArea());
-
-        primaryStage.setTitle("Mobile Center");
-        primaryStage.setScene(new Scene(root));
-        primaryStage.show();
-
-        appStartedLatch.countDown();
-    }
-
-    public static void waitForStart() throws InterruptedException {
-        appStartedLatch.await();
-    }
-
-    private static Node createOutputArea() {
-        final TextArea textArea = new TextArea();
-        textArea.setPrefColumnCount(80);
-        textArea.setPrefRowCount(25);
-        textArea.setEditable(false);
-        textArea.setFont(Font.font("Monospaced"));
-        textArea.setWrapText(true);
-
-        final OutputStream textAreaStream = new TextAreaStream(textArea);
-        System.setOut(new PrintStream(textAreaStream, true));
-        System.setErr(new PrintStream(textAreaStream, true));
-
-        return textArea;
-    }
-
-    private static final class TextAreaStream extends OutputStream
-                                              implements Runnable {
-        private final TextArea textArea;
-        private final ByteArrayOutputStream byteBuffer;
-        private final StringBuilder textToAppend;
-
-        public TextAreaStream(final TextArea textArea) {
-            this.textArea = textArea;
-            this.byteBuffer = new ByteArrayOutputStream();
-            this.textToAppend = new StringBuilder();
-        }
-
-        @Override
-        public void write(final int value) {
-            synchronized (byteBuffer) {
-                byteBuffer.write(value);
-            }
-        }
-
-        @Override
-        public void write(final byte buffer[], final int offset,
-                          final int length) {
-            synchronized (byteBuffer) {
-                byteBuffer.write(buffer, offset, length);
-            }
-        }
-
-        @Override
-        public synchronized void flush() throws IOException {
-            final byte[] bytes;
-            synchronized (byteBuffer) {
-                byteBuffer.flush();
-                if (byteBuffer.size() == 0) {
-                    return;
-                }
-
-                bytes = byteBuffer.toByteArray();
-                byteBuffer.reset();
-            }
-
-            synchronized (textToAppend) {
-                if (textToAppend.length() == 0) {
-                    // no flush has been schedulet yet
-                    Platform.runLater(this);
-                }
-
-                textToAppend.append(new String(bytes));
-            }
-        }
-
-        @Override
-        public void run() {
-            final String newText;
-            synchronized (textToAppend) {
-                newText = textToAppend.toString();
-                textToAppend.setLength(0);
-            }
-
-            textArea.appendText(newText);
-        }
-    }
-}
--- a/tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/appmanager/FxApplicationInstance.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.appmanager;
-
-public interface FxApplicationInstance {
-    void stop();
-}
--- a/tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/appmanager/FxApplicationManager.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.appmanager;
-
-import com.sun.javafx.stage.WindowManager;
-import javafx.application.Application;
-import javafx.application.Platform;
-import javafx.stage.Stage;
-import com.sun.javafx.stage.StageHelper;
-
-public final class FxApplicationManager {
-    private static FxApplicationManager instance;
-
-    public static synchronized FxApplicationManager getInstance() {
-        if (instance == null) {
-            initializePlatform();
-            instance = new FxApplicationManager();
-        }
-
-        return instance;
-    }
-
-    public FxApplicationInstance start(
-            final ClassLoader appClassLoader,
-            final String appClass) throws Exception {
-        final Application application =
-                createFxApplication(appClassLoader, appClass);
-        application.init();
-
-        final StartAction startAction =
-                new StartAction(appClassLoader, application);
-        Platform.runLater(startAction);
-
-        return startAction.getResult();
-    }
-
-    private static void initializePlatform() {
-        final ThreadGroup fxPlatformThreadGroup =
-                new ThreadGroup(getTopLevelThreadGroup(), "FX Platform");
-        new Thread(fxPlatformThreadGroup, "FX Platform") {
-            @Override
-            public void run() {
-                Application.launch(BootstrapApplication.class);
-            }
-        }.start();
-        try {
-            BootstrapApplication.waitForStart();
-        } catch (final InterruptedException e) {
-            // ignore
-        }
-    }
-
-    private static Application createFxApplication(
-            final ClassLoader appClassLoader,
-            final String appClassName) throws ClassNotFoundException,
-                                              InstantiationException,
-                                              IllegalAccessException {
-        final Class<?> appClass = appClassLoader.loadClass(appClassName);
-        if (!Application.class.isAssignableFrom(appClass)) {
-            throw new ClassNotFoundException("FX application class not found");
-        }
-
-        return ((Class<Application>) appClass).newInstance();
-    }
-
-    private static ThreadGroup getTopLevelThreadGroup() {
-        ThreadGroup threadGroup = Thread.currentThread().getThreadGroup();
-        while (threadGroup.getParent() != null) {
-            threadGroup = threadGroup.getParent();
-        }
-
-        return threadGroup;
-    }
-
-    private static final class AppInstanceImpl
-            implements FxApplicationInstance {
-        private final ClassLoader appClassLoader;
-        private final Application application;
-
-        public AppInstanceImpl(final ClassLoader appClassLoader,
-                               final Application application) {
-            this.appClassLoader = appClassLoader;
-            this.application = application;
-        }
-
-        @Override
-        public void stop() {
-            final StopAction stopAction = new StopAction(appClassLoader,
-                                                         application);
-
-            Platform.runLater(stopAction);
-            try {
-                stopAction.waitForCompletion();
-            } catch (final InterruptedException e) {
-                // ignore
-            }
-        }
-    }
-
-    private static final class StartAction implements Runnable {
-        private final ClassLoader appClassLoader;
-        private final Application application;
-
-        private Exception exception;
-        private FxApplicationInstance result;
-
-        public StartAction(final ClassLoader appClassLoader,
-                           final Application application) {
-            this.appClassLoader = appClassLoader;
-            this.application = application;
-        }
-
-        @Override
-        public void run() {
-            final Thread currentThread = Thread.currentThread();
-            final ClassLoader oldContextClassLoader =
-                    currentThread.getContextClassLoader();
-
-            currentThread.setContextClassLoader(appClassLoader);
-            try {
-                try {
-                    final Stage appPrimaryStage = new Stage();
-                    StageHelper.setPrimary(appPrimaryStage, true);
-                    application.start(appPrimaryStage);
-                } finally {
-                    currentThread.setContextClassLoader(oldContextClassLoader);
-                }
-            } catch (final Exception e) {
-                synchronized (this) {
-                    exception = e;
-                    notifyAll();
-                }
-                return;
-            }
-
-            synchronized (this) {
-                result = new AppInstanceImpl(appClassLoader, application);
-                notifyAll();
-            }
-        }
-
-        public synchronized FxApplicationInstance getResult() throws Exception {
-            while (result == null) {
-                if (exception != null) {
-                    throw exception;
-                }
-
-                wait();
-            }
-
-            return result;
-        }
-    }
-
-    private static final class StopAction implements Runnable {
-        private final ClassLoader appClassLoader;
-        private final Application application;
-
-        private boolean finished;
-
-        public StopAction(final ClassLoader appClassLoader,
-                          final Application application) {
-            this.appClassLoader = appClassLoader;
-            this.application = application;
-        }
-
-        @Override
-        public void run() {
-            try {
-                WindowManager.closeApplicationWindows(appClassLoader);
-                try {
-                    application.stop();
-                } catch (final Exception e) {
-                }
-            } finally {
-                synchronized (this) {
-                    finished = true;
-                    notifyAll();
-                }
-            }
-        }
-
-        public synchronized void waitForCompletion()
-                throws InterruptedException {
-            while (!finished) {
-                wait();
-            }
-        }
-    }
-}
--- a/tools/ios/Maven/NetBeansMobileCenter/src/main/java/com/sun/javafx/stage/WindowManager.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.stage;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import javafx.stage.Stage;
-import javafx.stage.Window;
-
-public final class WindowManager {
-    private WindowManager() {
-    }
-
-    public static void closeApplicationWindows(
-            final ClassLoader appClassLoader) {
-        final List<Window> selectedWindows = new ArrayList<Window>();
-        for (Window window : Window.getWindows()) {
-            if (matches(window, appClassLoader)) {
-                selectedWindows.add(window);
-            }
-        }
-
-        for (int i = selectedWindows.size() - 1; i >= 0; --i) {
-            selectedWindows.get(i).hide();
-        }
-    }
-
-    private static boolean matches(final Window window,
-                                   final ClassLoader appClassLoader) {
-        // hack to be used until context class loader association with FX
-        // windows is pushed to JavaFX codebase
-        if (window instanceof Stage) {
-            return !"Mobile Center".equals(((Stage) window).getTitle());
-        }
-
-        return true;
-
-        /*
-        return isEqualToOrAncestorOf(
-                   appClassLoader,
-                   WindowHelper.getContextClassLoader(window));
-         */
-    }
-
-    /*
-    private static boolean isEqualToOrAncestorOf(
-            final ClassLoader fixedClassLoader,
-            ClassLoader testedClassLoader) {
-        if (fixedClassLoader == null) {
-            return true;
-        }
-
-        while (testedClassLoader != null) {
-            if (fixedClassLoader == testedClassLoader) {
-                return true;
-            }
-            testedClassLoader = testedClassLoader.getParent();
-        }
-
-        return false;
-    }
-     */
-}
--- a/tools/ios/Maven/NetBeansMobileCenter/src/main/java/org/netbeans/mobilecenter/BackgroundService.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package org.netbeans.mobilecenter;
-
-import com.sun.javafx.appmanager.FxApplicationInstance;
-import com.sun.javafx.appmanager.FxApplicationManager;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.lang.reflect.Method;
-import java.net.DatagramPacket;
-import java.net.InetAddress;
-import java.net.MulticastSocket;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Enumeration;
-import java.util.jar.Manifest;
-
-final class BackgroundService {
-
-    public static final String GROUP_ADDRESS = "225.10.10.0";
-    public static final int PORT = 44445;
-    public static final int PORT_FILE = 44446;
-    public static final int PACKET_LENGTH = 1024;
-    public static final String MULTICAST_DISCOVERY = "NetBeansMulticastDiscovery";
-
-    private ThreadGroup threadGroup;
-
-    public void loop() {
-        boolean firstRun = true;
-        try (MulticastSocket socket = new MulticastSocket(PORT)) {
-            InetAddress group = InetAddress.getByName(GROUP_ADDRESS);
-            socket.joinGroup(group);
-
-            while (true) {
-                String appJarPath = null;
-
-                if (!firstRun) {
-                    DatagramPacket packet;
-                    byte[] buf = new byte[PACKET_LENGTH];
-                    packet = new DatagramPacket(buf, buf.length);
-                    socket.receive(packet);
-
-                    String received = new String(packet.getData());
-                    if (!received.trim().equals(MULTICAST_DISCOVERY)) {
-                        break;
-                    }
-
-                    buf = String.valueOf(PORT_FILE).getBytes();
-                    packet = new DatagramPacket(buf, buf.length, packet.getSocketAddress());
-                    socket.send(packet);
-                    appJarPath = receiveFile();
-                } else {
-                    firstRun = false;
-                }
-
-                final String filePath = appJarPath;
-                stopThreadGroup();
-                threadGroup = new ThreadGroup("Mobile Center Group");
-                synchronized (threadGroup) {
-                    new Thread(threadGroup, new Runnable() {
-                        @Override
-                        public void run() {
-                            try {
-                                invokeMainMethod(filePath);
-                            } catch (ThreadDeath td) {
-                                throw td;
-                            } catch (Throwable t) {
-                                t.printStackTrace();
-                            }
-                        }
-                    }, "Mobile Center Main").start();
-                }
-            }
-            socket.leaveGroup(group);
-            System.exit(0);
-        } catch (IOException ex) {
-            System.err.println(ex.getMessage());
-        }
-    }
-
-    private String receiveFile() {
-        try (ServerSocket serverSocket = new ServerSocket(PORT_FILE);
-                Socket socket = serverSocket.accept();
-                ObjectInputStream ois = new ObjectInputStream(socket.getInputStream())) {
-            Object receivedObject = ois.readObject();
-            if (receivedObject instanceof byte[]) {
-                File targetFile = File.createTempFile("Debug", ".jar");
-                byte[] buffer = (byte[]) receivedObject;
-                try (OutputStream out = new FileOutputStream(targetFile)) {
-                    out.write(buffer);
-                }
-                return targetFile.getAbsolutePath();
-            }
-            return null;
-        } catch (IOException | ClassNotFoundException ex) {
-            System.out.println(ex.getMessage());
-            return null;
-        }
-    }
-
-    private FxApplicationInstance lastFxApplication;
-
-    public void invokeMainMethod(String jarPath) {
-        try {
-            ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader();
-            URL[] cpURLs = ((URLClassLoader) sysClassLoader).getURLs();
-            URL[] classLoaderURLs = new URL[cpURLs.length];
-            System.arraycopy(cpURLs, 0, classLoaderURLs, 0, cpURLs.length);
-
-            String appJarName = System.getProperty("bgReloadJar");
-            String jarWithManifest = appJarName;
-            if (jarPath != null) {
-                URL appURL = new File(jarPath).toURI().toURL();
-                for (int i = 0; i < classLoaderURLs.length; i++) {
-                    if (classLoaderURLs[i].getPath().endsWith(appJarName)) {
-                        classLoaderURLs[i] = appURL;
-                    }
-                }
-                jarWithManifest = new File(jarPath).getName();
-            }
-
-            URLClassLoader classLoader = URLClassLoader.newInstance(classLoaderURLs, ClassLoader.getSystemClassLoader().getParent());
-
-            boolean fxEnabled = isFXApplication(classLoader, jarWithManifest);
-
-            if (lastFxApplication != null) {
-                lastFxApplication.stop();
-                lastFxApplication = null;
-            }
-
-            if (fxEnabled) {
-                final FxApplicationManager appManager =
-                        FxApplicationManager.getInstance();
-                final String appClass =
-                        findMainClass(classLoader, jarWithManifest);
-                lastFxApplication = appManager.start(classLoader, appClass);
-            } else {
-                Thread.currentThread().setContextClassLoader(classLoader);
-
-                Class clazz = classLoader.loadClass(findMainClass(classLoader, jarWithManifest));
-                Method method = clazz.getDeclaredMethod("main", String[].class);
-                method.setAccessible(true);
-                String[] params = null;
-                OutputStream os = new ByteArrayOutputStream();
-                System.setOut(new PrintStream(os));
-                method.invoke(classLoader, (Object) params);
-            }
-        } catch (Exception ex) {
-            System.err.println(ex.getClass().getName() + ": " + ex.getMessage());
-        }
-    }
-
-    private void stopThreadGroup() {
-        if (threadGroup == null) {
-            return;
-        }
-        synchronized (threadGroup) {
-            int count = threadGroup.activeCount();
-            Thread[] threads = new Thread[count];
-            threadGroup.enumerate(threads, true);
-            for (Thread t : threads) {
-                t.stop();
-            }
-        }
-    }
-
-    private static String findMainClass(final ClassLoader cl, String jarWithManifest) throws IOException {
-        String mainClass = null;
-        Enumeration<URL> en = cl.getResources("META-INF/MANIFEST.MF");
-        while (en.hasMoreElements()) {
-            URL url = en.nextElement();
-            Manifest mf;
-            try (InputStream is = url.openStream()) {
-                mf = new Manifest(is);
-            }
-            String mc = mf.getMainAttributes().getValue("JavaFX-Application-Class");
-            if (mc == null || mc.isEmpty()) {
-                mc = mf.getMainAttributes().getValue("Main-Class");
-            }
-            if (mc != null && url.getPath().contains(jarWithManifest)) {
-                mainClass = mc;
-                break;
-            }
-        }
-        return mainClass;
-    }
-
-    private static boolean isFXApplication(final ClassLoader cl, String jarWithManifest) throws IOException {
-        boolean fxApp = false;
-        Enumeration<URL> en = cl.getResources("META-INF/MANIFEST.MF");
-        while (en.hasMoreElements()) {
-            URL url = en.nextElement();
-            Manifest mf;
-            try (InputStream is = url.openStream()) {
-                mf = new Manifest(is);
-            }
-            String mc = mf.getMainAttributes().getValue("JavaFX-Version");
-            if (mc != null && url.getPath().contains(jarWithManifest)) {
-                fxApp = true;
-                break;
-            }
-        }
-        return fxApp;
-    }
-}
--- a/tools/ios/Maven/NetBeansMobileCenter/src/main/java/org/netbeans/mobilecenter/MobileCenter.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package org.netbeans.mobilecenter;
-
-public class MobileCenter {
-
-    public static void main(String[] args) throws InterruptedException {
-        new BackgroundService().loop();
-    }
-}
--- a/tools/ios/Maven/NetBeansMobileCenter/src/main/java/org/netbeans/mobilecenter/Redeploy.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package org.netbeans.mobilecenter;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.net.DatagramPacket;
-import java.net.DatagramSocket;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.SocketTimeoutException;
-import java.nio.file.Files;
-
-public final class Redeploy {
-    private Redeploy() {
-    }
-
-    public static void main(String... args) {
-        if (args.length != 1) {
-            System.err.println("Usage: <jar_file_to_deploy>");
-            System.exit(5);
-        }
-        File f = new File(args[0]);
-        if (!f.exists()) {
-            System.err.println("File " + f + " does not exist");
-            System.exit(1);
-        }
-
-        deploy(f);
-        System.err.println("Success!");
-        System.exit(0);
-    }
-
-    public static final String MULTICAST_DISCOVERY = "NetBeansMulticastDiscovery";
-    public static final String GROUP_ADDRESS = "225.10.10.0";
-    public static final int PORT = 44445;
-    public static final int PACKET_LENGTH = 1024;
-    public static final int TIMEOUT = 5000;
-
-    private static void deploy(File f) {
-        DatagramSocket datagramSocket = null;
-
-        try {
-            byte[] buf = new byte[PACKET_LENGTH];
-            buf = MULTICAST_DISCOVERY.getBytes();
-            datagramSocket = new DatagramSocket();
-            InetAddress group = InetAddress.getByName(GROUP_ADDRESS);
-            DatagramPacket packet = new DatagramPacket(buf, buf.length, group, PORT);
-            datagramSocket.send(packet);
-
-            buf = new byte[PACKET_LENGTH];
-            datagramSocket.setSoTimeout(TIMEOUT);
-            packet = new DatagramPacket(buf, buf.length);
-            datagramSocket.receive(packet);
-            String received = new String(packet.getData()).trim();
-            if (!received.equals("firstRun")) {
-                Thread.sleep(1000);
-                sendFile(f, packet.getAddress(), Integer.parseInt(received));
-            }
-            //JOptionPane.showMessageDialog(null, "Found iOS device on IP: " + received);
-        } catch (SocketTimeoutException ex) {
-            System.err.println("No iOS devices were found");
-            System.exit(2);
-        } catch (IOException | InterruptedException ex) {
-            ex.printStackTrace();
-            System.exit(3);
-        } finally {
-            if (datagramSocket != null) {
-                datagramSocket.close();
-            }
-        }
-    }
-
-    private static void sendFile(File f, InetAddress iOSAddress, int port) throws IOException {
-        System.err.println("Deploying " + f + " to " + iOSAddress + ":" + port);
-        try (Socket socket = new Socket(iOSAddress, port)) {
-            byte[] buffer = Files.readAllBytes(f.toPath());
-            try (ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream())) {
-                oos.writeObject(buffer);
-            }
-        }
-    }
-
-}
--- a/tools/ios/Maven/ios-maven-plugin/pom.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.netbeans.ios</groupId>
-    <artifactId>ios-maven-plugin</artifactId>
-    <version>0.6-SNAPSHOT</version>
-    <parent>
-        <groupId>org.netbeans.ios</groupId>
-        <artifactId>Maven</artifactId>
-        <version>0.6-SNAPSHOT</version>
-    </parent>
-    <packaging>maven-plugin</packaging>
-
-    <name>iOS Maven Plugin</name>
-
-    <url>http://bck2brwsr.apidesign.org/</url>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>3.0.5</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>plexus-utils</artifactId>
-                    <groupId>org.codehaus.plexus</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <version>3.2</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
-            <version>3.0.10</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-script-ant</artifactId>
-            <version>3.2</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>plexus-utils</artifactId>
-                    <groupId>org.codehaus.plexus</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-archiver</artifactId>
-            <version>2.4.1</version>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant-nodeps</artifactId>
-            <version>1.8.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.8.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-core</artifactId>
-            <version>3.0.5</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>plexus-utils</artifactId>
-                    <groupId>org.codehaus.plexus</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.netbeans.ios</groupId>
-            <artifactId>mobile-center</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant-launcher</artifactId>
-            <version>1.8.1</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>1.7</version>
-                <executions>
-                    <execution>
-                        <id>copy-resources</id>
-                        <phase>process-resources</phase>
-                        <configuration>
-                            <target>
-                                <property name="main.destdir" value="./target/classes/ios-maven-plugin/JFXLauncher" />
-                                <property name="launcher.builddir" value="../../build/JFXLauncher" />
-                                <delete dir="${main.destdir}" />
-                                <mkdir dir="${main.destdir}"/>
-                                <copy todir="${main.destdir}">
-                                    <fileset dir="${launcher.builddir}" />
-                                </copy>                             
-                            </target>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>          
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>2.8</version>
-                <executions>
-                    <execution>
-                        <id>bundle-mobilecenter</id>
-                        <phase>process-resources</phase>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.netbeans.ios</groupId>
-                                    <artifactId>mobile-center</artifactId>
-                                    <version>${project.version}</version>
-                                    <type>jar</type>                                        
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>${project.build.directory}/classes/ios-maven-plugin</outputDirectory>
-                                    <destFileName>mobilecenter.jar</destFileName>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                        <goals>
-                            <goal>copy</goal>                           
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                <version>3.2</version>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.maven.plugin-tools</groupId>
-                        <artifactId>maven-plugin-tools-ant</artifactId>
-                        <version>3.2</version>
-                    </dependency>
-                </dependencies>
-                <configuration>
-                    <goalPrefix>ios</goalPrefix>
-                    <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>mojo-descriptor</id>
-                        <goals>
-                            <goal>descriptor</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>help-goal</id>
-                        <goals>
-                            <goal>helpmojo</goal>
-                        </goals>
-                    </execution>
-                </executions>                
-            </plugin>
-        </plugins>
-    </build>
-</project>
--- a/tools/ios/Maven/ios-maven-plugin/src/main/java/org/netbeans/ibrwsr/maven/plugin/IPAddressMojo.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package org.netbeans.ibrwsr.maven.plugin;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Goal which sets current IP address.
- *
- */
-@Mojo(name = "ipaddress", requiresDependencyResolution = ResolutionScope.RUNTIME, defaultPhase = LifecyclePhase.COMPILE)
-public class IPAddressMojo extends AbstractMojo {
-
-    @Parameter(defaultValue = "${project}")
-    MavenProject project;
-
-    public void execute() throws MojoExecutionException {
-        try {
-            String ipAddress = InetAddress.getLocalHost().getHostAddress();
-            project.getProperties().put("ip.address", ipAddress);
-            System.out.println("IP: " + ipAddress);
-        } catch (UnknownHostException ex) {
-            throw new MojoExecutionException("IP address cannot be resolved", ex);
-        }
-    }
-}
--- a/tools/ios/Maven/ios-maven-plugin/src/main/scripts/ios.maven.plugin.build.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
--->
-<project>
-    <property name="jfxlauncher" value="${basedir}/target/jfxlauncher"/>
-    <property name="jdk8mobile.sdk.root" value="./jdk8-mobile-ios-ejdk"/>
-    <property name="jfx.ios.artifacts.root" value="./JFXLibs"/>
-
-    <available property="jfxlauncher.exists" file="${jfxlauncher}/build.xml"/>
-    <target name="-copy-launcher" unless="jfxlauncher.exists">
-        <mkdir dir="${jfxlauncher}"/>
-        <copy todir="${jfxlauncher}">
-            <fileset dir="${basedir}/target/ios-maven-plugin/JFXLauncher">
-                <exclude name="**/*.pbxproj"/>
-            </fileset>
-        </copy>
-        <copy todir="${jfxlauncher}">
-            <fileset dir="${basedir}/target/ios-maven-plugin/JFXLauncher">
-                <include name="**/*.pbxproj"/>
-            </fileset>
-            <filterset>
-                <filter token="JVMROOT_TOKEN" value="${jdk8mobile.sdk.root}"/>
-                <filter token="JFXSDKROOT_TOKEN" value="${jfx.ios.artifacts.root}"/>
-                <filter token="RESDIR_TOKEN" value="${resourcesDirResolved}"/>
-                <filter token="APPLICATIONJAR_TOKEN" value="${jarfile}"/>
-                <filter token="JAVA_PROFILE_TOKEN" value="${javaProfile}"/>
-            </filterset>
-        </copy>
-        <chmod dir="${jfxlauncher}" perm="a+x" includes="*.sh,ios-sim"/>
-    </target>
-
-    <condition property="do.fast.deploy">
-        <and>
-            <equals arg1="true" arg2="${fastDeploy}"/>
-            <not>
-                <isset property="jpdaAddress"/>
-            </not>
-        </and>
-    </condition>
-    <condition property="resourcesDirResolved" value="${basedir}/${resourcesDir}">
-        <isset property="resourcesDir"/>
-    </condition>
-    <property name="resourcesDirResolved" value=""/>
-
-    <target name="-fast-deploy" depends="-copy-launcher" if="do.fast.deploy">
-        <java fork="true" failonerror="false" classname="org.netbeans.mobilecenter.Redeploy"
-          resultproperty="deploy.result"
-        >
-            <classpath>
-                <pathelement location="${basedir}/target/ios-maven-plugin/mobilecenter.jar"/>
-            </classpath>
-            <arg value="${jarfile}"/>
-        </java>
-        <condition property="skip.run" value="true">
-            <equals arg1="0" arg2="${deploy.result}"/>
-        </condition>
-        <pathconvert property="appjarDebugName">
-            <flattenmapper/>
-            <path>
-                <pathelement path="${jarfile}"/>
-            </path>
-        </pathconvert>
-    </target>
-
-    <target name="runJFXLauncher" depends="-copy-launcher,-fast-deploy" unless="skip.run">
-        <property name="runtime.classpath.tmp" refid="maven.runtime.classpath"/>
-        <condition value="${runtime.classpath.tmp}:${basedir}/target/ios-maven-plugin/mobilecenter.jar" property="runtime.classpath">
-            <isset property="fastDeploy"/>
-        </condition>
-        <property name="runtime.classpath" value="${runtime.classpath.tmp}"/>
-
-        <condition value="org.netbeans.mobilecenter.MobileCenter" property="app.main.class">
-            <isset property="fastDeploy"/>
-        </condition>
-        <property name="app.main.class" value="${mainclass}"/>
-
-        <antcall target="write.plist.debug">
-            <param name="ipAddress" value="127.0.0.1" />
-            <param name="jpdaAddress" value="${jpdaAddress}" />
-        </antcall>
-        <antcall target="write.appjar.debug">
-            <param name="appjarDebugName" value="${appjarDebugName}" />
-        </antcall>
-        <ant dir="${jfxlauncher}" target="runsim-mvn">
-            <property name="mvn.classpath" value="${runtime.classpath}"/>
-            <property name="mvn.app.jar" value="${jarfile}"/>
-            <property name="launcher.CFBundleDisplayName" value="${title}"/>
-            <property name="application.title" value="${title}"/>
-            <property name="javafx.enable" value="${javafx}"/>
-            <property name="launcher.javaMainClass" value="${app.main.class}"/>
-            <property name="product.config" value="${runMode}" />
-            <property name="resources.dir" value="${resourcesDirResolved}"/>
-            <property name="launcher.IconImagesDir" value="${basedir}/${iconsDir}" />
-            <property name="launcher.DefaultImagesDir" value="${basedir}/${imagesDir}" />
-            <property name="launcher.MinimumOSVersion" value="${deploymentTarget}" />
-            <property name="launcher.UIDeviceFamily" value="${targetDevices}" />
-            <property name="launcher.UISupportedInterfaceOrientations" value="${supportedInterfaceOrientations}" />
-            <property name="launcher.UISupportedInterfaceOrientations~ipad" value="${iPadSupportedInterfaceOrientations}" />
-            <property name="launcher.UIPrerenderedIcon" value="${prerenderedIcons}" />
-            <property name="launcher.CFBundleIdentifier" value="${bundleId}" />
-            <property name="provisioning.profile" value="${provisioningProfile}" />
-        </ant>
-        <delete dir="${basedir}/target/ios-maven-plugin" />
-    </target>
-
-    <!-- ************* DEBUG helpers ************* -->
-    <target name="write.plist.debug">
-        <property name="plist.file" value="${jfxlauncher}/jfx-runjava.properties" />
-        <echo message="jpdaAddress=${ipAddress}:${jpdaAddress}${line.separator}" file="${plist.file}" append="true" />
-    </target>
-    <target name="write.appjar.debug" if="fastDeploy" >
-        <property name="plist.file" value="${jfxlauncher}/jfx-runjava.properties" />
-        <echo message="bgReloadJar=${appjarDebugName}${line.separator}" file="${plist.file}" append="true" />
-    </target>
-
-    <!-- ************* BUILD IPA TARGET ************* -->
-    <target name="buildIPA" depends="-copy-launcher">
-        <property name="runtime.classpath.tmp" refid="maven.runtime.classpath"/>
-        <condition value="${runtime.classpath.tmp}:${basedir}/target/ios-maven-plugin/mobilecenter.jar" property="runtime.classpath">
-            <isset property="fastDeploy"/>
-        </condition>
-        <property name="runtime.classpath" value="${runtime.classpath.tmp}"/>
-
-        <condition value="org.netbeans.mobilecenter.MobileCenter" property="app.main.class">
-            <isset property="fastDeploy"/>
-        </condition>
-        <property name="app.main.class" value="${mainclass}"/>
-
-        <chmod dir="${basedir}/target/ios-maven-plugin/JFXLauncher" perm="ugo+rx" includes="**/*"/>
-        <antcall target="write.plist.debug">
-            <param name="ipAddress" value="${ipAddress}" />
-            <param name="jpdaAddress" value="${jpdaAddress}" />
-        </antcall>
-        <antcall target="write.appjar.debug">
-            <param name="appjarDebugName" value="${appjarDebugName}" />
-        </antcall>
-        <ant dir="${jfxlauncher}" target="package-mvn">
-            <property name="mvn.classpath" value="${runtime.classpath}"/>
-            <property name="mvn.app.jar" value="${jarfile}"/>
-            <property name="launcher.CFBundleDisplayName" value="${title}"/>
-            <property name="application.title" value="${title}"/>
-            <property name="javafx.enable" value="${javafx}"/>
-            <property name="launcher.javaMainClass" value="${app.main.class}"/>
-            <property name="product.config" value="${runMode}" />
-            <property name="provisioning.profile" value="${provisioningProfile}" />
-            <property name="resources.dir" value="${resourcesDirResolved}"/>
-            <property name="launcher.IconImagesDir" value="${basedir}/${iconsDir}" />
-            <property name="launcher.DefaultImagesDir" value="${basedir}/${imagesDir}" />
-            <property name="launcher.MinimumOSVersion" value="${deploymentTarget}" />
-            <property name="launcher.UIDeviceFamily" value="${targetDevices}" />
-            <property name="launcher.UISupportedInterfaceOrientations" value="${supportedInterfaceOrientations}" />
-            <property name="launcher.UISupportedInterfaceOrientations~ipad" value="${iPadSupportedInterfaceOrientations}" />
-            <property name="launcher.UIPrerenderedIcon" value="${prerenderedIcons}" />
-            <property name="launcher.CFBundleIdentifier" value="${bundleId}" />
-            <property name="provisioning.profile" value="${provisioningProfile}" />
-        </ant>
-        <copy file="${jfxlauncher}/build/${title}.ipa" tofile="${basedir}/target/${title}.ipa" />
-        <ant dir="${jfxlauncher}" target="open-ipa-in-itunes-mvn">
-            <property name="application.title" value="${title}"/>
-            <property name="project.target" value="${basedir}/target" />
-        </ant>
-        <delete dir="${basedir}/target/ios-maven-plugin" />
-    </target>
-</project>
--- a/tools/ios/Maven/ios-maven-plugin/src/main/scripts/ios.maven.plugin.mojos.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-/*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
--->
-<pluginMetadata xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/plugin-metadata-1.0.0.xsd">
-    <mojos>
-        <mojo>
-            <!-- target name to call in ant script -->
-            <call>runJFXLauncher</call>
-            <!-- mojo goal name -->
-            <goal>deploy</goal>
-            <requiresDependencyResolution>runtime</requiresDependencyResolution>
-            <parameters>
-                <parameter>
-                    <name>jarfile</name>
-                    <expression>${jarfile}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>title</name>
-                    <expression>${title}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>javafx</name>
-                    <expression>${javafx}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.Boolean</type>
-                    <defaultValue>true</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>javaProfile</name>
-                    <expression>${javaProfile}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>compact1</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>mainclass</name>
-                    <expression>${mainclass}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>runMode</name>
-                    <expression>runMode</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>Release</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>jpdaAddress</name>
-                    <expression>jpdaAddress</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>fastDeploy</name>
-                    <expression>fastDeploy</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>boolean</type>
-                </parameter>
-                <parameter>
-                    <name>iconsDir</name>
-                    <expression>${iconsDir}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>src/main/ios-icons</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>imagesDir</name>
-                    <expression>${imagesDir}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>src/main/ios-images</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>targetDevices</name>
-                    <expression>${deviceType}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>1,2</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>bundleId</name>
-                    <expression>${groupId}:${artifactId}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>deploymentTarget</name>
-                    <expression>${deploymentTarget}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>6.1</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>supportedInterfaceOrientations</name>
-                    <expression>${supportedInterfaceOrientations}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationPortrait, UIInterfaceOrientationLandscapeRight, UIInterfaceOrientationPortraitUpsideDown</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>iPadSupportedInterfaceOrientations</name>
-                    <expression>${iPadSupportedInterfaceOrientations}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationPortrait, UIInterfaceOrientationLandscapeRight, UIInterfaceOrientationPortraitUpsideDown</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>prerenderedIcons</name>
-                    <expression>${prerenderedIcons}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.Boolean</type>
-                    <defaultValue>false</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>resourcesDir</name>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>provisioningProfile</name>
-                    <expression>${provisioningProfile}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-            </parameters>
-        </mojo>
-        <mojo>
-            <!-- target name to call in ant script -->
-            <call>buildIPA</call>
-            <!-- mojo goal name -->
-            <goal>build-IPA</goal>
-            <requiresDependencyResolution>runtime</requiresDependencyResolution>
-            <parameters>
-                <parameter>
-                    <name>jarfile</name>
-                    <expression>${jarfile}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>title</name>
-                    <expression>${title}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>javafx</name>
-                    <expression>${javafx}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.Boolean</type>
-                    <defaultValue>true</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>javaProfile</name>
-                    <expression>${java.profile}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>compact1</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>mainclass</name>
-                    <expression>${mainclass}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>runMode</name>
-                    <expression>runMode</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>Release</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>provisioningProfile</name>
-                    <expression>provisioningProfile</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>ipAddress</name>
-                    <expression>ipAddress</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>jpdaAddress</name>
-                    <expression>jpdaAddress</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>appjarDebug</name>
-                    <expression>appjarDebug</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>appjarDebugName</name>
-                    <expression>appjarDebugName</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>iconsDir</name>
-                    <expression>${iconsDir}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>src/main/ios-icons</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>imagesDir</name>
-                    <expression>${imagesDir}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>src/main/ios-images</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>resourcesDir</name>
-                    <expression>${resourcesDir}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>targetDevices</name>
-                    <expression>${deviceType}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>1,2</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>bundleId</name>
-                    <expression>${groupId}:${artifactId}</expression>
-                    <required>true</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                </parameter>
-                <parameter>
-                    <name>deploymentTarget</name>
-                    <expression>${deploymentTarget}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>6.1</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>supportedInterfaceOrientations</name>
-                    <expression>${supportedInterfaceOrientations}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationPortrait, UIInterfaceOrientationLandscapeRight, UIInterfaceOrientationPortraitUpsideDown</defaultValue>
-                </parameter>
-                <parameter>
-                    <name>iPadSupportedInterfaceOrientations</name>
-                    <expression>${iPadSupportedInterfaceOrientations}</expression>
-                    <required>false</required>
-                    <readonly>false</readonly>
-                    <type>java.lang.String</type>
-                    <defaultValue>UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationPortrait, UIInterfaceOrientationLandscapeRight, UIInterfaceOrientationPortraitUpsideDown</defaultValue>
-                </parameter>
-            </parameters>
-        </mojo>
-    </mojos>
-</pluginMetadata>
--- a/tools/ios/Maven/ipack/pom.xml	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-         xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>com.oracle.ios</groupId>
-    <artifactId>ipack</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <name>ipack</name>
-    <url>http://maven.apache.org</url>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcprov-jdk15on</artifactId>
-            <version>1.49</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bouncycastle</groupId>
-            <artifactId>bcpkix-jdk15on</artifactId>
-            <version>1.49</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <archive>
-                        <manifest>
-                            <addClasspath>true</addClasspath>
-                            <classpathPrefix>lib/</classpathPrefix>
-                            <mainClass>com.oracle.ipack.main.Main</mainClass>
-                        </manifest>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>2.8</version>
-                <executions>
-                    <execution>
-                        <id>copy-dependencies</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>copy-dependencies</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
-                        </configuration>                    
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
--- a/tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/Blob.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.ipack.blobs;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-public abstract class Blob {
-    public final int getSize() {
-        return 8 + getPayloadSize();
-    }
-
-    public final void write(final DataOutput dataOutput) throws IOException {
-        dataOutput.writeInt(getMagic());
-        dataOutput.writeInt(getSize());
-        writePayload(dataOutput);
-    }
-
-    protected abstract int getMagic();
-
-    protected abstract int getPayloadSize();
-
-    protected abstract void writePayload(DataOutput dataOutput)
-            throws IOException;
-}
--- a/tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/SuperBlob.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.ipack.blobs;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-public abstract class SuperBlob<T extends Blob> extends Blob {
-    private final SubBlob<T>[] subBlobs;
-
-    protected SuperBlob(final int numberOfSubBlobs) {
-        this.subBlobs = allocateSubBlobs(numberOfSubBlobs);
-    }
-
-    public final T getSubBlob(final int index) {
-        return subBlobs[index].getBlob();
-    }
-
-    public final void setSubBlob(final int index, final int type,
-                                 final T blob) {
-        subBlobs[index].setType(type);
-        subBlobs[index].setBlob(blob);
-    }
-
-    @Override
-    protected final int getPayloadSize() {
-        int size = 4 + subBlobs.length * 8;
-        for (int i = 0; i < subBlobs.length; ++i) {
-            size += subBlobs[i].getBlob().getSize();
-        }
-
-        return size;
-    }
-
-    @Override
-    protected final void writePayload(final DataOutput dataOutput)
-            throws IOException {
-        dataOutput.writeInt(subBlobs.length);
-        int offset = 8 + 4 + subBlobs.length * 8;
-        for (int i = 0; i < subBlobs.length; ++i) {
-            dataOutput.writeInt(subBlobs[i].getType());
-            dataOutput.writeInt(offset);
-
-            offset += subBlobs[i].getBlob().getSize();
-        }
-
-        for (int i = 0; i < subBlobs.length; ++i) {
-            subBlobs[i].getBlob().write(dataOutput);
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    private static <T extends Blob> SubBlob<T>[] allocateSubBlobs(
-            final int numberOfSubBlobs) {
-        final SubBlob<T>[] subBlobs = new SubBlob[numberOfSubBlobs];
-        for (int i = 0; i < numberOfSubBlobs; ++i) {
-            subBlobs[i] = new SubBlob<T>();
-        }
-
-        return subBlobs;
-    }
-
-    private static final class SubBlob<T extends Blob> {
-        private int type;
-        private T blob;
-
-        public int getType() {
-            return type;
-        }
-
-        public void setType(final int type) {
-            this.type = type;
-        }
-
-        public T getBlob() {
-            return blob;
-        }
-
-        public void setBlob(final T blob) {
-            this.blob = blob;
-        }
-    }
-}
--- a/tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/VirtualBlob.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.ipack.blobs;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-public final class VirtualBlob extends Blob {
-    private final int magic;
-    private final int payloadSize;
-
-    public VirtualBlob(final int magic, final int payloadSize) {
-        this.magic = magic;
-        this.payloadSize = payloadSize;
-    }
-
-    @Override
-    protected int getMagic() {
-        return magic;
-    }
-
-    @Override
-    protected int getPayloadSize() {
-        return payloadSize;
-    }
-
-    @Override
-    protected void writePayload(final DataOutput dataOutput)
-            throws IOException {
-        for (int i = 0; i < payloadSize; ++i) {
-            dataOutput.write(i);
-        }
-    }
-}
--- a/tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/blobs/WrapperBlob.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.ipack.blobs;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-public final class WrapperBlob extends Blob {
-    private final byte[] data;
-
-    public WrapperBlob(final byte[] data) {
-        this.data = data;
-    }
-
-    @Override
-    protected int getMagic() {
-        return 0xfade0b01;
-    }
-
-    @Override
-    protected int getPayloadSize() {
-        return data.length;
-    }
-
-    @Override
-    protected void writePayload(final DataOutput dataOutput)
-            throws IOException {
-        dataOutput.write(data);
-    }
-}
--- a/tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/CodeSignatureCommand.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.ipack.macho;
-
-public final class CodeSignatureCommand extends LinkeditDataCommand {
-    @Override
-    public int getId() {
-        return LC_CODE_SIGNATURE;
-    }
-
-    @Override
-    protected String getName() {
-        return "CodeSignatureCommand";
-    }
-}
--- a/tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/LinkeditDataCommand.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.ipack.macho;
-
-import com.oracle.ipack.util.Util;
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-public abstract class LinkeditDataCommand extends MachoCommand {
-    private int dataOffset;
-    private int dataSize;
-
-    public final int getDataOffset() {
-        return dataOffset;
-    }
-
-    public final void setDataOffset(final int dataOffset) {
-        this.dataOffset = dataOffset;
-    }
-
-    public final int getDataSize() {
-        return dataSize;
-    }
-
-    public final void setDataSize(final int dataSize) {
-        this.dataSize = dataSize;
-    }
-
-    @Override
-    public final String toString() {
-        return getName() + " { dataOffset: 0x" + Util.hex32(dataOffset)
-                       + ", dataSize: 0x" + Util.hex32(dataSize) + " }";
-    }
-
-    protected abstract String getName();
-
-    @Override
-    protected final int getPayloadSize() {
-        return 8;
-    }
-
-    @Override
-    protected final void readPayload(final DataInput dataInput)
-            throws IOException {
-        dataOffset = dataInput.readInt();
-        dataSize = dataInput.readInt();
-    }
-
-    @Override
-    protected final void writePayload(final DataOutput dataOutput)
-            throws IOException {
-        dataOutput.writeInt(dataOffset);
-        dataOutput.writeInt(dataSize);
-    }
-}
--- a/tools/ios/Maven/ipack/src/main/java/com/oracle/ipack/macho/MachoCommand.java	Wed Jan 04 12:32:12 2017 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.oracle.ipack.macho;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-public abstract class MachoCommand {
-    public static final int LC_SEGMENT = 0x1;
-    public static final int LC_CODE_SIGNATURE = 0x1d;
-
-    public abstract int getId();
-
-    public final int getSize() {
-        return 8 + getPayloadSize();
-    }
-
-    public static MachoCommand read(final DataInput dataInput)
-            throws IOException {
-        final int commandId = dataInput.readInt();
-        final int commandSize = dataInput.readInt();
-        MachoCommand command;
-        switch (commandId) {
-            case LC_SEGMENT:
-                command = new SegmentCommand();
-                break;
-            case LC_CODE_SIGNATURE:
-                command = new CodeSignatureCommand();
-                break;
-            default:
-                command = new UnknownCommand(commandId, commandSize - 8);
-                break;
-        }
-
-        command.readPayload(dataInput);
-        if (command.getSize() != commandSize) {
-            throw new IOException("Can't decode command in mach-o header");
-        }
-
-        return command;
-    }
-
-    public final void write(final DataOutput dataOutput) throws IOException {
-        dataOutput.writeInt(getId());
-        dataOutput.writeInt(getSize());
-        writePayload(dataOutput);
-    }
-
-    protected abstract int getPaylo