changeset 4071:dcb53a5d04ea 8.0-b96

Merge
author ngthomas
date Wed, 26 Jun 2013 12:20:13 -0700
parents b8d829dbef43 bd348d431c85
children 1ffb606e08ee b59b80482152 9c42ba1c8877 8d9c3665c86f
files apps/experiments/Modena/src/modena/CombinationTest.fxml.bak apps/experiments/Modena/src/modena/SameHeightTest.fxml.bak apps/experiments/Modena/src/modena/simple-window.fxml.bak apps/experiments/Modena/src/modena/ui-mosaic.fxml.bak gradle.properties prism-common/src/com/sun/prism/impl/MeshNTBVertex.java prism-common/src/com/sun/prism/impl/MeshNormal.java prism-common/src/com/sun/prism/impl/MeshQuat.java
diffstat 432 files changed, 66794 insertions(+), 2678 deletions(-) [+]
line wrap: on
line diff
--- a/.classpath	Fri Jun 21 17:43:06 2013 -0700
+++ b/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -82,6 +82,8 @@
 	<classpathentry kind="src" path="javafx-embed-swt/src"/>
 	<classpathentry kind="src" path="javafx-fxml/src"/>
 	<classpathentry kind="src" path="javafx-fxml/test"/>
+	<classpathentry kind="src" path="javafx-font/src"/>
+	<classpathentry kind="src" path="javafx-font/test"/>
 	<classpathentry kind="src" path="javafx-geom/src"/>
 	<classpathentry kind="src" path="javafx-geom/test"/>	
 	<classpathentry kind="src" path="javafx-iio/src"/>
--- a/.hgignore	Fri Jun 21 17:43:06 2013 -0700
+++ b/.hgignore	Wed Jun 26 12:20:13 2013 -0700
@@ -1,4 +1,5 @@
 \.orig$
+\.bak$
 \.DS_Store$
 \.orig\..*$
 \.chg\..*$
--- a/.hgtags	Fri Jun 21 17:43:06 2013 -0700
+++ b/.hgtags	Wed Jun 26 12:20:13 2013 -0700
@@ -82,3 +82,4 @@
 018368ab732728b77c028a7cb1b2b5f179c683ff 8.0-b92
 40836a4b4d8551cea4da57ea54d62d4f9f6871c4 8.0-b93
 7203a2531ae96ae8cef4ac79e5d4cb7d8c73d75f 8.0-b94
+b1d681005b05e09d9af3aa476c590a478f0c0df4 8.0-b95
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apps/experiments/3DViewer/build.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,9 @@
+
+
+apply plugin:'application'
+
+mainClassName = "com.javafx.experiments.jfx3dviewer.Jfx3dViewerApp"
+
+jar {
+    manifest.attributes("Main-Class": mainClassName)
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/importers/Validator.java	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 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.javafx.experiments.importers;
+
+import javafx.collections.ObservableIntegerArray;
+import javafx.scene.Node;
+import javafx.scene.Parent;
+import javafx.scene.shape.Mesh;
+import javafx.scene.shape.MeshView;
+import javafx.scene.shape.TriangleMesh;
+import static javafx.scene.shape.TriangleMesh.*;
+
+/**
+ * Mesh data validator
+ */
+public class Validator {
+
+    public void validate(Node node) {
+        if (node instanceof MeshView) {
+            MeshView meshView = (MeshView) node;
+            validate(meshView.getMesh());
+        } else if (node instanceof Parent) {
+            for (Node child : ((Parent) node).getChildrenUnmodifiable()) {
+                validate(child);
+            }
+        }
+    }
+
+    public void validate(Mesh mesh) {
+        if (!(mesh instanceof TriangleMesh)) {
+            throw new AssertionError("Mesh is not TriangleMesh: " + mesh.getClass() + ", mesh = " + mesh);
+        }
+        TriangleMesh tMesh = (TriangleMesh) mesh;
+        int numPoints = tMesh.getPoints().size() / NUM_COMPONENTS_PER_POINT;
+        int numTexCoords = tMesh.getTexCoords().size() / NUM_COMPONENTS_PER_TEXCOORD;
+        int numFaces = tMesh.getFaces().size() / NUM_COMPONENTS_PER_FACE;
+        if (numPoints == 0 || numPoints * NUM_COMPONENTS_PER_POINT != tMesh.getPoints().size()) {
+            throw new AssertionError("Points array size is not correct: " + tMesh.getPoints().size());
+        }
+        if (numTexCoords == 0 || numTexCoords * NUM_COMPONENTS_PER_TEXCOORD != tMesh.getTexCoords().size()) {
+            throw new AssertionError("TexCoords array size is not correct: " + tMesh.getPoints().size());
+        }
+        if (numFaces == 0 || numFaces * NUM_COMPONENTS_PER_FACE != tMesh.getFaces().size()) {
+            throw new AssertionError("Faces array size is not correct: " + tMesh.getPoints().size());
+        }
+        if (numFaces != tMesh.getFaceSmoothingGroups().size() && tMesh.getFaceSmoothingGroups().size() > 0) {
+            throw new AssertionError("FaceSmoothingGroups array size is not correct: " + tMesh.getPoints().size() + ", numFaces = " + numFaces);
+        }
+        ObservableIntegerArray faces = tMesh.getFaces();
+        for (int i = 0; i < faces.size(); i += 2) {
+            int pIndex = faces.get(i);
+            if (pIndex < 0 || pIndex > numPoints) {
+                throw new AssertionError("Incorrect point index: " + pIndex + ", numPoints = " + numPoints);
+            }
+            int tcIndex = faces.get(i + 1);
+            if (tcIndex < 0 || tcIndex > numTexCoords) {
+                throw new AssertionError("Incorrect texCoord index: " + tcIndex + ", numTexCoords = " + numTexCoords);
+            }
+        }
+//        System.out.println("Validation successfull of " + mesh);
+    }
+
+}
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/importers/maya/Loader.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/importers/maya/Loader.java	Wed Jun 26 12:20:13 2013 -0700
@@ -466,21 +466,21 @@
                 ((Group) node).getChildren().add(mv);
             }
         } else {
-//            if (((TriangleMesh)mesh).getPoints().size() > 0) {
-                MeshView mv = new MeshView();
-                mv.setId(n.getName());
-                mv.setMaterial(material);
+            MeshView mv = new MeshView();
+            mv.setId(n.getName());
+            mv.setMaterial(material);
 
-    //            // TODO HACK for [JIRA] (RT-30449) FX 8 3D: Need to handle mirror transformation (flip culling);
-    //            mv.setCullFace(CullFace.FRONT);
+//            // TODO HACK for [JIRA] (RT-30449) FX 8 3D: Need to handle mirror transformation (flip culling);
+//            mv.setCullFace(CullFace.FRONT);
 
-                mv.setMesh((TriangleMesh) mesh);
+            mv.setMesh((TriangleMesh) mesh);
 
-                loaded.put(n, mv);
+            loaded.put(n, mv);
+            if (((TriangleMesh)mesh).getPoints().size() > 0) {
                 if (node != null) {
                     ((Group) node).getChildren().add(mv);
                 }
-//            }
+            }
         }
     }
             
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/importers/maya/MayaImporter.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/importers/maya/MayaImporter.java	Wed Jun 26 12:20:13 2013 -0700
@@ -38,10 +38,10 @@
 import javafx.animation.KeyFrame;
 import javafx.animation.KeyValue;
 import javafx.animation.Timeline;
-import javafx.event.ActionEvent;
-import javafx.event.EventHandler;
 import javafx.scene.DepthTest;
 import javafx.scene.Node;
+import javafx.scene.shape.MeshView;
+import javafx.scene.shape.TriangleMesh;
 
 /**
  * MayaImporter
@@ -108,7 +108,9 @@
                             System.out.println("Adding top level node " + n.getId() + " to root!");
                         }
                         n.setDepthTest(DepthTest.ENABLE);
-                        root.getChildren().add(n);
+                        if (!(n instanceof MeshView) || ((TriangleMesh)((MeshView)n).getMesh()).getPoints().size() > 0) {
+                            root.getChildren().add(n);
+                        }
                     }
                     nodeCount++;
                 }
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/ContentModel.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/ContentModel.java	Wed Jun 26 12:20:13 2013 -0700
@@ -56,6 +56,7 @@
 import javafx.scene.transform.Translate;
 import com.javafx.experiments.shape3d.PolygonMeshView;
 import com.javafx.experiments.shape3d.SubDivision;
+import javafx.beans.property.ObjectProperty;
 
 /**
  * 3D Content Model for Viewer App. Contains the 3D scene and everything related to it: light, cameras etc.
@@ -70,7 +71,7 @@
     private final Rotate cameraLookZRotate = new Rotate(0,0,0,0,Rotate.Z_AXIS);
     private final Translate cameraPosition = new Translate(0,0,-7);
     private double dragStartX, dragStartY, dragStartRotateX, dragStartRotateY;
-    private Node content;
+    private ObjectProperty<Node> content = new SimpleObjectProperty<>();
     private AutoScalingGroup autoScalingGroup = new AutoScalingGroup(2);
     private Box xAxis,yAxis,zAxis;
     private AmbientLight ambientLight = new AmbientLight(Color.DARKGREY);
@@ -141,7 +142,6 @@
     private int subdivisionLevel = 0;
     private SubDivision.BoundaryMode boundaryMode = SubDivision.BoundaryMode.CREASE_EDGES;
     private SubDivision.MapBorderMode mapBorderMode = SubDivision.MapBorderMode.NOT_SMOOTH;
-    private String loadedUrl = null;
 
     public ContentModel() {
         subScene = new SubScene(root3D,400,400,true,false);
@@ -202,10 +202,6 @@
         sessionManager.bind(cameraYRotate.angleProperty(), "cameraYRotate");
     }
 
-    public String getLoadedUrl() {
-        return loadedUrl;
-    }
-
     public boolean getAmbientLightEnabled() {
         return ambientLightEnabled.get();
     }
@@ -298,19 +294,24 @@
         return autoScalingGroup;
     }
 
-    public Node get3dContent() {
-        return this.content;
-    }
+    public ObjectProperty<Node> contentProperty() { return content; }
+    public Node getContent() { return content.get(); }
+    public void setContent(Node content) { this.content.set(content); }
 
-    public void set3dContent(Node content) {
-        autoScalingGroup.getChildren().remove(this.content);
-        this.content = content;
-        autoScalingGroup.getChildren().add(this.content);
-        setWireFrame(content,wireframe);
-        // TODO mesh is updated each time these are called even if no rendering needs to happen
-        setSubdivisionLevel(content, subdivisionLevel);
-        setBoundaryMode(content, boundaryMode);
-        setMapBorderMode(content, mapBorderMode);
+    {
+        contentProperty().addListener(new ChangeListener<Node>() {
+
+            @Override
+            public void changed(ObservableValue<? extends Node> ov, Node oldContent, Node newContent) {
+                autoScalingGroup.getChildren().remove(oldContent);
+                autoScalingGroup.getChildren().add(newContent);
+                setWireFrame(newContent,wireframe);
+                // TODO mesh is updated each time these are called even if no rendering needs to happen
+                setSubdivisionLevel(newContent, subdivisionLevel);
+                setBoundaryMode(newContent, boundaryMode);
+                setMapBorderMode(newContent, mapBorderMode);
+            }
+        });
     }
 
     public SubScene getSubScene() {
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/MainController.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/MainController.java	Wed Jun 26 12:20:13 2013 -0700
@@ -97,7 +97,8 @@
     private int meshCount = 0;
     private int triangleCount = 0;
     private final ContentModel contentModel = Jfx3dViewerApp.getContentModel();
-    private File loadedPath = null;
+    private File loadedPath;
+    private String loadedURL;
     private String[] supportedFormatRegex;
     private TimelineController timelineController;
     private SessionManager sessionManager = SessionManager.getSessionManager();
@@ -122,7 +123,7 @@
         supportedFormatRegex = Importer3D.getSupportedFormatExtensionFilters();
         for (int i=0; i< supportedFormatRegex.length; i++) {
             supportedFormatRegex[i] = "."+supportedFormatRegex[i].replaceAll("\\.","\\.");
-            System.out.println("supportedFormatRegex[i] = " + supportedFormatRegex[i]);
+//            System.out.println("supportedFormatRegex[i] = " + supportedFormatRegex[i]);
         }
         contentModel.getSubScene().setOnDragOver(
                 new EventHandler<DragEvent>() {
@@ -172,6 +173,8 @@
                     }
                 });
 
+        sessionManager.bind(settingsBtn.selectedProperty(), "settingsBtn");
+        sessionManager.bind(splitPane.getDividers().get(0).positionProperty(), "settingsSplitPanePosition");
         sessionManager.bind(optimizeCheckBox.selectedProperty(), "optimize");
         sessionManager.bind(loadAsPolygonsCheckBox.selectedProperty(), "loadAsPolygons");
         sessionManager.bind(loopBtn.selectedProperty(), "loop");
@@ -216,15 +219,17 @@
     }
 
     private void doLoad(String fileUrl) {
+        loadedURL = fileUrl;
         sessionManager.getProperties().setProperty(Jfx3dViewerApp.FILE_URL_PROPERTY, fileUrl);
         try {
             Pair<Node,Timeline> content = Importer3D.loadIncludingAnimation(
                     fileUrl, loadAsPolygonsCheckBox.isSelected());
             Timeline timeline = content.getValue();
+            Node root = content.getKey();
             if (optimizeCheckBox.isSelected()) {
-                new Optimizer(timeline,content.getKey()).optimize();
+                new Optimizer(timeline, root, true).optimize();
             }
-            contentModel.set3dContent(content.getKey());
+            contentModel.setContent(root);
             contentModel.setTimeline(timeline);
 
             if (timeline != null) {
@@ -242,7 +247,7 @@
         meshCount = 0;
         triangleCount = 0;
         updateCount(contentModel.getRoot3D());
-        Node content = contentModel.get3dContent();
+        Node content = contentModel.getContent();
         final Bounds bounds = content == null ? new BoundingBox(0, 0, 0, 0) : content.getBoundsInLocal();
         status.setText(
                 String.format("Nodes [%d] :: Meshes [%d] :: Triangles [%d] :: " +
@@ -306,19 +311,20 @@
         File newFile = chooser.showSaveDialog(openMenuBtn.getScene().getWindow());
         if (newFile != null) {
             String extension = newFile.getName().substring(newFile.getName().lastIndexOf('.')+1,newFile.getName().length()).toLowerCase();
-            System.out.println("extension = " + extension);
+//            System.out.println("extension = " + extension);
             if ("java".equals(extension)) {
-                final String url = contentModel.getLoadedUrl();
+                final String url = loadedURL;
+//                System.out.println("url = " + loadedPath);
                 final String baseUrl = url.substring(0, url.lastIndexOf('/'));
 
                 JavaSourceExporter javaSourceExporter = new JavaSourceExporter(
                         baseUrl,
-                        contentModel.get3dContent(),
+                        contentModel.getContent(),
                         contentModel.getTimeline(),
                         newFile);
                 javaSourceExporter.export();
             } else if ("fxml".equals(extension)) {
-                new FXMLExporter(newFile.getAbsolutePath()).export(contentModel.get3dContent());
+                new FXMLExporter(newFile.getAbsolutePath()).export(contentModel.getContent());
             } else {
                 System.err.println("Can not export a file of type [."+extension+"]");
             }
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/SessionManager.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/SessionManager.java	Wed Jun 26 12:20:13 2013 -0700
@@ -37,9 +37,10 @@
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.DoubleProperty;
 import javafx.beans.property.ObjectProperty;
+import javafx.beans.value.ChangeListener;
+import javafx.beans.value.ObservableValue;
 import javafx.scene.control.Accordion;
 import javafx.scene.control.TitledPane;
-import javafx.scene.control.Toggle;
 import javafx.scene.control.ToggleGroup;
 import javafx.scene.paint.Color;
 
@@ -137,23 +138,22 @@
     }
 
     public void bind(final ToggleGroup toggleGroup, final String propertyName) {
-        String selectedToggle = props.getProperty(propertyName);
-        for (Toggle t : toggleGroup.getToggles()) {
-            if (t.getUserData().equals(selectedToggle)) {
-                if (toggleGroup.getSelectedToggle() != t) {
-                    toggleGroup.selectToggle(t);
-                }
-                break;
+        try {
+            String value = props.getProperty(propertyName);
+            if (value != null) {
+                int selectedToggleIndex = Integer.parseInt(value);
+                toggleGroup.selectToggle(toggleGroup.getToggles().get(selectedToggleIndex));
             }
+        } catch (Exception ignored) {
         }
         toggleGroup.selectedToggleProperty().addListener(new InvalidationListener() {
-        
+
             @Override
             public void invalidated(Observable o) {
                 if (toggleGroup.getSelectedToggle() == null) {
                     props.remove(propertyName);
                 } else {
-                    props.setProperty(propertyName, toggleGroup.getSelectedToggle().getUserData().toString());
+                    props.setProperty(propertyName, Integer.toString(toggleGroup.getToggles().indexOf(toggleGroup.getSelectedToggle())));
                 }
             }
         });
@@ -162,16 +162,18 @@
     public void bind(final Accordion accordion, final String propertyName) {
         Object selectedPane = props.getProperty(propertyName);
         for (TitledPane tp : accordion.getPanes()) {
-            if (tp.getText().equals(selectedPane)) {
+            if (tp.getText() != null && tp.getText().equals(selectedPane)) {
                 accordion.setExpandedPane(tp);
                 break;
             }
         }
-        accordion.expandedPaneProperty().addListener(new InvalidationListener() {
+        accordion.expandedPaneProperty().addListener(new ChangeListener<TitledPane>() {
 
             @Override
-            public void invalidated(Observable o) {
-//                props.setProperty(propertyName, accordion.getExpandedPane().getText());
+            public void changed(ObservableValue<? extends TitledPane> ov, TitledPane t, TitledPane expandedPane) {
+                if (expandedPane != null) {
+                    props.setProperty(propertyName, expandedPane.getText());
+                }
             }
         });
     }
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/SettingsController.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/SettingsController.java	Wed Jun 26 12:20:13 2013 -0700
@@ -47,6 +47,23 @@
 import javafx.scene.control.ToggleGroup;
 import javafx.scene.paint.Color;
 import com.javafx.experiments.shape3d.SubDivision;
+import javafx.beans.binding.ObjectBinding;
+import javafx.event.EventHandler;
+import javafx.scene.Node;
+import javafx.scene.Parent;
+import javafx.scene.control.Label;
+import javafx.scene.control.ListView;
+import javafx.scene.control.TreeItem;
+import javafx.scene.control.TreeTableColumn;
+import javafx.scene.control.TreeTableView;
+import javafx.scene.control.cell.CheckBoxTreeTableCell;
+import javafx.scene.control.cell.TextFieldTreeTableCell;
+import javafx.scene.input.KeyCode;
+import javafx.scene.input.KeyEvent;
+import javafx.scene.input.MouseEvent;
+import javafx.scene.transform.Transform;
+import javafx.util.Callback;
+import javafx.util.StringConverter;
 
 /**
  * Controller class for settings panel
@@ -82,6 +99,16 @@
     public ToggleGroup subdivisionLevelGroup;
     public ToggleGroup subdivisionBoundaryGroup;
     public ToggleGroup subdivisionSmoothGroup;
+    public TreeTableView<Node> hierarachyTreeTable;
+    public TreeTableColumn<Node, String> nodeColumn;
+    public TreeTableColumn<Node, String> idColumn;
+    public TreeTableColumn<Node, Boolean> visibilityColumn;
+    public TreeTableColumn<Node, Double> widthColumn;
+    public TreeTableColumn<Node, Double> heightColumn;
+    public TreeTableColumn<Node, Double> depthColumn;
+    public ListView<Transform> transformsList;
+    public TitledPane x6;
+    public Label selectedNodeLabel;
     
     @Override public void initialize(URL location, ResourceBundle resources) {
         // keep one pane open always
@@ -199,6 +226,133 @@
         fovSlider.setValue(contentModel.getCamera().getFieldOfView());
         contentModel.getCamera().fieldOfViewProperty().bind(fovSlider.valueProperty());
 
+        hierarachyTreeTable.rootProperty().bind(new ObjectBinding<TreeItem<Node>>() {
+
+            {
+                bind(contentModel.contentProperty());
+            }
+
+            @Override
+            protected TreeItem<Node> computeValue() {
+                Node content3D = contentModel.getContent();
+                if (content3D != null) {
+                    return new TreeItemImpl(content3D);
+                } else {
+                    return null;
+                }
+            }
+        });
+        hierarachyTreeTable.setOnMouseClicked(new EventHandler<MouseEvent>() {
+
+            @Override
+            public void handle(MouseEvent t) {
+                if (t.getClickCount() == 2) {
+                    settings.setExpandedPane(x6);
+                    t.consume();
+                }
+            }
+        });
+        hierarachyTreeTable.setOnKeyPressed(new EventHandler<KeyEvent>() {
+
+            @Override
+            public void handle(KeyEvent t) {
+                if (t.getCode() == KeyCode.SPACE) {
+                    TreeItem<Node> selectedItem = hierarachyTreeTable.getSelectionModel().getSelectedItem();
+                    if (selectedItem != null) {
+                        Node node = selectedItem.getValue();
+                        node.setVisible(!node.isVisible());
+                    }
+                    t.consume();
+                }
+            }
+        });
+        x6.expandedProperty().addListener(new ChangeListener<Boolean>() {
+
+            @Override
+            public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
+                if (t1) {
+                    TreeItem<Node> selectedItem = hierarachyTreeTable.getSelectionModel().getSelectedItem();
+                    if (selectedItem == null) {
+                        transformsList.setItems(null);
+                        selectedNodeLabel.setText("");
+                    } else {
+                        Node node = selectedItem.getValue();
+                        transformsList.setItems(node.getTransforms());
+                        selectedNodeLabel.setText(node.toString());
+                    }
+                }
+            }
+        });
+        nodeColumn.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<Node, String>, ObservableValue<String>>() {
+
+            @Override
+            public ObservableValue<String> call(TreeTableColumn.CellDataFeatures<Node, String> p) {
+                return p.getValue().valueProperty().asString();
+            }
+        });
+        idColumn.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<Node, String>, ObservableValue<String>>() {
+
+            @Override
+            public ObservableValue<String> call(TreeTableColumn.CellDataFeatures<Node, String> p) {
+                return p.getValue().getValue().idProperty();
+            }
+        });
+        visibilityColumn.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<Node, Boolean>, ObservableValue<Boolean>>() {
+
+            @Override
+            public ObservableValue<Boolean> call(TreeTableColumn.CellDataFeatures<Node, Boolean> p) {
+                return p.getValue().getValue().visibleProperty();
+            }
+        });
+        visibilityColumn.setCellFactory(CheckBoxTreeTableCell.forTreeTableColumn(visibilityColumn));
+        widthColumn.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<Node, Double>, ObservableValue<Double>>() {
+            @Override
+            public ObservableValue<Double> call(final TreeTableColumn.CellDataFeatures<Node, Double> p) {
+                return new ObjectBinding<Double>() {
+                    {  bind(p.getValue().getValue().boundsInLocalProperty()); }
+                    @Override protected Double computeValue() {
+                        return p.getValue().getValue().getBoundsInLocal().getWidth();
+                    }
+                };
+            }
+        });
+        StringConverter<Double> niceDoubleStringConverter = new StringConverter<Double>() {
+            @Override
+            public String toString(Double t) {
+                return String.format("%.2f", t);
+            }
+
+            @Override
+            public Double fromString(String string) {
+                throw new UnsupportedOperationException("Not supported yet."); //Not needed so far
+            }
+        };
+        widthColumn.setCellFactory(TextFieldTreeTableCell.<Node, Double>forTreeTableColumn(niceDoubleStringConverter));
+        heightColumn.setCellFactory(TextFieldTreeTableCell.<Node, Double>forTreeTableColumn(niceDoubleStringConverter));
+        depthColumn.setCellFactory(TextFieldTreeTableCell.<Node, Double>forTreeTableColumn(niceDoubleStringConverter));
+        heightColumn.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<Node, Double>, ObservableValue<Double>>() {
+            @Override
+            public ObservableValue<Double> call(final TreeTableColumn.CellDataFeatures<Node, Double> p) {
+                return new ObjectBinding<Double>() {
+                    {  bind(p.getValue().getValue().boundsInLocalProperty()); }
+                    @Override protected Double computeValue() {
+                        return p.getValue().getValue().getBoundsInLocal().getHeight();
+                    }
+                };
+            }
+        });
+        depthColumn.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<Node, Double>, ObservableValue<Double>>() {
+            @Override
+            public ObservableValue<Double> call(final TreeTableColumn.CellDataFeatures<Node, Double> p) {
+                return new ObjectBinding<Double>() {
+                    {  bind(p.getValue().getValue().boundsInLocalProperty()); }
+                    @Override protected Double computeValue() {
+                        return p.getValue().getValue().getBoundsInLocal().getDepth();
+                    }
+                };
+            }
+        });
+
         SessionManager sessionManager = SessionManager.getSessionManager();
 
         sessionManager.bind(showAxisCheckBox.selectedProperty(), "showAxis");
@@ -231,6 +385,28 @@
         sessionManager.bind(settings, "settingsPane");
     }
 
+    private class TreeItemImpl extends TreeItem<Node> {
 
-
+        public TreeItemImpl(Node node) {
+            super(node);
+            if (node instanceof Parent) {
+                for (Node n : ((Parent) node).getChildrenUnmodifiable()) {
+                    getChildren().add(new TreeItemImpl(n));
+                }
+            }
+//            node.setOnMouseClicked(new EventHandler<MouseEvent>() {
+//
+//                @Override
+//                public void handle(MouseEvent t) {
+//                    System.out.println("node.setOnMouseClicked t = " + t);
+//                    TreeItem<Node> parent = getParent();
+//                    while (parent != null) {
+//                        parent.setExpanded(true);
+//                        parent = parent.getParent();
+//                    }
+//                    hierarachyTreeTable.getSelectionModel().select(TreeItemImpl.this);
+//                }
+//            });
+        }
+    }
 }
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/settings.fxml	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/settings.fxml	Wed Jun 26 12:20:13 2013 -0700
@@ -46,7 +46,23 @@
 
 <Accordion fx:id="settings" minWidth="0.0" prefHeight="798.0" prefWidth="279.0" xmlns:fx="http://javafx.com/fxml" fx:controller="com.javafx.experiments.jfx3dviewer.SettingsController">
   <expandedPane>
-    <TitledPane fx:id="x4" animated="false" expanded="true" text="Options">
+    <TitledPane fx:id="x5" animated="false" expanded="true" text="Hierarchy">
+      <content>
+        <TreeTableView fx:id="hierarachyTreeTable" editable="true" prefHeight="200.0" prefWidth="200.0">
+          <columns>
+            <TreeTableColumn fx:id="nodeColumn" editable="false" prefWidth="75.0" sortable="false" text="Node" />
+            <TreeTableColumn fx:id="idColumn" editable="false" prefWidth="75.0" text="Id" />
+            <TreeTableColumn fx:id="visibilityColumn" editable="true" text="Visibility" />
+            <TreeTableColumn fx:id="widthColumn" editable="false" text="W" />
+            <TreeTableColumn fx:id="heightColumn" editable="false" text="H" />
+            <TreeTableColumn fx:id="depthColumn" editable="false" text="D" />
+          </columns>
+        </TreeTableView>
+      </content>
+    </TitledPane>
+  </expandedPane>
+  <panes>
+    <TitledPane fx:id="x4" animated="false" expanded="false" text="Options">
       <content>
         <GridPane hgap="5.0" styleClass="settings" vgap="5.0">
           <children>
@@ -152,9 +168,6 @@
         </GridPane>
       </content>
     </TitledPane>
-  </expandedPane>
-  <panes>
-    <fx:reference source="x4" />
     <TitledPane fx:id="x2" animated="false" text="Lights">
       <content>
         <ScrollPane fitToWidth="true" prefHeight="200.0" prefWidth="200.0">
@@ -252,5 +265,18 @@
         </GridPane>
       </content>
     </TitledPane>
+    <fx:reference source="x5" />
+    <TitledPane fx:id="x6" animated="false" expanded="false" text="Transforms">
+      <content>
+        <VBox>
+          <children>
+            <Label fx:id="selectedNodeLabel"/>
+            <ListView fx:id="transformsList" prefHeight="200.0" prefWidth="200.0">
+                <VBox.vgrow>ALWAYS</VBox.vgrow>
+            </ListView>
+          </children>
+        </VBox>
+      </content>
+    </TitledPane>
   </panes>
 </Accordion>
--- a/apps/experiments/3DViewer/src/test/java/com/javafx/experiments/exporters/javasource/JavaSourceExporterTestApp.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/apps/experiments/3DViewer/src/test/java/com/javafx/experiments/exporters/javasource/JavaSourceExporterTestApp.java	Wed Jun 26 12:20:13 2013 -0700
@@ -15,7 +15,7 @@
         String URL = "file:///Users/jpotts/Projects/jfx-bluray-8.0/apps/bluray/BluRay/src/bluray/botmenu/dukeBot.ma";
 
         MayaImporter importer = new MayaImporter();
-        importer.load(URL);
+        importer.load(URL, true);
 
         Optimizer optimizer = new Optimizer(importer.getTimeline(),importer.getRoot());
         optimizer.optimize();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apps/experiments/ConferenceScheduleApp/build.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,9 @@
+
+
+apply plugin:'application'
+
+mainClassName = "com.javafx.experiments.scheduleapp.ConferenceScheduleApp"
+
+jar {
+    manifest.attributes("Main-Class": mainClassName)
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apps/experiments/Modena/build.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,9 @@
+
+
+apply plugin:'application'
+
+mainClassName = "modena.Modena"
+
+jar {
+    manifest.attributes("Main-Class": mainClassName)
+}
--- a/apps/experiments/Modena/src/modena/CombinationTest.fxml.bak	Fri Jun 21 17:43:06 2013 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import java.lang.*?>
-<?import java.util.*?>
-<?import javafx.collections.*?>
-<?import javafx.geometry.*?>
-<?import javafx.scene.control.*?>
-<?import javafx.scene.layout.*?>
-<?import javafx.scene.paint.*?>
-<?import javafx.scene.text.*?>
-<?import javafx.scene.web.*?>
-
-<VBox id="VBox" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="-1.0" prefWidth="-1.0" spacing="10.0" xmlns:fx="http://javafx.com/fxml">
-  <children>
-    <Label prefWidth="632.0" text="X inside Y Combinations">
-      <font>
-        <Font name="System Bold" size="13.0" fx:id="x2" />
-      </font>
-    </Label>
-    <TilePane hgap="10.0" prefColumns="3" prefHeight="-1.0" prefTileHeight="300.0" prefTileWidth="300.0" prefWidth="-1.0" vgap="10.0">
-      <children>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="ScrollPane">
-              <content>
-                <ScrollPane content="$null" prefHeight="200.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="ListView">
-              <content>
-                <ListView prefHeight="200.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="TreeView">
-              <content>
-                <TreeView prefHeight="200.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="TableView">
-              <content>
-                <TableView prefHeight="200.0" prefWidth="200.0">
-                  <columns>
-                    <TableColumn prefWidth="75.0" text="Column X" />
-                    <TableColumn prefWidth="75.0" text="Column X" />
-                  </columns>
-                </TableView>
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="ScrollPane">
-              <content>
-                <ScrollPane prefHeight="200.0" prefWidth="200.0">
-                  <content>
-                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0" />
-                  </content>
-                </ScrollPane>
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="TableView">
-              <content>
-                <SplitPane dividerPositions="0.36577181208053694" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
-                  <items>
-                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
-                    <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
-                  </items>
-                </SplitPane>
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="HTML Editor">
-              <content>
-                <HTMLEditor minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="50.0" />
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-          <tabs>
-            <Tab text="TextArea">
-              <content>
-                <TextArea prefHeight="50.0" prefWidth="50.0" text="Text Area with Lots of text&#10;&#10;&#10;s&#10;a&#10;d&#10;s&#10;d&#10;sd&#10;&#10;s&#10;d&#10;s&#10;d&#10;&#10;s" wrapText="true" />
-              </content>
-            </Tab>
-            <Tab text="Untitled Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-        <SplitPane dividerPositions="0.5" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
-          <items>
-            <TabPane prefHeight="200.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE">
-              <tabs>
-                <Tab text="Untitled Tab 1">
-                  <content>
-                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-                  </content>
-                </Tab>
-                <Tab text="Untitled Tab 2">
-                  <content>
-                    <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-                  </content>
-                </Tab>
-              </tabs>
-            </TabPane>
-            <TableView prefHeight="200.0" prefWidth="200.0">
-              <columns>
-                <TableColumn prefWidth="75.0" text="Column X" />
-                <TableColumn prefWidth="75.0" text="Column X" />
-              </columns>
-            </TableView>
-          </items>
-        </SplitPane>
-        <SplitPane dividerPositions="0.5167785234899329" focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0">
-          <items>
-            <TreeView prefHeight="-1.0" prefWidth="-1.0" />
-            <ListView prefHeight="-1.0" prefWidth="-1.0" />
-          </items>
-        </SplitPane>
-        <SplitPane dividerPositions="0.5335570469798657" focusTraversable="true" prefHeight="-1.0" prefWidth="-1.0">
-          <items>
-            <ScrollPane prefHeight="-1.0" prefWidth="-1.0">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="200.0" prefWidth="200.0" />
-              </content>
-            </ScrollPane>
-            <SplitPane dividerPositions="0.5" focusTraversable="true" orientation="VERTICAL" prefHeight="-1.0" prefWidth="-1.0">
-              <items>
-                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
-                <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="100.0" prefWidth="160.0" />
-              </items>
-            </SplitPane>
-          </items>
-        </SplitPane>
-        <SplitPane dividerPositions="0.5" focusTraversable="true" prefHeight="160.0" prefWidth="200.0">
-          <items>
-            <HTMLEditor htmlText="&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body contenteditable=&quot;true&quot;&gt;Dude's Html Editor&lt;/body&gt;&lt;/html&gt;" minWidth="20.0" prefHeight="190.0" prefWidth="50.0" />
-            <TextArea minWidth="20.0" prefHeight="30.0" prefWidth="30.0" text="Text Area with Lots of text&#10;&#10;&#10;s&#10;a&#10;d&#10;s&#10;d&#10;sd&#10;&#10;s&#10;d&#10;s&#10;d&#10;&#10;s" wrapText="true" />
-          </items>
-        </SplitPane>
-      </children>
-    </TilePane>
-  </children>
-  <padding>
-    <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
-  </padding>
-</VBox>
--- a/apps/experiments/Modena/src/modena/SameHeightTest.fxml.bak	Fri Jun 21 17:43:06 2013 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import java.lang.*?>
-<?import java.util.*?>
-<?import javafx.collections.*?>
-<?import javafx.geometry.*?>
-<?import javafx.scene.control.*?>
-<?import javafx.scene.layout.*?>
-<?import javafx.scene.paint.*?>
-<?import javafx.scene.text.*?>
-
-<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="-1.0" prefWidth="-1.0" xmlns:fx="http://javafx.com/fxml" fx:controller="modena.SameHeightTestController">
-  <children>
-    <VBox id="VBox" alignment="TOP_LEFT" layoutX="15.0" layoutY="19.0" spacing="5.0">
-      <children>
-        <Label text="All of these controls should be the same height.">
-          <font>
-            <Font name="System Bold" size="13.0" fx:id="x2" />
-          </font>
-        </Label>
-        <HBox maxHeight="-Infinity" prefHeight="-1.0" prefWidth="-1.0" spacing="3.0" style="">
-          <children>
-            <TitledPane animated="false" expanded="false" prefWidth="80.0" text="TitledPane">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="40.0" prefWidth="80.0" />
-              </content>
-            </TitledPane>
-            <Button mnemonicParsing="false" text="Button" />
-            <ToggleButton mnemonicParsing="false" prefWidth="90.0" selected="true" text="Toggle">
-              <toggleGroup>
-                <ToggleGroup />
-              </toggleGroup>
-            </ToggleButton>
-            <MenuButton mnemonicParsing="false" prefWidth="100.0" text="MenuButton">
-              <items>
-                <MenuItem mnemonicParsing="false" text="Action 1" />
-                <MenuItem mnemonicParsing="false" text="Action 2" />
-              </items>
-            </MenuButton>
-            <SplitMenuButton mnemonicParsing="false" prefWidth="100.0" text="SplitMenuButton">
-              <items>
-                <MenuItem mnemonicParsing="false" text="Action 1" />
-                <MenuItem mnemonicParsing="false" text="Action 2" />
-              </items>
-            </SplitMenuButton>
-            <ChoiceBox prefWidth="60.0">
-              <items>
-                <FXCollections fx:factory="observableArrayList">
-                  <String fx:value="Item 1" />
-                  <String fx:value="Item 2" />
-                  <String fx:value="Item 3" />
-                </FXCollections>
-              </items>
-            </ChoiceBox>
-            <ComboBox prefWidth="60.0">
-              <items>
-                <FXCollections fx:factory="observableArrayList">
-                  <String fx:value="Item 1" />
-                  <String fx:value="Item 2" />
-                  <String fx:value="Item 3" />
-                </FXCollections>
-              </items>
-            </ComboBox>
-            <ComboBox editable="true" prefWidth="60.0" promptText="Choose">
-              <items>
-                <FXCollections fx:factory="observableArrayList">
-                  <String fx:value="Item 1" />
-                  <String fx:value="Item 2" />
-                  <String fx:value="Item 3" />
-                </FXCollections>
-              </items>
-            </ComboBox>
-            <ColorPicker />
-            <TextField prefWidth="100.0" promptText="Textfield" text="TextField" />
-            <PasswordField prefWidth="100.0" promptText="Password" text="password" />
-          </children>
-          <VBox.margin>
-            <Insets top="20.0" fx:id="x1" />
-          </VBox.margin>
-        </HBox>
-        <HBox maxHeight="-Infinity" prefHeight="-1.0" prefWidth="-1.0" spacing="3.0" style="-fx-border-color: #f09f9b transparent #f09f9b transparent;" VBox.margin="$x1">
-          <children>
-            <TitledPane animated="false" expanded="false" prefWidth="80.0" text="TitledPane">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="40.0" prefWidth="80.0" />
-              </content>
-            </TitledPane>
-            <Button mnemonicParsing="false" text="Button" />
-            <ToggleButton mnemonicParsing="false" prefWidth="90.0" selected="true" text="Toggle">
-              <toggleGroup>
-                <ToggleGroup />
-              </toggleGroup>
-            </ToggleButton>
-            <MenuButton mnemonicParsing="false" prefWidth="100.0" text="MenuButton">
-              <items>
-                <MenuItem mnemonicParsing="false" text="Action 1" />
-                <MenuItem mnemonicParsing="false" text="Action 2" />
-              </items>
-            </MenuButton>
-            <SplitMenuButton mnemonicParsing="false" prefWidth="100.0" text="SplitMenuButton">
-              <items>
-                <MenuItem mnemonicParsing="false" text="Action 1" />
-                <MenuItem mnemonicParsing="false" text="Action 2" />
-              </items>
-            </SplitMenuButton>
-            <ChoiceBox prefWidth="60.0">
-              <items>
-                <FXCollections fx:factory="observableArrayList">
-                  <String fx:value="Item 1" />
-                  <String fx:value="Item 2" />
-                  <String fx:value="Item 3" />
-                </FXCollections>
-              </items>
-            </ChoiceBox>
-            <ComboBox prefWidth="60.0">
-              <items>
-                <FXCollections fx:factory="observableArrayList">
-                  <String fx:value="Item 1" />
-                  <String fx:value="Item 2" />
-                  <String fx:value="Item 3" />
-                </FXCollections>
-              </items>
-            </ComboBox>
-            <ComboBox editable="true" prefWidth="60.0" promptText="Choose">
-              <items>
-                <FXCollections fx:factory="observableArrayList">
-                  <String fx:value="Item 1" />
-                  <String fx:value="Item 2" />
-                  <String fx:value="Item 3" />
-                </FXCollections>
-              </items>
-            </ComboBox>
-            <ColorPicker />
-            <TextField prefWidth="100.0" promptText="Textfield" text="TextField" />
-            <PasswordField prefWidth="100.0" promptText="Password" text="password" />
-          </children>
-          <padding>
-            <Insets />
-          </padding>
-        </HBox>
-        <Label font="$x2" text="All of these controls should be text aligned" VBox.margin="$x1" />
-        <HBox id="HBox" alignment="TOP_LEFT" spacing="5.0" VBox.margin="$x1">
-          <children>
-            <StackPane id="StackPane" alignment="TOP_LEFT">
-              <children>
-                <VBox prefHeight="-1.0" prefWidth="-1.0" spacing="3.0">
-                  <children>
-                    <HBox alignment="TOP_LEFT" maxHeight="-Infinity" prefHeight="-1.0" prefWidth="-1.0" spacing="3.0" style="">
-                      <children>
-                        <Button fx:id="horizFirstButton" mnemonicParsing="false" prefWidth="100.0" text="Sample" />
-                        <TextField prefWidth="80.0" promptText="Textfield" text="Sample" />
-                        <PasswordField prefWidth="80.0" promptText="Sample" text="" />
-                        <TextArea prefHeight="50.0" prefWidth="80.0" text="Sample" wrapText="true" />
-                        <TitledPane animated="false" prefWidth="80.0" text="Sample">
-                          <content>
-                            <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="40.0" prefWidth="80.0" />
-                          </content>
-                        </TitledPane>
-                        <ToggleButton mnemonicParsing="false" prefWidth="90.0" selected="true" text="Toggle">
-                          <toggleGroup>
-                            <ToggleGroup />
-                          </toggleGroup>
-                        </ToggleButton>
-                        <MenuButton maxWidth="-1.0" mnemonicParsing="false" prefWidth="90.0" text="MenuButton">
-                          <items>
-                            <MenuItem mnemonicParsing="false" text="Sample MenuButton Item 1" />
-                            <MenuItem mnemonicParsing="false" text="Sample MenuButton Item 2" />
-                          </items>
-                        </MenuButton>
-                        <SplitMenuButton mnemonicParsing="false" prefWidth="90.0" text="SplitMenuButton">
-                          <items>
-                            <MenuItem mnemonicParsing="false" text="Sample SplitMenuButton Item 1" />
-                            <MenuItem mnemonicParsing="false" text="Sample SplitMenuButton Item 2" />
-                          </items>
-                        </SplitMenuButton>
-                        <ChoiceBox prefWidth="60.0">
-                          <items>
-                            <FXCollections fx:factory="observableArrayList">
-                              <String fx:value="Sample ChoiceBox Item 1" />
-                              <String fx:value="Sample ChoiceBox Item 2" />
-                            </FXCollections>
-                          </items>
-                        </ChoiceBox>
-                        <ComboBox prefWidth="60.0">
-                          <items>
-                            <FXCollections fx:factory="observableArrayList">
-                              <String fx:value="Sample ComboBox Item 1" />
-                              <String fx:value="Sample ComboBox Item 2" />
-                            </FXCollections>
-                          </items>
-                        </ComboBox>
-                        <ComboBox editable="true" prefWidth="60.0" promptText="Choose">
-                          <items>
-                            <FXCollections fx:factory="observableArrayList">
-                              <String fx:value="Sample ComboBox Item 1" />
-                              <String fx:value="Sample ComboBox Item 2" />
-                            </FXCollections>
-                          </items>
-                        </ComboBox>
-                        <ColorPicker />
-                      </children>
-                    </HBox>
-                    <TextField fx:id="vertFirstTextField" maxWidth="100.0" prefWidth="100.0" text="Sample" />
-                    <PasswordField maxWidth="100.0" prefWidth="100.0" promptText="Sample" text="" />
-                    <TextArea maxWidth="100.0" prefHeight="50.0" prefRowCount="10" prefWidth="100.0" text="Sample" wrapText="true" />
-                    <TitledPane animated="false" collapsible="false" maxWidth="100.0" prefWidth="100.0" text="Sample">
-                      <content>
-                        <AnchorPane id="Content" maxWidth="100.0" minHeight="0.0" minWidth="0.0" prefHeight="40.0" prefWidth="100.0" />
-                      </content>
-                    </TitledPane>
-                    <TitledPane animated="false" maxWidth="100.0" prefWidth="100.0" text="Sample">
-                      <content>
-                        <AnchorPane id="Content" maxWidth="100.0" minHeight="0.0" minWidth="0.0" prefHeight="40.0" prefWidth="100.0" />
-                      </content>
-                    </TitledPane>
-                    <MenuButton maxWidth="100.0" mnemonicParsing="false" prefWidth="100.0" text="Sample">
-                      <items>
-                        <MenuItem mnemonicParsing="false" text="Sample MenuButton Item 1" />
-                        <MenuItem mnemonicParsing="false" text="Sample MenuButton Item 2" />
-                      </items>
-                    </MenuButton>
-                    <SplitMenuButton maxWidth="100.0" mnemonicParsing="false" prefWidth="100.0" text="Sample">
-                      <items>
-                        <MenuItem mnemonicParsing="false" text="Sample SplitMenuButton Item 1" />
-                        <MenuItem mnemonicParsing="false" text="Sample SplitMenuButton Item 2" />
-                      </items>
-                    </SplitMenuButton>
-                    <ChoiceBox maxWidth="100.0" prefWidth="100.0">
-                      <items>
-                        <FXCollections fx:factory="observableArrayList">
-                          <String fx:value="Sample ChoiceBox Item 1" />
-                          <String fx:value="Sample ChoiceBox Item 2" />
-                        </FXCollections>
-                      </items>
-                    </ChoiceBox>
-                    <ComboBox maxWidth="100.0" prefWidth="100.0">
-                      <items>
-                        <FXCollections fx:factory="observableArrayList">
-                          <String fx:value="Sample ComboBox Item 1" />
-                          <String fx:value="Sample ComboBox Item 2" />
-                        </FXCollections>
-                      </items>
-                    </ComboBox>
-                    <ComboBox editable="true" maxWidth="100.0" prefWidth="100.0" promptText="Sample">
-                      <items>
-                        <FXCollections fx:factory="observableArrayList">
-                          <String fx:value="Sample Combo Box Item 1" />
-                          <String fx:value="Sample Combo Box Item 2" />
-                        </FXCollections>
-                      </items>
-                    </ComboBox>
-                    <ListView id="library-listview" maxWidth="150.0" minWidth="-1.0" prefHeight="71.0" prefWidth="150.0">
-                      <items>
-                        <FXCollections fx:factory="observableArrayList">
-                          <String fx:value="Sample 1" />
-                          <String fx:value="Sample 2" />
-                          <String fx:value="Sample 3" />
-                          <String fx:value="Sample 4" />
-                        </FXCollections>
-                      </items>
-                      <VBox.margin>
-                        <Insets bottom="20.0" />
-                      </VBox.margin>
-                    </ListView>
-                  </children>
-                </VBox>
-                <Region fx:id="horizBaseLine" maxHeight="1.0" maxWidth="-1.0" opacity="0.4" prefHeight="-1.0" prefWidth="-1.0" style="-fx-background-color: red;" visible="true">
-                  <StackPane.margin>
-                    <Insets top="15.0" />
-                  </StackPane.margin>
-                </Region>
-                <Region fx:id="vertBaseLine" maxHeight="-1.0" maxWidth="1.0" opacity="0.4" prefHeight="-1.0" prefWidth="-1.0" style="-fx-background-color: red;" visible="true">
-                  <StackPane.margin>
-                    <Insets left="9.0" />
-                  </StackPane.margin>
-                </Region>
-              </children>
-            </StackPane>
-          </children>
-          <padding>
-            <Insets />
-          </padding>
-        </HBox>
-      </children>
-    </VBox>
-    <AnchorPane fx:id="arrowButtonContainer" layoutX="284.0" layoutY="337.0" prefHeight="250.0" prefWidth="322.0" style="-fx-border-color: #cccccc;">
-      <children>
-        <VBox alignment="TOP_RIGHT" minHeight="-1.0" prefHeight="-1.0" prefWidth="216.0" spacing="10.0" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="10.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="10.0">
-          <children>
-            <HBox id="HBox" alignment="CENTER_RIGHT" spacing="10.0">
-              <children>
-                <Label text="MenuButton:" />
-                <MenuButton mnemonicParsing="false" prefWidth="150.0" text="Sample">
-                  <items>
-                    <MenuItem mnemonicParsing="false" text="Action 1" />
-                    <MenuItem mnemonicParsing="false" text="Action 2" />
-                  </items>
-                </MenuButton>
-              </children>
-            </HBox>
-            <HBox id="HBox" alignment="CENTER_RIGHT" spacing="10.0">
-              <children>
-                <Label text="SplitMenuButton" />
-                <SplitMenuButton mnemonicParsing="false" prefWidth="150.0" text="Sample">
-                  <items>
-                    <MenuItem mnemonicParsing="false" text="Action 1" />
-                    <MenuItem mnemonicParsing="false" text="Action 2" />
-                  </items>
-                </SplitMenuButton>
-              </children>
-            </HBox>
-            <HBox id="HBox" alignment="CENTER_RIGHT" spacing="10.0">
-              <children>
-                <Label text="ChoiceBox" />
-                <ChoiceBox prefWidth="150.0">
-                  <items>
-                    <FXCollections fx:factory="observableArrayList">
-                      <String fx:value="Item 1" />
-                      <String fx:value="Item 2" />
-                      <String fx:value="Item 3" />
-                    </FXCollections>
-                  </items>
-                </ChoiceBox>
-              </children>
-            </HBox>
-            <HBox id="HBox" alignment="CENTER_RIGHT" spacing="10.0">
-              <children>
-                <Label text="ComboBox" />
-                <ComboBox prefWidth="150.0">
-                  <items>
-                    <FXCollections fx:factory="observableArrayList">
-                      <String fx:value="Item 1" />
-                      <String fx:value="Item 2" />
-                      <String fx:value="Item 3" />
-                    </FXCollections>
-                  </items>
-                </ComboBox>
-              </children>
-            </HBox>
-            <HBox id="HBox" alignment="CENTER_RIGHT" spacing="10.0">
-              <children>
-                <Label text="ComboBox (editable)" />
-                <ComboBox fx:id="editableCombo" editable="true" prefWidth="150.0" promptText="Sample">
-                  <items>
-                    <FXCollections fx:factory="observableArrayList">
-                      <String fx:value="Item 1" />
-                      <String fx:value="Item 2" />
-                      <String fx:value="Item 3" />
-                    </FXCollections>
-                  </items>
-                </ComboBox>
-              </children>
-            </HBox>
-            <HBox id="HBox" alignment="CENTER_RIGHT" spacing="10.0">
-              <children>
-                <Label text="ColorPicker" />
-                <ColorPicker prefWidth="150.0" />
-              </children>
-            </HBox>
-            <HBox id="HBox" alignment="CENTER_RIGHT" spacing="10.0">
-              <children>
-                <Label text="Split ColorPicker" />
-                <ColorPicker prefWidth="150.0" styleClass="split-button" />
-              </children>
-            </HBox>
-          </children>
-        </VBox>
-        <Region fx:id="arrowButtonLeftLine" layoutX="284.0" layoutY="0.0" maxHeight="-1.0" maxWidth="1.0" opacity="0.4" prefHeight="300.0" prefWidth="1.0" style="-fx-border-color: transparent transparent transparent red;&#10;-fx-border-style: dashed; " visible="true" />
-        <Region id="arrowButtonLeftLine" fx:id="arrowButtonRightLine" layoutX="303.0" layoutY="0.0" maxHeight="-1.0" maxWidth="1.0" opacity="0.4" prefHeight="300.0" prefWidth="1.0" style="-fx-border-color: transparent transparent transparent red;&#10;-fx-border-style: dashed; " visible="true" />
-        <Region id="arrowButtonLeftLine" fx:id="arrowLeftLine" layoutX="294.0" layoutY="0.0" maxHeight="-1.0" maxWidth="1.0" minWidth="1.0" opacity="0.4" prefHeight="300.0" prefWidth="1.0" style="-fx-border-color: transparent transparent transparent rgba(0,0,255,0.5);&#10;-fx-border-style: dashed; " visible="true" />
-        <Region id="arrowButtonLeftLine" layoutX="299.0" layoutY="0.0" maxHeight="-1.0" maxWidth="1.0" minWidth="1.0" opacity="0.4" prefHeight="300.0" prefWidth="1.0" style="-fx-border-color: transparent transparent transparent rgba(0,0,255,0.5);&#10;-fx-border-style: dashed; " visible="true" />
-      </children>
-    </AnchorPane>
-  </children>
-</AnchorPane>
--- a/apps/experiments/Modena/src/modena/simple-window.fxml.bak	Fri Jun 21 17:43:06 2013 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import java.lang.*?>
-<?import java.util.*?>
-<?import javafx.collections.*?>
-<?import javafx.geometry.*?>
-<?import javafx.scene.chart.*?>
-<?import javafx.scene.control.*?>
-<?import javafx.scene.layout.*?>
-<?import javafx.scene.paint.*?>
-
-<VBox prefHeight="230.0" prefWidth="300.0" style="" xmlns:fx="http://javafx.com/fxml">
-  <children>
-    <MenuBar id="MenuBar" prefWidth="200.0">
-      <menus>
-        <Menu mnemonicParsing="false" text="File">
-          <items>
-            <MenuItem mnemonicParsing="false" text="Close" />
-          </items>
-        </Menu>
-        <Menu mnemonicParsing="false" text="Edit">
-          <items>
-            <MenuItem mnemonicParsing="false" text="Delete" />
-          </items>
-        </Menu>
-        <Menu mnemonicParsing="false" text="Help">
-          <items>
-            <MenuItem mnemonicParsing="false" text="About" />
-          </items>
-        </Menu>
-      </menus>
-    </MenuBar>
-    <ToolBar prefWidth="200.0">
-      <items>
-        <Button mnemonicParsing="false" text="New" />
-        <Button id="DeleteButton" mnemonicParsing="false" text="Delete" />
-        <Button mnemonicParsing="false" text="Save" />
-        <Button mnemonicParsing="false" text="Exit" />
-      </items>
-    </ToolBar>
-    <TabPane prefHeight="130.0" prefWidth="200.0" style="" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="ALWAYS">
-      <tabs>
-        <Tab text="Example Controls">
-          <content>
-            <GridPane id="GridPane" hgap="10.0" style="" vgap="10.0">
-              <children>
-                <RadioButton mnemonicParsing="false" text="RadioButton 1" GridPane.columnIndex="0" GridPane.rowIndex="0">
-                  <toggleGroup>
-                    <ToggleGroup fx:id="toggle2" />
-                  </toggleGroup>
-                </RadioButton>
-                <RadioButton id="RadioButton2" mnemonicParsing="false" selected="true" text="RadioButton 2" toggleGroup="$toggle2" GridPane.columnIndex="0" GridPane.rowIndex="1" />
-                <CheckBox mnemonicParsing="false" selected="true" text="CheckBox" GridPane.columnIndex="0" GridPane.rowIndex="2" />
-                <CheckBox mnemonicParsing="false" text="CheckBox" GridPane.columnIndex="0" GridPane.rowIndex="3" GridPane.valignment="TOP" />
-                <HBox id="HBox" alignment="CENTER" spacing="15.0" GridPane.columnIndex="0" GridPane.columnSpan="2" GridPane.rowIndex="4">
-                  <children>
-                    <ProgressBar maxWidth="1.7976931348623157E308" prefWidth="-1.0" progress="0.68" HBox.hgrow="ALWAYS" />
-                    <Button defaultButton="true" mnemonicParsing="false" text="Save..." />
-                  </children>
-                </HBox>
-                <TextArea maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="70.0" prefWidth="120.0" text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vulputate sem id velit sagittis quis imperdiet nunc imperdiet. Etiam consequat purus nec nibh viverra aliquam. Donec urna odio, posuere quis placerat non, tristique a augue. In hac habitasse platea dictumst. Cras eget turpis dui. Pellentesque vel leo arcu, et blandit quam. Integer congue tempus purus, ac rhoncus neque semper nec. Integer elit mauris, dictum non sodales sed, semper in urna. Mauris rutrum faucibus faucibus. Praesent id dui dignissim massa mollis tempus in ut mi.&#10;&#10;Curabitur augue turpis, lacinia ac vehicula id, porta et nisl. Quisque id porttitor eros. Aenean eget fringilla nisi. Etiam posuere cursus pharetra. Aenean aliquam nisl nec sapien viverra id eleifend velit elementum. In et arcu in ligula vestibulum rhoncus. Integer nec odio odio. Nulla scelerisque faucibus urna, sit amet viverra arcu congue eget. Aliquam ut sapien justo. Mauris eu velit massa. Pellentesque tristique aliquet porttitor. Vestibulum rhoncus tristique arcu, sed consectetur ante molestie nec. Nunc egestas posuere fermentum. Sed est urna, tempus sed tempor ac, pulvinar vel dui. Morbi tortor mi, semper non aliquam at, consectetur eu quam." wrapText="true" GridPane.columnIndex="1" GridPane.columnSpan="1" GridPane.rowIndex="0" GridPane.rowSpan="4" />
-              </children>
-              <columnConstraints>
-                <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
-                <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" />
-              </columnConstraints>
-              <padding>
-                <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
-              </padding>
-              <rowConstraints>
-                <RowConstraints maxHeight="14.0" minHeight="10.0" prefHeight="14.0" vgrow="SOMETIMES" />
-                <RowConstraints maxHeight="15.0" minHeight="10.0" prefHeight="15.0" vgrow="SOMETIMES" />
-                <RowConstraints maxHeight="15.0" minHeight="10.0" prefHeight="15.0" vgrow="SOMETIMES" />
-                <RowConstraints maxHeight="1.7976931348623157E308" minHeight="10.0" prefHeight="15.0" vgrow="ALWAYS" />
-                <RowConstraints maxHeight="20.0" minHeight="10.0" prefHeight="20.0" vgrow="NEVER" />
-              </rowConstraints>
-            </GridPane>
-          </content>
-        </Tab>
-        <Tab text="Tab 2">
-          <content>
-            <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-          </content>
-        </Tab>
-        <Tab text="Tab 3">
-          <content>
-            <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-          </content>
-        </Tab>
-      </tabs>
-    </TabPane>
-  </children>
-</VBox>
--- a/apps/experiments/Modena/src/modena/ui-mosaic.fxml.bak	Fri Jun 21 17:43:06 2013 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import java.lang.*?>
-<?import java.util.*?>
-<?import javafx.collections.*?>
-<?import javafx.geometry.*?>
-<?import javafx.scene.chart.*?>
-<?import javafx.scene.control.*?>
-<?import javafx.scene.layout.*?>
-<?import javafx.scene.paint.*?>
-<?import javafx.scene.web.*?>
-
-<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="935.0" prefWidth="927.0" xmlns:fx="http://javafx.com/fxml">
-  <children>
-    <Button layoutX="40.0" layoutY="41.0" mnemonicParsing="false" text="Button" />
-    <ComboBox layoutX="234.0" layoutY="41.0" prefWidth="160.0">
-      <items>
-        <FXCollections fx:factory="observableArrayList">
-          <String fx:value="Item 1" />
-          <String fx:value="Item 2" />
-          <String fx:value="Item 3" />
-        </FXCollections>
-      </items>
-    </ComboBox>
-    <Hyperlink layoutX="134.0" layoutY="40.0" text="Hyperlink" />
-    <Label layoutX="242.0" layoutY="153.0" text="A label" />
-    <PasswordField layoutX="240.0" layoutY="243.0" prefWidth="138.0" promptText="Password" />
-    <ProgressBar layoutX="240.0" layoutY="291.0" prefWidth="200.0" progress="0.3" />
-    <ProgressIndicator layoutX="435.0" layoutY="45.0" prefHeight="59.0" prefWidth="56.0" progress="0.58" />
-    <ScrollBar layoutX="41.0" layoutY="329.0" prefWidth="493.0" />
-    <Separator layoutX="41.0" layoutY="129.0" prefWidth="490.0" />
-    <Separator layoutX="217.0" layoutY="151.0" orientation="VERTICAL" prefHeight="158.0" />
-    <SplitMenuButton layoutX="40.0" layoutY="83.0" mnemonicParsing="false" prefWidth="153.0" text="SplitMenuButton">
-      <items>
-        <MenuItem mnemonicParsing="false" text="Action 1" />
-        <MenuItem mnemonicParsing="false" text="Action 2" />
-      </items>
-    </SplitMenuButton>
-    <TextField layoutX="40.0" layoutY="149.0" prefWidth="160.0" promptText="Textfield" text="Textfield" />
-    <TextArea layoutX="40.0" layoutY="180.0" prefHeight="130.0" prefWidth="160.0" promptText="Text Area" text="Text Area with some text spanning over a few lines." wrapText="true" />
-    <ToggleButton layoutX="341.0" layoutY="196.0" mnemonicParsing="false" prefWidth="90.0" selected="true" text="Toggle">
-      <toggleGroup>
-        <ToggleGroup fx:id="toggle1" />
-      </toggleGroup>
-    </ToggleButton>
-    <TitledPane animated="false" layoutX="656.0" layoutY="287.0" prefHeight="59.0" prefWidth="216.0" text="Hello World">
-      <content>
-        <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-      </content>
-    </TitledPane>
-    <Accordion layoutX="39.0" layoutY="358.0" minWidth="345.0" prefHeight="554.0" prefWidth="857.0">
-      <expandedPane>
-        <TitledPane id="x2" fx:id="x3" animated="true" expanded="true" text="Split Pane No Padding">
-          <content>
-            <SplitPane dividerPositions="0.5060975609756098" focusTraversable="true" maxHeight="1.7976931348623157E308" orientation="VERTICAL" prefHeight="-1.0" prefWidth="-1.0">
-              <items>
-                <SplitPane dividerPositions="0.49705535924617195" focusTraversable="true" prefHeight="172.0" prefWidth="490.0">
-                  <items>
-                    <TreeView prefHeight="130.0" prefWidth="179.0" showRoot="false">
-                      <root>
-                        <TreeItem value="Family">
-                          <children>
-                            <TreeItem value="Grandparent A">
-                              <children>
-                                <TreeItem value="Parent A">
-                                  <children>
-                                    <TreeItem value="Child A" />
-                                  </children>
-                                </TreeItem>
-                              </children>
-                            </TreeItem>
-                            <TreeItem value="Grandparent B">
-                              <children>
-                                <TreeItem value="Parent B">
-                                  <children>
-                                    <TreeItem value="Child B" />
-                                  </children>
-                                </TreeItem>
-                              </children>
-                            </TreeItem>
-                            <TreeItem value="Grandparent C">
-                              <children>
-                                <TreeItem value="Parent C">
-                                  <children>
-                                    <TreeItem value="Child C" />
-                                  </children>
-                                </TreeItem>
-                              </children>
-                            </TreeItem>
-                          </children>
-                        </TreeItem>
-                      </root>
-                    </TreeView>
-                    <TableView prefHeight="130.0" prefWidth="241.0">
-                      <columns>
-                        <TableColumn prefWidth="75.0" text="Column X" />
-                        <TableColumn prefWidth="75.0" text="Column X" />
-                      </columns>
-                    </TableView>
-                  </items>
-                </SplitPane>
-                <ListView prefHeight="130.0" prefWidth="200.0" />
-              </items>
-            </SplitPane>
-          </content>
-        </TitledPane>
-      </expandedPane>
-      <panes>
-        <TitledPane id="x2" animated="true" expanded="false" text="Split Pane Padded">
-          <content>
-            <StackPane prefHeight="150.0" prefWidth="200.0">
-              <children>
-                <SplitPane dividerPositions="0.5210084033613446" focusTraversable="true" maxHeight="-Infinity" orientation="VERTICAL" prefHeight="191.0" prefWidth="447.0">
-                  <items>
-                    <SplitPane dividerPositions="0.4969097651421508" focusTraversable="true" prefHeight="172.0" prefWidth="490.0">
-                      <items>
-                        <TreeView prefHeight="130.0" prefWidth="179.0" showRoot="false">
-                          <root>
-                            <TreeItem value="Family">
-                              <children>
-                                <TreeItem value="Grandparent A">
-                                  <children>
-                                    <TreeItem value="Parent A">
-                                      <children>
-                                        <TreeItem value="Child A" />
-                                      </children>
-                                    </TreeItem>
-                                  </children>
-                                </TreeItem>
-                                <TreeItem value="Grandparent B">
-                                  <children>
-                                    <TreeItem value="Parent B">
-                                      <children>
-                                        <TreeItem value="Child B" />
-                                      </children>
-                                    </TreeItem>
-                                  </children>
-                                </TreeItem>
-                                <TreeItem value="Grandparent C">
-                                  <children>
-                                    <TreeItem value="Parent C">
-                                      <children>
-                                        <TreeItem value="Child C" />
-                                      </children>
-                                    </TreeItem>
-                                  </children>
-                                </TreeItem>
-                              </children>
-                            </TreeItem>
-                          </root>
-                        </TreeView>
-                        <TableView prefHeight="130.0" prefWidth="241.0">
-                          <columns>
-                            <TableColumn prefWidth="75.0" text="Column X" />
-                            <TableColumn prefWidth="75.0" text="Column X" />
-                          </columns>
-                        </TableView>
-                      </items>
-                    </SplitPane>
-                    <ListView prefHeight="130.0" prefWidth="200.0" />
-                  </items>
-                </SplitPane>
-              </children>
-              <padding>
-                <Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
-              </padding>
-            </StackPane>
-          </content>
-        </TitledPane>
-        <TitledPane fx:id="x2" animated="true" expanded="false" text="Form">
-          <content>
-            <GridPane id="GridPane" hgap="10.0" prefHeight="139.0" prefWidth="288.0" vgap="10.0">
-              <children>
-                <Button mnemonicParsing="false" text="Submit" GridPane.columnIndex="1" GridPane.rowIndex="2" />
-                <TextField prefWidth="160.0" promptText="Name" text="" GridPane.columnIndex="1" GridPane.rowIndex="0" />
-                <TextArea prefHeight="75.0" prefWidth="160.0" promptText="Address" text="" wrapText="true" GridPane.columnIndex="1" GridPane.rowIndex="1" />
-                <Label text="Name" GridPane.columnIndex="0" GridPane.rowIndex="0" />
-                <AnchorPane id="AnchorPane" minHeight="-Infinity" minWidth="-Infinity" prefHeight="-1.0" prefWidth="-1.0" GridPane.columnIndex="0" GridPane.rowIndex="1" GridPane.valignment="TOP">
-                  <children>
-                    <Label layoutX="55.0" layoutY="5.0" text="Address" />
-                  </children>
-                </AnchorPane>
-              </children>
-              <columnConstraints>
-                <ColumnConstraints halignment="RIGHT" hgrow="SOMETIMES" maxWidth="111.0" minWidth="10.0" prefWidth="65.0" />
-                <ColumnConstraints halignment="RIGHT" hgrow="SOMETIMES" maxWidth="216.0" minWidth="10.0" prefWidth="213.0" />
-              </columnConstraints>
-              <rowConstraints>
-                <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
-                <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
-                <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
-                <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
-              </rowConstraints>
-            </GridPane>
-          </content>
-        </TitledPane>
-        <TitledPane animated="true" expanded="false" text="Chart">
-          <content>
-            <ScrollPane prefHeight="200.0" prefWidth="200.0">
-              <content>
-                <BubbleChart id="BubbleChart" title="My Bubble Chart" titleSide="TOP">
-                  <xAxis>
-                    <NumberAxis side="BOTTOM" />
-                  </xAxis>
-                  <yAxis>
-                    <NumberAxis side="LEFT" />
-                  </yAxis>
-                </BubbleChart>
-              </content>
-            </ScrollPane>
-          </content>
-        </TitledPane>
-        <TitledPane animated="false" expanded="false" text="Table">
-          <content>
-            <TableView prefHeight="200.0" prefWidth="200.0">
-              <columns>
-                <TableColumn prefWidth="75.0" text="Column X" />
-                <TableColumn prefWidth="75.0" text="Column X" />
-              </columns>
-            </TableView>
-          </content>
-        </TitledPane>
-        <TitledPane fx:id="x1" animated="true" expanded="false" text="Tree">
-          <content>
-            <TreeView prefHeight="200.0" prefWidth="200.0" />
-          </content>
-        </TitledPane>
-        <TitledPane id="x1" animated="true" expanded="false" text="List">
-          <content>
-            <ListView prefHeight="200.0" prefWidth="200.0" />
-          </content>
-        </TitledPane>
-        <TitledPane id="x1" animated="true" expanded="false" text="Text Area">
-          <content>
-            <TextArea prefWidth="200.0" text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse semper varius lobortis. Donec porttitor, diam ut adipiscing sollicitudin, massa mi cursus orci, sed faucibus libero lectus id augue. Cras tristique odio tincidunt massa vehicula sed pellentesque orci pretium. Donec placerat ullamcorper magna cursus volutpat. Nulla facilisi. In faucibus ullamcorper tincidunt. Nam ante ante, consequat vitae egestas non, tincidunt eu mauris. Vivamus aliquam nibh justo, tincidunt vehicula metus. Suspendisse ut dui quis ligula aliquet venenatis. Nullam lacinia lectus non ipsum sagittis at eleifend mauris pretium. Vestibulum nisi metus, rhoncus vitae condimentum a, condimentum fermentum urna. Quisque ut nisi massa. Sed auctor euismod urna eu tincidunt. Mauris facilisis tempor molestie. In in quam in mauris placerat malesuada id a magna.&#10;&#10;Donec ligula velit, ornare nec semper a, aliquet at nibh. Morbi pulvinar sollicitudin ultricies. Donec quis eros eu turpis facilisis placerat. Aenean non neque libero. Vestibulum orci magna, auctor et tempus sit amet, dictum et libero. Praesent dapibus justo eget elit ultrices bibendum. In eget nisl augue, id imperdiet magna. Suspendisse at augue vitae dolor consectetur mollis at et orci. Nam sit amet mi in diam pulvinar ornare. Fusce vitae neque eget urna interdum rhoncus rhoncus id lectus. Vestibulum eget leo non nunc porttitor bibendum. Nullam justo nisi, mattis id adipiscing quis, egestas a lorem. Donec mi ligula, dictum id mattis sed, vehicula vitae metus.&#10;&#10;Etiam id felis in velit blandit dignissim vel non libero. Aenean tristique euismod libero, at faucibus purus aliquam ut. Duis placerat lectus sit amet odio ultrices vestibulum. Aliquam erat volutpat. Praesent odio lorem, commodo eget tristique et, placerat at lorem. Curabitur blandit condimentum magna, at pretium nulla interdum a. Sed magna nulla, malesuada quis dignissim sit amet, eleifend at nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec vehicula vehicula molestie. Phasellus ultricies volutpat cursus. Praesent in leo sit amet arcu accumsan tincidunt. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum dignissim hendrerit erat, nec bibendum metus sodales eget. Integer congue felis sit amet dolor sollicitudin nec dapibus nisi tempus. Cras malesuada, mi vitae gravida iaculis, mi dui pharetra risus, ac condimentum urna ipsum blandit elit.&#10;&#10;Aenean pharetra aliquam velit in porta. Phasellus leo erat, iaculis et pharetra non, dignissim eu velit. Sed rutrum tortor vel purus adipiscing vitae ultrices erat sollicitudin. Vestibulum tempus consectetur est id porttitor. Proin hendrerit dictum dapibus. Sed viverra, erat at condimentum molestie, orci purus blandit eros, nec scelerisque nulla justo vitae neque. Sed tempor massa venenatis tortor condimentum viverra. Duis a egestas mauris. Curabitur egestas tincidunt sodales. Sed ornare, nulla at adipiscing ullamcorper, quam orci facilisis erat, non hendrerit nisl enim et lacus.&#10;&#10;Phasellus ac lacus gravida mauris malesuada accumsan id eleifend quam. Pellentesque quis mi urna. Mauris a pulvinar enim. Duis molestie lacinia vehicula. Vivamus semper consequat mauris a placerat. Suspendisse felis massa, suscipit vel aliquet at, pellentesque eget tellus. Sed aliquam tortor felis." wrapText="true" />
-          </content>
-        </TitledPane>
-        <TitledPane id="x1" animated="true" expanded="false" text="HTML Editor">
-          <content>
-            <HTMLEditor htmlText="&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body contenteditable=&quot;true&quot;&gt;&lt;/body&gt;&lt;/html&gt;" minWidth="100.0" prefHeight="200.0" prefWidth="-1.0" />
-          </content>
-        </TitledPane>
-        <TitledPane id="x1" animated="true" expanded="false" text="Empty">
-          <content>
-            <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
-              <children>
-                <Button layoutX="0.0" layoutY="0.0" mnemonicParsing="false" text="Button" />
-              </children>
-            </AnchorPane>
-          </content>
-        </TitledPane>
-        <fx:reference source="x3" />
-      </panes>
-    </Accordion>
-    <ChoiceBox layoutX="234.0" layoutY="85.0" prefWidth="160.0">
-      <items>
-        <FXCollections fx:factory="observableArrayList">
-          <String fx:value="Item 1" />
-          <String fx:value="Item 2" />
-          <String fx:value="Item 3" />
-        </FXCollections>
-      </items>
-    </ChoiceBox>
-    <Slider layoutX="304.0" layoutY="154.0" prefWidth="230.0" />
-    <Slider layoutX="541.0" layoutY="34.0" orientation="VERTICAL" prefHeight="240.0" showTickMarks="true" />
-    <ToggleButton layoutX="441.0" layoutY="196.0" mnemonicParsing="false" prefWidth="90.0" selected="false" text="Toggle" toggleGroup="$toggle1" />
-    <ComboBox editable="true" layoutX="395.0" layoutY="243.0" prefWidth="136.0001220703125" promptText="Choose">
-      <items>
-        <FXCollections fx:factory="observableArrayList">
-          <String fx:value="Item 1" />
-          <String fx:value="Item 2" />
-          <String fx:value="Item 3" />
-        </FXCollections>
-      </items>
-    </ComboBox>
-    <ProgressIndicator layoutX="582.0" layoutY="287.0" prefHeight="52.0" prefWidth="46.0" progress="-1.0" />
-    <VBox layoutX="582.0" layoutY="39.0" prefHeight="235.0" prefWidth="315.0" style="-fx-border-color: black; -fx-border-width: 3; -fx-border-insets: -3;&#10;">
-      <children>
-        <MenuBar prefWidth="200.0">
-          <menus>
-            <Menu mnemonicParsing="false" text="File">
-              <items>
-                <MenuItem mnemonicParsing="false" text="Close" />
-              </items>
-            </Menu>
-            <Menu mnemonicParsing="false" text="Edit">
-              <items>
-                <MenuItem mnemonicParsing="false" text="Delete" />
-              </items>
-            </Menu>
-            <Menu mnemonicParsing="false" text="Help">
-              <items>
-                <MenuItem mnemonicParsing="false" text="About" />
-              </items>
-            </Menu>
-          </menus>
-        </MenuBar>
-        <ToolBar prefWidth="200.0">
-          <items>
-            <Button mnemonicParsing="false" text="New" />
-            <Button mnemonicParsing="false" text="Delete" />
-            <Button mnemonicParsing="false" text="Save" />
-            <Button mnemonicParsing="false" text="Exit" />
-          </items>
-        </ToolBar>
-        <TabPane prefHeight="130.0" prefWidth="200.0" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="ALWAYS">
-          <tabs>
-            <Tab text="Tab 1">
-              <content>
-                <VBox prefHeight="200.0" prefWidth="100.0" spacing="6.0">
-                  <children>
-                    <RadioButton mnemonicParsing="false" text="RadioButton 1">
-                      <toggleGroup>
-                        <ToggleGroup fx:id="toggle2" />
-                      </toggleGroup>
-                    </RadioButton>
-                    <RadioButton mnemonicParsing="false" text="RadioButton 2" toggleGroup="$toggle2" />
-                    <CheckBox mnemonicParsing="false" selected="true" text="CheckBox" />
-                    <CheckBox mnemonicParsing="false" text="CheckBox" />
-                  </children>
-                  <padding>
-                    <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
-                  </padding>
-                </VBox>
-              </content>
-            </Tab>
-            <Tab text="Tab 2">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-            <Tab text="Tab 3">
-              <content>
-                <AnchorPane id="Content" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
-              </content>
-            </Tab>
-          </tabs>
-        </TabPane>
-      </children>
-    </VBox>
-    <RadioButton layoutX="240.0" layoutY="199.0" mnemonicParsing="false" text="r1" toggleGroup="$toggle1" />
-    <RadioButton layoutX="290.0" layoutY="199.0" mnemonicParsing="false" text="r2" toggleGroup="$toggle1" />
-    <CheckBox layoutX="471.0" layoutY="294.0" mnemonicParsing="false" selected="true" text="Check" />
-  </children>
-</AnchorPane>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apps/samples/Ensemble8/build.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,19 @@
+
+
+apply plugin:'application'
+
+def mainClassName = "ensemble.EnsembleApp"
+
+def FileCollection apachecp = files(
+   "./lib/lucene-grouping-3.2.0.jar",
+   "./lib/lucene-core-3.2.0.jar") 
+
+sourceSets {
+    main {
+        compileClasspath += apachecp
+    }
+} 
+
+jar {
+    manifest.attributes("Main-Class": mainClassName)
+}
--- a/build.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/build.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -229,14 +229,6 @@
 }
 ext.BUILD_CLOSED = buildClosed
 
-def closedDir = file("../rt-closed");
-def supplementalPropertyFile = file("$closedDir/closed-properties.gradle");
-def supplementalBuildFile = file("$closedDir/closed-build.gradle");
-
-if (BUILD_CLOSED) {
-    apply from: supplementalPropertyFile
-}
-
 // These variables indicate what platform is running the build. Is
 // this build running on a Mac, Windows, or Linux machine? 32 or 64 bit?
 ext.OS_NAME = System.getProperty("os.name").toLowerCase()
@@ -268,9 +260,21 @@
 defineProperty("JAVAH", cygpath("$JDK_HOME/bin/javah${IS_WINDOWS ? '.exe' : ''}"))
 defineProperty("JAVADOC", cygpath("$JDK_HOME/bin/javadoc${IS_WINDOWS ? '.exe' : ''}"))
 defineProperty("JDK_DOCS", "http://download.oracle.com/javase/7/docs/api")
-defineProperty("BINARY_STUB", cygpath("$JDK_HOME/jre/lib/ext/jfxrt.jar"))
+defineProperty("STUB_RUNTIME", "$JDK_HOME/jre")
+defineProperty("BINARY_STUB", cygpath("$STUB_RUNTIME/lib/ext/jfxrt.jar"))
+defineProperty("LIBRARY_STUB", IS_MAC ? cygpath("$STUB_RUNTIME/lib") :
+                               IS_WINDOWS ? cygpath("$STUB_RUNTIME/bin") :
+                               cygpath("$STUB_RUNTIME/lib/$OS_ARCH"))
 ext.BINARY_STUB = "".equals(BINARY_STUB) ? null : files(BINARY_STUB)
 
+def closedDir = file("../rt-closed");
+def supplementalPropertyFile = file("$closedDir/closed-properties.gradle");
+def supplementalBuildFile = file("$closedDir/closed-build.gradle");
+
+if (BUILD_CLOSED) {
+    apply from: supplementalPropertyFile
+}
+
 // COMPILE_WEBKIT specifies whether to build all of webkit. COMPILE_GSTREAMER
 // specifies whether to build GStreamer. Both of these can be set by a
 // command line property
@@ -349,21 +353,19 @@
 
 /**
  * Fetch/Check that external tools are present for the build. This method
- * will conditionaly download the packages from project defined ivy repositories
+ * will conditionally download the packages from project defined ivy repositories
  * and unpack them into the specified destdir
  *
- * @param configName A unique name to distiguish the configuration (ie "ARMSFV6")
- * @param packages A list of required packages (with extentions .tgz, .zip)
+ * @param configName A unique name to distinguish the configuration (ie "ARMSFV6")
+ * @param packages A list of required packages (with extensions .tgz, .zip)
  * @param destdir where the packages should be unpacked
  * @param doFetch if true, the named packages will be download
  */
 void fetchExternalTools(String configName, List packages, File destdir, boolean doFetch) {
-
-
     if (doFetch) {
-        // create a uniuqe configuration for this fetch
-        def String thisconfig = "fetchTools$configName"
-        rootProject.configurations.create(thisconfig)
+        // create a unique configuration for this fetch
+        def String fetchToolsConfig = "fetchTools$configName"
+        rootProject.configurations.create(fetchToolsConfig)
 
         def List<String> fetchedPackages = []
         def int fetchCount = 0
@@ -377,7 +379,7 @@
             def File pkgdir = file("$destdir/$basename-$ver")
 
             if (!pkgdir.isDirectory()) {
-                rootProject.dependencies.add(thisconfig, "javafx:$basename:$ver", {
+                rootProject.dependencies.add(fetchToolsConfig, "javafx:$basename:$ver", {
                     artifact {
                         name = basename
                         version = ver
@@ -390,19 +392,17 @@
             }
         }
 
-
         //fetch all the missing packages
         if (fetchedPackages.size > 0) {
             destdir.mkdirs()
 
             logger.quiet "fetching missing packages $fetchedPackages"
             copy {
-                from rootProject.configurations[thisconfig]
+                from rootProject.configurations[fetchToolsConfig]
                 into destdir
             }
 
             // unpack the fetched packages
-
             fetchedPackages.each { pkgname->
                 logger.quiet "expanding the package $pkgname"
                 def srcball = file("${destdir}/${pkgname}")
@@ -422,12 +422,12 @@
                             workingDir pkgdir
                             commandLine "tar", "zxf", "${srcball}"
                          }
-                     } else {
-                         copy {
-                             from tarTree(resources.gzip("${srcball}"))
-                             into pkgdir
-                         }
-                     }
+                    } else {
+                        copy {
+                            from tarTree(resources.gzip("${srcball}"))
+                            into pkgdir
+                        }
+                    }
                 } else if (pkgname.endsWith(".zip")) {
                      copy {
                          from zipTree("${srcball}")
@@ -461,7 +461,7 @@
 }
 
 // Now we need to define the native compilation tasks. The set of parameters to
-// native compiliation depends on the target platform (and also to some extent what platform
+// native compilation depends on the target platform (and also to some extent what platform
 // you are compiling on). These settings are contained in various gradle files
 // such as mac.gradle and linux.gradle and armhf.gradle. Additionally, the developer
 // can specify COMPILE_FLAGS_FILE to be a URL or path to a different gradle file
@@ -597,9 +597,9 @@
  *    - CCTask compiles native code. Specifically it will compile .m, .c,     *
  *      .cpp, or .cc files. It uses the headers provided by the               *
  *      JavaHeaderTask plus additional platform specific headers. It will     *
- *      compile into .obj files.                       *
+ *      compile into .obj files.                                              *
  *    - LinkTask will perform native linking and create the .dll / .so /      *
- *      .dylib as necessary.
+ *      .dylib as necessary.                                                  *
  *                                                                            *
  *****************************************************************************/
 
@@ -737,7 +737,7 @@
 
 allprojects {
     // We want to configure all projects as java projects and use the same compile settings
-    // etc, except for the root project which we just want to ignore
+    // etc, except for the root project which we just want to ignore (and for now media and web...)
     if (project == rootProject || project.name == "media" || project.name == "web") return
     // All of our projects are java projects
     apply plugin: "java"
@@ -759,7 +759,9 @@
                     artifact "[artifact].[ext]"
                 }
             }
+            // We have this repo for getting the plugin.jar from the existing JRE
             flatDir {
+                dir "$STUB_RUNTIME/lib/"
                 dir "$JDK_HOME/jre/lib/"
             }
         }
@@ -869,15 +871,17 @@
         compile name: "plugin"
         compile name: SWT_FILE_NAME
         stubCompile group: "junit", name: "junit", version: "4.8.2",
-            project(":base").sourceSets.test.output, sourceSets.main.output
+        project(":base").sourceSets.test.output, sourceSets.main.output
         antlr3 group: "org.antlr", name: "antlr", version: "3.1.3"
+        antlr3 group: "org.antlr", name: "antlr-runtime",  version: "3.1.3"
+        antlr3 group: "org.antlr", name: "stringtemplate", version: "3.2"
     }
 
     // Add tasks for native compilation
     addNative(project, "glass");
     addNative(project, "prism")
     addNative(project, "prismSW")
-
+    addNative(project, "font")
     addNative(project, "iio")
     addNative(project, "prismES2")
 
@@ -1102,6 +1106,37 @@
     }
     test.dependsOn testWithoutStub, testWithStub
 
+    // To enable the IDEs to all be happy (no red squiggles) we need to have the libraries
+    // available in some known location. Maybe in the future the Gradle plugins to each
+    // of the IDEs will be good enough that we won't need this hack anymore.
+    classes << {
+        // Copy all of the download libraries to .libs for the sake of the IDEs
+        File libsDir = rootProject.file(".libs");
+        if (!libsDir.exists()) {
+            libsDir.mkdirs();
+            for (File f : [configurations.compile.files, configurations.antlr3.files].flatten()) {
+                copy {
+                    into libsDir
+                    from f.getParentFile()
+                    include "**/plugin.jar"
+                    include "**/antlr-3.1.3.jar"
+                    include "**/stringtemplate-3.2.jar"
+                    include "**/antlr-runtime-3.1.3.jar"
+                    includeEmptyDirs = false
+                }
+                // Have to rename the swt jar because it is some platform specific name but
+                // for the sake of the IDEs we need to have a single stable name that works
+                // on every platform
+                copy {
+                    into libsDir
+                    from f.getParentFile()
+                    include "**/*swt*.jar"
+                    includeEmptyDirs = false
+                    rename ".*swt.*jar", "swt\\.jar"
+                }
+            }
+        }
+    }
 }
 
 project(":controls") {
@@ -1290,9 +1325,9 @@
         task compileLauncher(dependsOn: [compileWinLauncher, compileIconSwap])
         jar.dependsOn compileLauncher;
     } else if (COMPILE_FXPACKAGER) {
-        task compileLauncher(type: CCTask, group: "Build") {
-            description = "Compiles native sources for the application co-bundle launcher"
-            if (IS_MAC) {
+        if (IS_MAC) {
+            task compileLauncher(type: CCTask, group: "Build") {
+                description = "Compiles native sources for the application co-bundle launcher"
                 matches = ".*\\.m"
                 output(file("$buildDir/classes/main/com/sun/javafx/tools/resource/mac"))
                 params.addAll(MAC.launcher.ccFlags)
@@ -1301,19 +1336,26 @@
                 eachOutputFile = { f ->
                     return new File(f.getParent(), "JavaAppLauncher")
                 }
-            } else {
+            }
+            jar.dependsOn compileLauncher;
+        } else {
+            def ccTask = project.task("compileLauncher", type: CCTask, group: "Build") {
+                description = "Compiles native sources for the application co-bundle launcher"
                 matches = ".*\\.c"
-                output(file("$buildDir/classes/main/com/sun/javafx/tools/resource/linux"))
+                output(file("$buildDir/native/launcher"))
                 params.addAll(LINUX.launcher.ccFlags)
                 compiler = LINUX.launcher.compiler
-                linkerOptions.addAll(LINUX.launcher.linkFlags)
                 source file("src/main/native/launcher/linux")
-                eachOutputFile = { f ->
-                    return new File(f.getParent(), "JavaAppLauncher")
-                }
             }
+            def linkTask = project.task("linkLauncher", type: LinkTask, dependsOn: ccTask, group: "Build") {
+                description = "Creates native dynamic library for the application co-bundle launcher"
+                linker = LINUX.launcher.linker
+                linkParams.addAll(LINUX.launcher.linkFlags)
+                objectDir = file("$buildDir/native/launcher")
+                lib = file("$buildDir/classes/main/com/sun/javafx/tools/resource/linux/JavaAppLauncher")
+            }
+            jar.dependsOn linkTask;
         }
-        jar.dependsOn compileLauncher;
     }
 
     // Builds the javafxpackager executable. For everything other than windows,
@@ -1374,6 +1416,23 @@
     }
 
     jar.dependsOn buildJavaFXPackager
+
+    classes << {
+        // Copy all of the download libraries to .libs for the sake of the IDEs
+        File libsDir = rootProject.file(".libs");
+        File antLib = new File(libsDir, "ant-1.8.2.jar")
+        if (!antLib.exists()) {
+            libsDir.mkdirs();
+            for (File f : configurations.compile.files) {
+                copy {
+                    into libsDir
+                    from f.getParentFile()
+                    include "**/ant-1.8.2.jar"
+                    includeEmptyDirs = false
+                }
+            }
+        }
+    }
 }
 
 allprojects {
@@ -1487,13 +1546,13 @@
 
 task sdk()
 
+// this is empty, allowing us to depend on the task, which may have other
+// real intances added later.
+task copyAppsArtifacts() 
+
 task apps() {
     dependsOn(sdk)
-
-    // TODO: implement this
-    doLast {
-        println "rt/apps not yet built"
-    }
+    dependsOn(copyAppsArtifacts)
 }
 
 task fullTest() {
@@ -1551,7 +1610,6 @@
     dependsOn(sdk,publicExports,apps,perf,zips)
 }
 
-
 compileTargets { t ->
     def targetProperties = project.ext[t.upper]
     // The jfxrt task is responsible for creating the jfxrt.jar. A developer may
@@ -1608,6 +1666,7 @@
                 from("modules/graphics/build/libs/jsl-decora/${t.name}/${library(targetProperties.decora.lib)}",
                      "modules/graphics/build/libs/prism/${t.name}/${library(targetProperties.prism.lib)}",
                      "modules/graphics/build/libs/prismSW/${t.name}/${library(targetProperties.prismSW.lib)}",
+                     "modules/graphics/build/libs/font/${t.name}/${library(targetProperties.font.lib)}",
                      "modules/graphics/build/libs/iio/${t.name}/${library(targetProperties.iio.lib)}");
                 def es2Variants = targetProperties.prismES2.containsKey("variants") ? targetProperties.prismES2.variants : [""];
                 es2Variants.each { variant ->
@@ -1989,7 +2048,7 @@
     }
 }
 
-// TODO need to do the iOS stuff (ios package of prism-es2-native, ios package of javafx-iio-native)
+// TODO need to do the iOS stuff (ios package of prism-es2-native, ios package of javafx-iio-native javafx-font-native)
 
 project(":graphics") {
     idea {
@@ -2136,6 +2195,66 @@
     }
 }
 
+/*
+ * This clause changes the way we handle a build.gradle within ./apps
+ * It does a few things:
+ *   modifies the classpath used to include the built runttime classes
+ *   provides for copying the build applications to the artifacts tree
+ *
+ * The applications to be built will be under ./apps, but also must
+ * be listed in the applications listed in the setting variable: JFXApplications 
+ */
+ext.JFXRT_CP = 
+    files(
+	project(":base").sourceSets.main.output.classesDir,
+	project(":graphics").sourceSets.main.output.classesDir,
+	project(":controls").sourceSets.main.output.classesDir,
+	project(":fxml").sourceSets.main.output.classesDir,
+	project(":swing").sourceSets.main.output.classesDir, //NOTE - used by 3Dviewer
+	//project(":swt").sourceSets.main.output.classesDir,
+	project(":builders").sourceSets.main.output.classesDir,
+        "modules/media/build/classes/main", 
+        "modules/web/build/classes/main", 
+	)
+
+if (BINARY_STUB != null) {
+    JFXRT_CP += BINARY_STUB 
+}
+
+// TODO: better place for this ?
+ext.APPS_ARTIFACTS="$jfxArtifactsDir/apps"
+
+childProjects["apps"].subprojects { 
+    afterEvaluate { project ->
+	// this check is to make sure we are using a java or application plugin
+        // in our child projects of ./apps
+        if (project.hasProperty("jar") && project.hasProperty("compileJava")) {
+            // augment the classpath with our build system classpath 
+            // which will include our local jfxrt.jar
+           project.compileJava {
+               // TODO: don't know how to do this correctly
+	       //dependsOn project(":graphics").classes, project(":controls").classes, project(":base").classes
+	       doFirst {
+		   classpath = rootProject.JFXRT_CP + 
+                       sourceSets.main.compileClasspath
+	       }
+            }
+            test.exclude("**/*");
+
+            def srcdir = new File ("$project.projectDir/src");
+
+            if (BUILD_CLOSED && srcdir.exists()) {
+                def cptask = project.task('copyAppsArtifacts', type: Copy ) {
+                dependsOn project.getPath() + ":jar"
+		    from project.jar.archivePath
+		    into rootProject.APPS_ARTIFACTS
+		}
+                rootProject.apps.dependsOn(cptask)
+	    }
+	}
+    }
+}
+
 /******************************************************************************
  *                                                                            *
  *                              BUILD_CLOSED                                  *
--- a/build.properties	Fri Jun 21 17:43:06 2013 -0700
+++ b/build.properties	Wed Jun 26 12:20:13 2013 -0700
@@ -52,5 +52,5 @@
 ##############################################################################
 
 jfx.build.jdk.version=1.8.0
-jfx.build.jdk.buildnum=94
+jfx.build.jdk.buildnum=95
 jfx.build.jdk.buildnum.min=91
--- a/build.xml	Fri Jun 21 17:43:06 2013 -0700
+++ b/build.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -132,6 +132,7 @@
         <ant antfile="${rt.root.dir}/decora-prism-sw/build.xml" target="jar" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/decora-prism-ps/build.xml" target="jar" inheritAll="false"/>
         <antcall target="jar-decora-sse"/>
+        <ant antfile="${rt.root.dir}/javafx-font/build.xml" target="jar" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/prism-util/build.xml" target="jar" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/prism-common/build.xml" target="jar" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/prism-j2d/build.xml" target="jar" inheritAll="false"/>
@@ -268,6 +269,7 @@
         <ant antfile="${rt.root.dir}/decora-prism-sw/build.xml" target="clean" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/decora-prism-ps/build.xml" target="clean" inheritAll="false"/>
         <antcall target="clean-decora-sse"/>
+        <ant antfile="${rt.root.dir}/javafx-font/build.xml" target="clean" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/prism-util/build.xml" target="clean" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/prism-common/build.xml" target="clean" inheritAll="false"/>
         <ant antfile="${rt.root.dir}/prism-j2d/build.xml" target="clean" inheritAll="false"/>
--- a/generator.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/generator.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -32,16 +32,21 @@
     project.ext.FXDir = "../javafx"
 }
 
+def verbose = false
+if (project.hasProperty('VERBOSE')) {
+    verbose = Boolean.parseBoolean(VERBOSE);
+}
+
 task generate << {
-    def excludeFromSource = ["META-INF/**", "**/doc-files/**/*", "**/*.properties", "**/*.stg", "**/*.g", "**/*.css", "**/*.png", "**/*.jpg", "nbproject", "*.iml", "**/*.txt", "**/*.fxml", "**/*.bak", "**/*.orig", "**/*.js", "**/*.frag", "**/*.vert"]
-    def includeInResources = ["META-INF/**", "**/*.properties", "**/*.stg", "**/*.css", "**/*.png", "**/*.jpg", "**/*.txt", "**/*.fxml", "**/*.js", "**/*.frag", "**/*.vert"]
+    def excludeFromSource = ["META-INF/**", "**/doc-files/**/*", "**/*.properties", "**/*.stg", "**/*.g", "**/*.css", "**/*.png", "**/*.jpg", "**/*.gif", "nbproject", "*.iml", "**/*.txt", "**/*.fxml", "**/*.bak", "**/*.orig", "**/*.js", "**/*.frag", "**/*.vert"]
+    def includeInResources = ["META-INF/**", "**/*.properties", "**/*.stg", "**/*.css", "**/*.png", "**/*.jpg", "**/*.gif", "**/*.txt", "**/*.fxml", "**/*.js", "**/*.frag", "**/*.vert"]
     def excludeFromResources = ["**/doc-files/**/*"]
 
     // Copy over the new gradle build files, LICENSE, and README
     copy {
         from RTDir
         into FXDir
-        include "*.gradle", "LICENSE", "README", "gradle.properties", "build.properties"
+        include "*.gradle", "LICENSE", "README", "gradle.properties.template", "build.properties"
         exclude "generator.gradle"
         eachFile { f ->
             fileList.add(f.file);
@@ -51,6 +56,13 @@
     // Copy over the apps
     ["ConferenceScheduleApp", "Modena"].each { app ->
         copy {
+            from "$RTDir/apps/experiments/$app/build.gradle"
+            into "$FXDir/apps/experiments/$app"
+            eachFile { f ->
+                fileList.add(f.file);
+            }
+        }
+        copy {
             from "$RTDir/apps/experiments/$app/src"
             into "$FXDir/apps/experiments/$app/src/main/java"
             exclude excludeFromSource
@@ -72,6 +84,13 @@
 
     ["3DViewer"].each { app ->
         copy {
+            from "$RTDir/apps/experiments/$app/build.gradle"
+            into "$FXDir/apps/experiments/$app"
+            eachFile { f ->
+                fileList.add(f.file);
+            }
+        }
+        copy {
             from "$RTDir/apps/experiments/$app/src"
             into "$FXDir/apps/experiments/$app/src"
             exclude "main/java/META-INF/MANIFEST.MF"
@@ -83,6 +102,13 @@
 
     // Copy over Ensemble8. Some special care taken for the generated stuff.
     copy {
+        from "$RTDir/apps/samples/Ensemble8/build.gradle"
+        into "$FXDir/apps/samples/Ensemble8"
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
+    copy {
         from "$RTDir/apps/samples/Ensemble8/src"
         into "$FXDir/apps/samples/Ensemble8/src/main/java"
         exclude excludeFromSource
@@ -102,6 +128,13 @@
             fileList.add(f.file);
         }
     }
+    copy {
+        from "$RTDir/apps/samples/Ensemble8/lib"
+        into "$FXDir/apps/samples/Ensemble8/lib"
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
 
     // Create the buildSrc project
     copy {
@@ -112,6 +145,24 @@
         }
     }
 
+    // Create the NetBeans projects
+    copy {
+        from "$RTDir/gradleNetBeans"
+        into "$FXDir/netbeansProjs"
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
+    
+    // Copy the Eclipse project files
+    copy {
+        from "${RTDir}/gradleEclipse/"
+        into "${FXDir}/"
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
+
     copy {
         from "${RTDir}/javafx-beans/src"
         into "${FXDir}/buildSrc/src/main/java"
@@ -246,6 +297,7 @@
              "${RTDir}/javafx-accessible/src",
              "${RTDir}/javafx-ui-common/src",
              "${RTDir}/javafx-concurrent/src",
+             "${RTDir}/javafx-font/src",
              "${RTDir}/javafx-geom/src",
              "${RTDir}/javafx-geom/cagsrc.double",
              "${RTDir}/javafx-iio/src",
@@ -286,6 +338,7 @@
              "${RTDir}/decora-sse/src",
              "${RTDir}/javafx-ui-common/src",
              "${RTDir}/javafx-concurrent/src",
+             "${RTDir}/javafx-font/src",
              "${RTDir}/javafx-geom/src",
              "${RTDir}/javafx-geom/cagsrc.double",
              "${RTDir}/javafx-iio/src",
@@ -324,11 +377,15 @@
         }
     }
     copy {
-        from "${RTDir}/javafx-concurrent/test",
+        from "${RTDir}/decora-runtime/test",
+             "${RTDir}/javafx-concurrent/test",
              "${RTDir}/javafx-geom/test",
+             "${RTDir}/javafx-iio/test",
              "${RTDir}/javafx-sg-common/test",
              "${RTDir}/javafx-sg-prism/test",
-             "${RTDir}/javafx-ui-quantum/test"
+             "${RTDir}/javafx-ui-quantum/test",
+             "${RTDir}/prism-common/test",
+             "${RTDir}/prism-ps/test"
         into "${FXDir}/modules/graphics/src/test/java"
         exclude excludeFromSource
         eachFile { f ->
@@ -336,11 +393,15 @@
         }
     }
     copy {
-        from "${RTDir}/javafx-concurrent/test",
+        from "${RTDir}/decora-runtime/test",
+             "${RTDir}/javafx-concurrent/test",
              "${RTDir}/javafx-geom/test",
+             "${RTDir}/javafx-iio/test",
              "${RTDir}/javafx-sg-common/test",
              "${RTDir}/javafx-sg-prism/test",
-             "${RTDir}/javafx-ui-quantum/test"
+             "${RTDir}/javafx-ui-quantum/test",
+             "${RTDir}/prism-common/test",
+             "${RTDir}/prism-ps/test"
         into "${FXDir}/modules/graphics/src/test/resources"
         include includeInResources
         exclude excludeFromResources
@@ -387,6 +448,26 @@
     }
 
     copy {
+        from "${RTDir}/javafx-beans-dt/test",
+             "${RTDir}/javafx-designtime/test"
+        into "${FXDir}/modules/designTime/src/test/java"
+        exclude excludeFromSource
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
+    copy {
+        from "${RTDir}/javafx-beans-dt/test",
+             "${RTDir}/javafx-designtime/test"
+        into "${FXDir}/modules/designTime/src/test/resources"
+        include includeInResources
+        exclude excludeFromResources
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
+
+    copy {
         from "${RTDir}/prism-ps/jsl",
              "${RTDir}/prism-ps/shadergen"
         into "${FXDir}/modules/graphics/src/main/jsl-prism"
@@ -410,6 +491,14 @@
     }
 
     copy {
+        from "${RTDir}/javafx-font-native/src"
+        into "${FXDir}/modules/graphics/src/main/native-font"
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
+
+    copy {
         from "${RTDir}/javafx-iio-native/src"
         into "${FXDir}/modules/graphics/src/main/native-iio"
         eachFile { f ->
@@ -732,6 +821,16 @@
     }
 
     copy {
+        from "${RTDir}/webview/src"
+        into "${FXDir}/modules/web/src/main/resources"
+        include includeInResources
+        exclude excludeFromResources
+        eachFile { f ->
+            fileList.add(f.file);
+        }
+    }
+
+    copy {
         from "${RTDir}/webview/test"
         into "${FXDir}/modules/web/src/test/java"
         exclude excludeFromSource
@@ -775,7 +874,6 @@
             fileList.add(f.file);
         }
     }
-
     // Find every empty directory and nuke it
     def empty = []
     fileTree("$FXDir").visit {
@@ -791,11 +889,11 @@
         // Delete all copied files
         def nFiles = fileList.size();
         println "Deleting ${nFiles} files"
-        /*
-        fileList.each { f ->
-            println "rm $f";
+        if (verbose) {
+            fileList.each { f ->
+                println "delete: $f";
+            }
         }
-        */
         delete(fileList);
 
     }
--- a/glass/glass-lib-ios/src/GlassApplication.m	Fri Jun 21 17:43:06 2013 -0700
+++ b/glass/glass-lib-ios/src/GlassApplication.m	Wed Jun 26 12:20:13 2013 -0700
@@ -337,6 +337,18 @@
     GLASS_CHECK_EXCEPTION(env);
 }
 
+- (void)callDidReceiveMemoryWarning
+{
+    GET_MAIN_JENV;
+    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+    {
+        (*env)->CallVoidMethod(env, self.jApplication, [GlassHelper ApplicationNotifyDidReceiveMemoryWarningMethod]);
+    }
+    [pool drain];
+    GLASS_CHECK_EXCEPTION(env);
+}
+
+
 - (void)callWillBecomeActive
 {
     GET_MAIN_JENV;
@@ -400,6 +412,10 @@
     [self applicationCallback:@selector(callDidResignActive)];
 }
 
+- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
+    GLASS_LOG("GlassApplication:applicationDidReceiveMemoryWarning");
+    [self applicationCallback:@selector(callDidReceiveMemoryWarning)];
+}
 
 - (void)applicationWillEnterForeground:(UIApplication *)application {
     /*
--- a/glass/glass-lib-ios/src/GlassHelper.h	Fri Jun 21 17:43:06 2013 -0700
+++ b/glass/glass-lib-ios/src/GlassHelper.h	Wed Jun 26 12:20:13 2013 -0700
@@ -47,5 +47,6 @@
 + (jmethodID)ApplicationNotifyWillResignActiveMethod;
 + (jmethodID)ApplicationNotifyDidResignActiveMethod;
 + (jmethodID)ApplicationNotifyQuitMethod;
++ (jmethodID)ApplicationNotifyDidReceiveMemoryWarningMethod;
 
 @end
--- a/glass/glass-lib-ios/src/GlassHelper.m	Fri Jun 21 17:43:06 2013 -0700
+++ b/glass/glass-lib-ios/src/GlassHelper.m	Wed Jun 26 12:20:13 2013 -0700
@@ -206,6 +206,22 @@
     return _ApplicationNotifyDidResignActiveMethod;
 }
 
++ (jmethodID)ApplicationNotifyDidReceiveMemoryWarningMethod
+{
+    static jmethodID _ApplicationNotifyDidReceiveMemoryWarningMethod = NULL;
+    if (_ApplicationNotifyDidReceiveMemoryWarningMethod == NULL)
+    {
+        GET_MAIN_JENV;
+        _ApplicationNotifyDidReceiveMemoryWarningMethod = (*env)->GetMethodID(env, [GlassHelper ApplicationClass], "notifyDidReceiveMemoryWarning", "()V");
+        GLASS_CHECK_EXCEPTION(env);
+    }
+    if (_ApplicationNotifyDidReceiveMemoryWarningMethod == NULL)
+    {
+        NSLog(@"GlassHelper error: _ApplicationNotifyDidReceiveMemoryWarningMethod == NULL");
+    }
+    return _ApplicationNotifyDidReceiveMemoryWarningMethod;
+}
+
 
 + (jmethodID)ApplicationNotifyQuitMethod
 {
--- a/glass/glass/src/com/sun/glass/ui/Application.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/glass/glass/src/com/sun/glass/ui/Application.java	Wed Jun 26 12:20:13 2013 -0700
@@ -62,6 +62,9 @@
         // currently used only on Mac OS X
         public void handleDidResignActiveAction(Application app, long time) {
         }
+        // currently used only on iOS
+        public void handleDidReceiveMemoryWarning(Application app, long time) {
+        }
         // currently used only on Mac OS X
         public void handleWillHideAction(Application app, long time) {
         }
@@ -214,6 +217,13 @@
         }
     }
     
+    private void notifyDidReceiveMemoryWarning() {
+        EventHandler handler = getEventHandler();
+        if (handler != null) {
+            handler.handleDidReceiveMemoryWarning(this, System.nanoTime());
+        }
+    }
+    
     private void notifyWillHide() {
         EventHandler handler = getEventHandler();
         if (handler != null) {
--- a/glass/glass/src/com/sun/glass/ui/lens/LensCursor.java	Fri Jun 21 17:43:06 2013 -0700
+++ b/glass/glass/src/com/sun/glass/ui/lens/LensCursor.java	Wed Jun 26 12:20:13 2013 -0700
@@ -48,6 +48,7 @@
 
     protected LensCursor(int x, int y, Pixels pixels) {
         super(x, y, pixels);
+        ptr = getNativeCursor();
     }
 
 
--- a/gradle.properties	Fri Jun 21 17:43:06 2013 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-#
-# Copyright (c) 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.
-#
-
-#####################################################################################
-#                                                                                   #
-# This properties file allows for a developer to override various properties used   #
-# when building JavaFX. In general you should not edit this file directly, but      #
-# rather, copy it into your ~/.gradle/ directory (into a file also called           #
-# gradle.properties). Any settings you configure there will have precedence over    #
-# any values specified in the build script itself or in the gradle.properties       #
-# file in the project directory.                                                    #
-#                                                                                   #
-#####################################################################################
-
-
-# This property allows developers to build using the closed source repository.
-# For open source developers, this flag is unnecessary and should never be set.
-
-#BUILD_CLOSED = true
-
-# These properties give developers the chance to skip building WebKit and/or
-# GStreamer. WebKit takes a fair amount of time to build (more than 50% of the
-# overall full build time is taken by WebKit), so allowing a developer to
-# selectively enable building of WebKit is important. To build WebKit or
-# GStreamer, uncomment the appropriate lines below.
-
-#COMPILE_WEBKIT = true
-#COMPILE_GSTREAMER = true
-
-# Specify the COMPILE_TARGETS when performing cross compiles. A Cross-Compile is
-# when you build for a platform other than the one you are building on. For example,
-# to build for Apple iOS, you would specify ios as one of the COMPILE_TARGETS.
-# The case is not significant. Valid cross build targets for each OS include:
-#
-#   OS             Target
-#  ------------------------------
-#   Mac             mac
-#   Mac             ios
-#   Mac             swt
-#   Linux           linux
-#   Linux           armv6hf
-#   Linux           armv6sf
-#   Linux           swt
-#   Windows         win
-#   Windows         swt
-#
-# The compile targets are listed as a comma separated list. Alternatively,
-# you can set COMPILE_TARGETS to "all" and every appropriate compile target
-# for your current machine configuration will be used. We will look up and
-# determine whether, for example, you have the Android tools installed and
-# only build Android if those tools are installed.
-#
-# If you manually specify a compile target which cannot be built, then the
-# build will fail. If you specify "all" then only those targets which can
-# be built will be attempted. For example, if your system is missing the
-# required toolchains for embedded builds, then armv6 builds would not
-# even be attempted when "all" is set.
-
-#COMPILE_TARGETS = all
-
-# The JDK_HOME must either be specified or will be inferred based on the JDK / JRE used to
-# execute Gradle. From the JDK_HOME are derived the JAVA, JAVAC, JAVAH, JAVADOC, and BINARY_STUB
-# properties, although each of these may be specified individually. Normally the gradle build
-# will work based on whatever "java" is being used to run gradle. It does this by looking for
-# a JDK relative to the bin/java location. However if you want to build with a different JDK than
-# what is used to execute Gradle, or to fix a failed attempt by the build script to locate the
-# JDK_HOME, you may want to specify it manually here.
-
-#JDK_HOME = /path/to/the/jdk
-#JAVA = /path/to/the/jdk/bin/java
-#JAVAC = /path/to/the/jdk/bin/javac
-#JAVAH = /path/to/the/jdk/bin/javah
-#JAVADOC = /path/to/the/jdk/bin/javadoc
-#BINARY_STUB = /path/to/the/jdk/jre/lib/ext/jfxrt.jar
-
-# The generated JavaDocs contain many references to core JDK classes such as java.lang.String
-# and java.util.concurrent.Executor. These references are resolved via the JDK_DOCS property,
-# which should point to the JDK API documentation. You can override which JDK to point to here.
-# This follows the rules specified in the JavaDoc tool documentation. Examples are below.
-
-#JDK_DOCS = http://download.oracle.com/javase/7/docs/api
-#JDK_DOCS = file:///Library/Java/JavaVirtualMachines/jdk1.8.0/Content/Home/docs/api
-#JDK_DOCS = relative/path/to/docs/api
-
-# Specify the build configuration (Release or Debug). The default setting is Release.
-
-#CONF = Debug
-
-# Enables the use of the "use depend" feature. This speeds up incremental builds, but at the
-# cost of accuracy. Under normal circumstances, if you modify a single source file in the
-# "base" project, a near-complete recompile of the entire project is required for correctness
-# since that change *may* have caused other files to no longer compile / link correctly.
-# However, in many cases this is just additional compilation overhead because you may have
-# only added comments or performed some other work that didn't change the public API in any
-# way. By setting "use depend" to true, the build system will do more extensive analysis to
-# only recompile those classes directly impacted by your change. In some cases this will miss
-# compiling some classes that really do require recompilation and your build will be faulty.
-# This flag is disabled by default for command line builds. Uncomment to make use of "use depend"
-
-#USE_DEPEND = true
-
-# Specify compiler LINT arguments. These values are defined by the javac compiler. You can
-# study the list of available options here http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html
-# If LINT is empty, then no warning are generated. Otherwise, LINT should be a space or comma separated
-# list of names. If the name is prefixed with a '-' then that warning is removed (not used). For example:
-#
-# LINT = static try -varags
-#
-# This command would turn on the "static" and "try" warnings, but turn off the "varargs" warnings. The
-# special values "all" and "none" are used to turn on all recommended warnings, or turn them all off, respectively.
-# The default (for now) is "none" but as we clean up our warnings, we will likely change this to "all".
-
-#LINT = all
-
-# Define the number of threads to use when compiling native code. This value must be
-# > 0, or the build system will default to 1. If not specified, the number of compile
-# threads is determined based on the number of CPU cores on the machine. If this value
-# is too high, the amount of time servicing the threads will start slowing down your
-# build. Likely the optimal value is somewhat larger than the number of cores on the
-# machine, and playing with this value may improve build time performance.
-
-#NUM_COMPILE_THREADS = 12
-
-# The COMPILE_FLAGS_FILE defines the native compilation flags to use. Each native project
-# defines a pair of flags, XXX_CC_FLAGS and XXX_LINK_FLAGS as defined below:
-#
-#   Project         Flags
-#  -----------------------------------
-#   Glass           GLASS_CC_FLAGS, GLASS_LINK_FLAGS
-#   Decora          DECORA_CC_FLAGS, DECORA_LINK_FLAGS
-#   Prism           PRISM_CC_FLAGS, PRISM_LINK_FLAGS
-#   Prism SW        PRISM_SW_CC_FLAGS, PRISM_SW_LINK_FLAGS
-#   Launcher        LAUNCHER_CC_FLAGS, LAUNCHER_LINK_FLAGS
-#
-# Other projects may use CC_FLAGS and LINK_FLAGS, or may not be fully abstracted out yet.
-# As such, the set of flags a COMPILE_FLAGS_FILE must support will change as time goes on.
-# Setting a custom COMPILE_FLAGS_FILE should be something rarely done, usually by
-# somebody who is setting up builds for a new compile target.
-#
-# The COMPILE_FLAGS_FILE is a gradle file and is applied directly by build.gradle.
-# This means that the file can implement logic (if / loop / etc) and has access to all of
-# the properties defined for the build.
-#
-# If not specified, the appropriate COMPILE_FLAGS_FILE for the designated COMPILE_TARGET
-# will be chosen automatically. For example, win.gradle will be used when compiling on
-# windows, and armhf.gradle will be picked up when compiling for armhf (such as for
-# the Raspberry PI).
-#
-# Paths for those properties that take a path should be absolute or relative paths, or they
-# should be full URLs. For example:
-#
-#       COMPILE_FLAGS = foo.gradle
-#       COMPILE_FLAGS = ../foo.gradle
-#       COMPILE_FLAGS = bar/foo.gradle
-#       COMPILE_FLAGS = file:///path/to/foo.gradle
-#
-
-#COMPILE_FLAGS_FILE = path/to/flags/file.gradle
-
-# Define the programs to use for compiling and linking native code. The values specified
-# here will take precedence over those specified in the COMPILE_FLAGS_FILE. This can
-# sometimes lead to errors if the designated compiler cannot handle both C / C++ files,
-# and may also require manipulating the compiler parameters. In general, it is recommended
-# that you supply a custom COMPILE_FLAGS_FILE and set the CC / LINK paths there.
-
-#CC = g++
-#LINK = g++
-
-# Define settings used when creating the VersionInfo. These settings are generally left alone
-# by developers and set only from Hudson. We have to manually rev this version number from
-# release to release.
-
-#HUDSON_JOB_NAME = not_hudson
-#HUDSON_BUILD_NUMBER = 0000
-#PROMOTED_BUILD_NUMBER = 00
-#PRODUCT_NAME = OpenJFX
-#RAW_VERSION = 8.0.0
-#RELEASE_NAME = 8.0
-#RELEASE_MILESTONE = ea
-
-# Variables used when building on the Mac. These should need to be rarely, if ever set. The
-# default value for MACOSX_SDK_PATH is based on the MACOSX_MIN_VERSION, so if you wanted to
-# build with 10.8 instead of 10.7 you could just specify MACOSX_MIN_VERSION and the other
-# settings should not need to be specified.
-
-# MACOSX_MIN_VERSION = 10.7
-# MACOSX_SDK_PATH = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
-# MACOSX_JDK_FRAMEWORK = /System/Library/Frameworks/JavaVM.framework
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradle.properties.template	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,215 @@
+#
+# Copyright (c) 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.
+#
+
+#####################################################################################
+#                                                                                   #
+# This properties file allows for a developer to override various properties used   #
+# when building JavaFX. Any settings you configure in the gradle.properties file    #
+# will have precedence over any values specified in the build script itself.        #
+#                                                                                   #
+#####################################################################################
+
+# This property allows developers to build using the closed source repository.
+# For open source developers, this flag is unnecessary and should never be set.
+
+#BUILD_CLOSED = true
+
+# These properties give developers the chance to skip building WebKit and/or
+# GStreamer. WebKit takes a fair amount of time to build (more than 50% of the
+# overall full build time is taken by WebKit), so allowing a developer to
+# selectively enable building of WebKit is important. To build WebKit or
+# GStreamer, uncomment the appropriate lines below.
+
+#COMPILE_WEBKIT = true
+#COMPILE_GSTREAMER = true
+
+# The building of JavaDoc takes time. By default we disable the building of JavaDoc
+# so as to speed up the time in incremental builds. Uncomment this flag in order to
+# build all the JavaDoc
+
+#SKIP_JAVADOC = false
+
+# Specify the COMPILE_TARGETS when performing cross compiles. A Cross-Compile is
+# when you build for a platform other than the one you are building on. For example,
+# to build for Apple iOS, you would specify ios as one of the COMPILE_TARGETS.
+# The case is not significant. Valid cross build targets for each OS include:
+#
+#   OS             Target
+#  ------------------------------
+#   Mac             mac
+#   Mac             ios
+#   Mac             swt
+#   Mac             android
+#   Linux           linux
+#   Linux           armv6hf
+#   Linux           armv6sf
+#   Linux           swt
+#   Linux           android
+#   Windows         win
+#   Windows         swt
+#   Window          android
+#
+# The compile targets are listed as a comma separated list. Alternatively,
+# you can set COMPILE_TARGETS to "all" and every appropriate compile target
+# for your current machine configuration will be used. We will look up and
+# determine whether, for example, you have the Android tools installed and
+# only build Android if those tools are installed.
+#
+# If you manually specify a compile target which cannot be built, then the
+# build will fail. If you specify "all" then only those targets which can
+# be built will be attempted. For example, if your system is missing the
+# required toolchains for embedded builds, then armv6 builds would not
+# even be attempted when "all" is set.
+
+#COMPILE_TARGETS = all
+
+# The JDK_HOME must either be specified or will be inferred based on the JDK / JRE used to
+# execute Gradle. From the JDK_HOME are derived the JAVA, JAVAC, JAVAH, JAVADOC, and STUB_RUNTIME
+# properties, although each of these may be specified individually. In addition the LIBRARY_STUB and
+# BINARY_STUB properties are derived from STUB_RUNTIME. Normally the gradle build
+# will work based on whatever "java" is being used to run gradle. It does this by looking for
+# a JDK relative to the bin/java location. However if you want to build with a different JDK than
+# what is used to execute Gradle, or to fix a failed attempt by the build script to locate the
+# JDK_HOME, you may want to specify it manually here.
+
+#JDK_HOME = /path/to/the/jdk
+#JAVA = /path/to/the/jdk/bin/java
+#JAVAC = /path/to/the/jdk/bin/javac
+#JAVAH = /path/to/the/jdk/bin/javah
+#JAVADOC = /path/to/the/jdk/bin/javadoc
+#STUB_RUNTIME = /path/to/the/jdk/jre
+#BINARY_STUB = /path/to/the/jdk/jre/lib/ext/jfxrt.jar
+#LIBRARY_STUB = /path/to/the/jdk/jre/lib (different location depending on platform)
+
+# The generated JavaDocs contain many references to core JDK classes such as java.lang.String
+# and java.util.concurrent.Executor. These references are resolved via the JDK_DOCS property,
+# which should point to the JDK API documentation. You can override which JDK to point to here.
+# This follows the rules specified in the JavaDoc tool documentation. Examples are below.
+
+#JDK_DOCS = http://download.oracle.com/javase/7/docs/api
+#JDK_DOCS = file:///Library/Java/JavaVirtualMachines/jdk1.8.0/Content/Home/docs/api
+#JDK_DOCS = relative/path/to/docs/api
+
+# Specify the build configuration (Release or Debug). The default setting is Release.
+
+#CONF = Debug
+
+# Enables the use of the "use depend" feature. This speeds up incremental builds, but at the
+# cost of accuracy. Under normal circumstances, if you modify a single source file in the
+# "base" project, a near-complete recompile of the entire project is required for correctness
+# since that change *may* have caused other files to no longer compile / link correctly.
+# However, in many cases this is just additional compilation overhead because you may have
+# only added comments or performed some other work that didn't change the public API in any
+# way. By setting "use depend" to true, the build system will do more extensive analysis to
+# only recompile those classes directly impacted by your change. In some cases this will miss
+# compiling some classes that really do require recompilation and your build will be faulty.
+# This flag is enabled by default for command line builds. Uncomment to turn it off "use depend"
+
+#USE_DEPEND = false
+
+# Specify compiler LINT arguments. These values are defined by the javac compiler. You can
+# study the list of available options here http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javac.html
+# If LINT is empty, then no warning are generated. Otherwise, LINT should be a space or comma separated
+# list of names. If the name is prefixed with a '-' then that warning is removed (not used). For example:
+#
+# LINT = static try -varags
+#
+# This command would turn on the "static" and "try" warnings, but turn off the "varargs" warnings. The
+# special values "all" and "none" are used to turn on all recommended warnings, or turn them all off, respectively.
+# The default (for now) is "none" but as we clean up our warnings, we will likely change this to "all".
+
+#LINT = all
+
+# Define the number of threads to use when compiling native code. This value must be
+# > 0, or the build system will default to 1. If not specified, the number of compile
+# threads is determined based on the number of CPU cores on the machine. If this value
+# is too high, the amount of time servicing the threads will start slowing down your
+# build. Likely the optimal value is somewhat larger than the number of cores on the
+# machine, and playing with this value may improve build time performance.
+
+#NUM_COMPILE_THREADS = 12
+
+# When you are working from behind a proxy and attempting to access public libraries, you need
+# to set the proxy host and port.
+
+#systemProp.http.proxyHost=proxy.my.com
+#systemProp.http.proxyPort=80
+
+# The COMPILE_FLAGS_FILES defines the native compilation flags to use. Each native project
+# defines a pair of flags, XXX_CC_FLAGS and XXX_LINK_FLAGS as defined below:
+#
+#   Project         Flags
+#  -----------------------------------
+#   Glass           GLASS_CC_FLAGS, GLASS_LINK_FLAGS
+#   Decora          DECORA_CC_FLAGS, DECORA_LINK_FLAGS
+#   Prism           PRISM_CC_FLAGS, PRISM_LINK_FLAGS
+#   Prism SW        PRISM_SW_CC_FLAGS, PRISM_SW_LINK_FLAGS
+#   Launcher        LAUNCHER_CC_FLAGS, LAUNCHER_LINK_FLAGS
+#
+# Other projects may use CC_FLAGS and LINK_FLAGS, or may not be fully abstracted out yet.
+# As such, the set of flags a COMPILE_FLAGS_FILES must support will change as time goes on.
+# Setting a custom COMPILE_FLAGS_FILE should be something rarely done, usually by
+# somebody who is setting up builds for a new compile target.
+#
+# The COMPILE_FLAGS_FILES is a gradle file and is applied directly by build.gradle.
+# This means that the file can implement logic (if / loop / etc) and has access to all of
+# the properties defined for the build.
+#
+# If not specified, the appropriate COMPILE_FLAGS_FILES for the designated COMPILE_TARGETS
+# will be chosen automatically. For example, win.gradle will be used when compiling on
+# windows, and armhf.gradle will be picked up when compiling for armhf (such as for
+# the Raspberry PI).
+#
+# Paths for those properties that take a path should be absolute or relative paths, or they
+# should be full URLs. For example:
+#
+#       COMPILE_FLAGS_FILES = foo.gradle
+#       COMPILE_FLAGS_FILES = ../foo.gradle
+#       COMPILE_FLAGS_FILES = bar/foo.gradle
+#       COMPILE_FLAGS_FILES = file:///path/to/foo.gradle
+#
+
+#COMPILE_FLAGS_FILES = path/to/flags/file.gradle, path/to/flags/file2.gradle
+
+# Define settings used when creating the VersionInfo. These settings are generally left alone
+# by developers and set only from Hudson. We have to manually rev this version number from
+# release to release.
+
+#HUDSON_JOB_NAME = not_hudson
+#HUDSON_BUILD_NUMBER = 0000
+#PROMOTED_BUILD_NUMBER = 00
+#PRODUCT_NAME = OpenJFX
+#RAW_VERSION = 8.0.0
+#RELEASE_NAME = 8.0
+#RELEASE_MILESTONE = ea
+
+# Variables used when building on the Mac. These should need to be rarely, if ever set. The
+# default value for MACOSX_SDK_PATH is based on the MACOSX_MIN_VERSION, so if you wanted to
+# build with 10.8 instead of 10.7 you could just specify MACOSX_MIN_VERSION and the other
+# settings should not need to be specified.
+
+# MACOSX_MIN_VERSION = 10.7
+# MACOSX_SDK_PATH = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
+# MACOSX_JDK_FRAMEWORK = /System/Library/Frameworks/JavaVM.framework
--- a/gradleBuildSrc/armv6hf.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/gradleBuildSrc/armv6hf.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -362,7 +362,7 @@
 ARMV6HF.font.javahInclude = [
         "com/sun/javafx/font/**/*",
         "com/sun/javafx/text/**/*"]
-ARMV6HF.font.nativeSource = [file("$closedDir/javafx-font-native/src")]
+ARMV6HF.font.nativeSource = [file("modules/graphics/src/main/native-font")]
 ARMV6HF.font.compiler = compiler
 ARMV6HF.font.ccFlags = fontCFlags
 ARMV6HF.font.linker = linker
--- a/gradleBuildSrc/armv6sf.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/gradleBuildSrc/armv6sf.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -376,7 +376,7 @@
 ARMV6SF.font.javahInclude = [
         "com/sun/javafx/font/**/*",
         "com/sun/javafx/text/**/*"]
-ARMV6SF.font.nativeSource = [file("$closedDir/javafx-font-native/src")]
+ARMV6SF.font.nativeSource = [file("modules/graphics/src/main/native-font")]
 ARMV6SF.font.compiler = compiler
 ARMV6SF.font.ccFlags = fontCFlags
 ARMV6SF.font.linker = linker
--- a/gradleBuildSrc/ios.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/gradleBuildSrc/ios.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -216,7 +216,7 @@
 IOS.font.variants = ["arm", "x86"];
 
 IOS.font.arm = [:]
-IOS.font.arm.nativeSource = [file("$closedDir/javafx-font-native/src")]
+IOS.font.arm.nativeSource = [file("modules/graphics/src/main/native-font")]
 IOS.font.arm.compiler = compiler
 IOS.font.arm.ccFlags = ["-DJFXFONT_PLUS", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
 IOS.font.arm.linker = linker
--- a/gradleBuildSrc/linux.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/gradleBuildSrc/linux.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -144,7 +144,7 @@
 
 LINUX.launcher = [:]
 LINUX.launcher.compiler = compiler
-LINUX.launcher.ccFlags = ["-DJAVAARCH=\"$OS_ARCH\"", "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux"];
+LINUX.launcher.ccFlags = ["-DJAVAARCH=\"$OS_ARCH\"", "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c"]
 LINUX.launcher.linker = linker
 LINUX.launcher.linkFlags = ["-ldl"]
 
@@ -178,7 +178,7 @@
         "com/sun/javafx/font/**/*",
         "com/sun/javafx/text/**/*"]
 LINUX.font.compiler = compiler
-LINUX.font.nativeSource = [file("$closedDir/javafx-font-native/src")]
+LINUX.font.nativeSource = [file("modules/graphics/src/main/native-font")]
 LINUX.font.ccFlags = ["-DJFXFONT_PLUS", ccFlags].flatten()
 LINUX.font.linker = linker
 LINUX.font.linkFlags = [linkFlags].flatten()
--- a/gradleBuildSrc/mac.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/gradleBuildSrc/mac.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -176,7 +176,7 @@
 MAC.font.javahInclude = [
         "com/sun/javafx/font/**/*",
         "com/sun/javafx/text/**/*"]
-MAC.font.nativeSource = [file("$closedDir/javafx-font-native/src")]
+MAC.font.nativeSource = [file("modules/graphics/src/main/native-font")]
 MAC.font.compiler = compiler
 MAC.font.ccFlags = ["-DJFXFONT_PLUS", ccFlags].flatten()
 MAC.font.linker = linker
--- a/gradleBuildSrc/win.gradle	Fri Jun 21 17:43:06 2013 -0700
+++ b/gradleBuildSrc/win.gradle	Wed Jun 26 12:20:13 2013 -0700
@@ -240,7 +240,7 @@
 WIN.font.javahInclude = [
         "com/sun/javafx/font/**/*",
         "com/sun/javafx/text/**/*"]
-WIN.font.nativeSource = [file("$closedDir/javafx-font-native/src")]
+WIN.font.nativeSource = [file("modules/graphics/src/main/native-font")]
 WIN.font.compiler = compiler
 WIN.font.ccFlags = ["/DJFXFONT_PLUS", ccFlags].flatten()
 WIN.font.linker = linker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,5 @@
+<classpath>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>javafx</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/buildSrc/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="build/generated-src/antlr"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="lib" exported="true" path="/javafx/.libs/ant-1.8.2.jar"/>
+	<classpathentry kind="lib" exported="true" path="/javafx/.libs/antlr-3.1.3.jar"/>
+	<classpathentry kind="lib" exported="true" path="/javafx/.libs/antlr-runtime-3.1.3.jar"/>
+	<classpathentry kind="lib" exported="true" path="/javafx/.libs/stringtemplate-3.2.jar"/>
+	<classpathentry kind="lib" exported="true" path="/javafx/.libs/swt.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/buildSrc/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>buildSrc</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/base/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,11 @@
+<classpath>
+  <classpathentry kind="src" path="build/generated-src/version-info"/>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources"/>
+  <classpathentry kind="src" path="src/test/java"/>
+  <classpathentry kind="src" path="src/test/resources"/>
+  <classpathentry exported="true" kind="src" path="/buildSrc"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+  <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/base/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>base</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/builders/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<classpath>
+  <classpathentry kind="lib" path="build/libs/builders.jar" exported="true" sourcepath="src/main/java"/>
+  <classpathentry kind="src" path="src/test/java"/>
+  <classpathentry exported="true" kind="src" path="/base"/>
+  <classpathentry exported="true" kind="src" path="/controls"/>
+  <classpathentry exported="true" kind="src" path="/graphics"/>
+  <classpathentry exported="true" kind="src" path="/swing"/>
+  <classpathentry exported="true" kind="src" path="/swt"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="src" exported="true" path="/web">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/builders/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>builders</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/controls/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,12 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources"/>
+  <classpathentry kind="src" path="src/test/java"/>
+  <classpathentry kind="src" path="src/test/resources"/>
+  <classpathentry exported="true" kind="src" path="/base"/>
+  <classpathentry exported="true" kind="src" path="/designTime"/>
+  <classpathentry exported="true" kind="src" path="/graphics"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/controls/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>controls</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/designTime/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,7 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry exported="true" kind="src" path="/graphics"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/designTime/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>designTime</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/fxml/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,14 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources"/>
+  <classpathentry kind="src" path="src/test/java"/>
+  <classpathentry kind="src" path="src/test/resources"/>
+  <classpathentry exported="true" kind="src" path="/base"/>
+  <classpathentry exported="true" kind="src" path="/controls"/>
+  <classpathentry exported="true" kind="src" path="/graphics"/>
+  <classpathentry exported="true" kind="src" path="/swing"/>
+  <classpathentry exported="true" kind="src" path="/swt"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/fxml/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>fxml</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/fxpackager/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,8 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources"/>
+  <classpathentry exported="true" kind="src" path="/graphics"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+  <classpathentry kind="output" path="bin"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/fxpackager/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>fxpackager</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/graphics/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,20 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources"/>
+  <classpathentry kind="src" path="src/stub/java"/>
+  <classpathentry kind="src" path="src/stub/resources"/>
+  <classpathentry kind="src" path="src/test/java"/>
+  <classpathentry kind="src" path="src/test/resources"/>
+  <classpathentry exported="true" kind="src" path="/base"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="src" exported="true" path="/builders"/>
+  <classpathentry kind="src" exported="true" path="build/generated-src/jsl-decora"/>
+  <classpathentry kind="src" exported="true" path="build/generated-src/jsl-prism"/>
+  <classpathentry kind="src" exported="true" path="/rt-closed">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/graphics/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>graphics</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/media/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,35 @@
+<classpath>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="src" exported="true" path="jfxmedia/src">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="test/demos/JavaTestApps/src">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="test/perf/JFXMediaSystemTestApp/src">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="/rt">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="/rt-closed">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="/controls">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/media/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>media</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/swing/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,8 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry exported="true" kind="src" path="/base"/>
+  <classpathentry exported="true" kind="src" path="/graphics"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/swing/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>swing</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/swt/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,8 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry exported="true" kind="src" path="/base"/>
+  <classpathentry exported="true" kind="src" path="/graphics"/>
+  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/swt/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>swt</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/web/.classpath	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,25 @@
+<classpath>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="output" path="bin"/>
+  <classpathentry kind="src" exported="true" path="src/main/java">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="/graphics">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="/controls">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="src" exported="true" path="/media">
+    <attributes>
+      <attribute name="optional" value="true"/>
+    </attributes>
+  </classpathentry>
+  <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+</classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleEclipse/modules/web/.project	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>web</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/base/build.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,74 @@
+<?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="base" default="default" basedir=".">
+    <description>Builds, tests, and runs the project base.</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="base-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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/base/manifest.mf	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/base/nbproject/build-impl.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,1458 @@
+<?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="base-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="manifest.available+main.class">
+            <and>
+                <isset property="manifest.available"/>
+                <isset property="main.class.available"/>
+            </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="manifest.available+main.class+mkdist.available">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="do.mkdist"/>
+            </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+manifest.available+main.class">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <istrue value="${do.archive}"/>
+            </and>
+        </condition>
+        <condition property="manifest.available-mkdist.available">
+            <or>
+                <istrue value="${manifest.available}"/>
+                <isset property="do.mkdist"/>
+            </or>
+        </condition>
+        <condition property="manifest.available+main.class-mkdist.available">
+            <or>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="do.mkdist"/>
+            </or>
+        </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}'">
+            <length length="0" string="${endorsed.classpath}" when="greater"/>
+        </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.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.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}" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="base" 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 base -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}" 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}"/>
+                    <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}"/>
+            </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: base 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>
+        <antcall target="-maybe-call-dep">
+            <param name="call.built.properties" value="${built-jar.properties}"/>
+            <param location="${project.buildSrc}" name="call.subproject"/>
+            <param location="${project.buildSrc}/build.xml" name="call.script"/>
+            <param name="call.target" value="jar"/>
+            <param name="transfer.built-jar.properties" value="${built-jar.properties}"/>
+        </antcall>
+    </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,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
+        <j2seproject1:jar/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}"/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}">
+            <j2seproject1:manifest>
+                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
+            </j2seproject1:manifest>
+        </j2seproject1:jar>
+        <echo level="info">To run this application from the command line without Ant, try:</echo>
+        <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>
+        <echo level="info">${platform.java} -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+    </target>
+    <target depends="init" if="do.archive" name="-do-jar-with-libraries-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-with-libraries-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-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="Main-Class" value="${main.class}"/>
+        </manifest>
+    </target>
+    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-with-libraries-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-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen" if="do.mkdist" name="-do-jar-with-libraries-pack">
+        <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="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
+        <delete>
+            <fileset file="${tmp.manifest.file}"/>
+        </delete>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-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-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-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: base 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>
+        <antcall target="-maybe-call-dep">
+            <param name="call.built.properties" value="${built-clean.properties}"/>
+            <param location="${project.buildSrc}" name="call.subproject"/>
+            <param location="${project.buildSrc}/build.xml" name="call.script"/>
+            <param name="call.target" value="clean"/>
+            <param name="transfer.built-clean.properties" value="${built-clean.properties}"/>
+        </antcall>
+    </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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/base/nbproject/genfiles.properties	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=a57014a2
+build.xml.script.CRC32=6c608db5
+build.xml.stylesheet.CRC32=28e38971@1.56.1.46
+# 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=a57014a2
+nbproject/build-impl.xml.script.CRC32=1f6abe2a
+nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/base/nbproject/project.properties	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,80 @@
+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=base
+application.vendor=cyang
+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}/base.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
+excludes=
+file.reference.main-java=../../modules/base/src/main/java
+file.reference.test-java=../../modules/base/src/test/java
+includes=**
+jar.compress=false
+javac.classpath=\
+    ${reference.buildSrc.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}:\
+    ${libs.junit.classpath}:\
+    ${libs.junit_4.classpath}
+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=
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=JDK_1.8
+project.buildSrc=../buildSrc
+reference.buildSrc.jar=${project.buildSrc}/dist/buildSrc.jar
+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.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=${file.reference.main-java}
+test.src.dir=${file.reference.test-java}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/base/nbproject/project.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,26 @@
+<?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>base</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>
+        <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
+            <reference>
+                <foreign-project>buildSrc</foreign-project>
+                <artifact-type>jar</artifact-type>
+                <script>build.xml</script>
+                <target>jar</target>
+                <clean-target>clean</clean-target>
+                <id>jar</id>
+            </reference>
+        </references>
+    </configuration>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/buildSrc/build.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,74 @@
+<?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="buildSrc" default="default" basedir=".">
+    <description>Builds, tests, and runs the project buildSrc.</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="buildSrc-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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/buildSrc/manifest.mf	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/buildSrc/nbproject/build-impl.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,1427 @@
+<?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="buildSrc-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="manifest.available+main.class">
+            <and>
+                <isset property="manifest.available"/>
+                <isset property="main.class.available"/>
+            </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="manifest.available+main.class+mkdist.available">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="do.mkdist"/>
+            </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+manifest.available+main.class">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <istrue value="${do.archive}"/>
+            </and>
+        </condition>
+        <condition property="manifest.available-mkdist.available">
+            <or>
+                <istrue value="${manifest.available}"/>
+                <isset property="do.mkdist"/>
+            </or>
+        </condition>
+        <condition property="manifest.available+main.class-mkdist.available">
+            <or>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="do.mkdist"/>
+            </or>
+        </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}'">
+            <length length="0" string="${endorsed.classpath}" when="greater"/>
+        </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="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.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.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="${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" jvm="${platform.java}" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="buildSrc" 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="${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 buildSrc -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}" 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}"/>
+                    <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}"/>
+            </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: buildSrc 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,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
+        <j2seproject1:jar/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}"/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}">
+            <j2seproject1:manifest>
+                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
+            </j2seproject1:manifest>
+        </j2seproject1:jar>
+        <echo level="info">To run this application from the command line without Ant, try:</echo>
+        <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>
+        <echo level="info">${platform.java} -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+    </target>
+    <target depends="init" if="do.archive" name="-do-jar-with-libraries-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-with-libraries-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-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
+        <manifest file="${tmp.manifest.file}" mode="update">
+            <attribute name="Main-Class" value="${main.class}"/>
+        </manifest>
+    </target>
+    <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-with-libraries-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-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen" if="do.mkdist" name="-do-jar-with-libraries-pack">
+        <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="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
+        <delete>
+            <fileset file="${tmp.manifest.file}"/>
+        </delete>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-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-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-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=""/>
+    </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: buildSrc 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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/buildSrc/nbproject/genfiles.properties	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=936d6903
+build.xml.script.CRC32=74885a8e
+build.xml.stylesheet.CRC32=28e38971@1.56.1.46
+# 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=936d6903
+nbproject/build-impl.xml.script.CRC32=19caaed2
+nbproject/build-impl.xml.stylesheet.CRC32=c6d2a60f@1.56.1.46
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/buildSrc/nbproject/project.properties	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,74 @@
+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=buildSrc
+application.vendor=cyang
+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}/buildSrc.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
+excludes=
+file.reference.main-antlr=../../buildSrc/src/main/antlr
+file.reference.main-java=../../buildSrc/src/main/java
+includes=**
+jar.compress=false
+javac.classpath=
+# 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=
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=JDK_1.8
+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.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=${file.reference.main-java}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/buildSrc/nbproject/project.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,14 @@
+<?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>buildSrc</name>
+            <explicit-platform explicit-source-supported="true"/>
+            <source-roots>
+                <root id="src.dir"/>
+            </source-roots>
+            <test-roots/>
+        </data>
+    </configuration>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/builders/build.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,74 @@
+<?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="builders" default="default" basedir=".">
+    <description>Builds, tests, and runs the project builders.</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="builders-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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/builders/manifest.mf	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gradleNetBeans/builders/nbproject/build-impl.xml	Wed Jun 26 12:20:13 2013 -0700
@@ -0,0 +1,1514 @@
+<?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="builders-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>
+                <av