Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / buildSite.xml
index bd1c7d8..e5c75c2 100644 (file)
-<project name="swingjs" default="createSite" basedir=".">\r
-                       \r
-<!-- buildSite.xml for building site/ -->\r
-       \r
-       \r
-  <target name="createSite" id="createSite">\r
-\r
-       <property name="project.path" value="." />\r
-\r
-       <!-- create a NON svn local directory only containing JS files  -->\r
-       \r
-    <echo>...adding JavaScript files from bin</echo>\r
-       <copy todir="site/j2s"  overwrite="true" >\r
-      <fileset dir="bin">\r
-        <include name="**/*.js" />\r
-        <exclude name="javajs/**/*.js" />\r
-      </fileset>\r
-    </copy>\r
-               \r
-\r
-       <echo>...adding to /j2s all src property and css files -- adjust as necessary</echo>\r
-       <copy todir="site/j2s"  overwrite="true" >\r
-      <fileset dir="src">\r
-        <include name="**/*.properties" />\r
-        <include name="**/*.css" />\r
-        <include name="**/*.png" />\r
-      </fileset>\r
-    </copy>\r
-       \r
-       <echo>...adding resource directory</echo>\r
-       <copy todir="site/j2s/jalview/resources"  overwrite="true" >\r
-      <fileset dir="resources">\r
-        <include name="**/*" />\r
-      </fileset>\r
-    </copy>\r
-       \r
-       <!-- modify class names -->             \r
-\r
-    <echo>removing j2s globals Class and JavaObject</echo>\r
-    <echo>...replacing Class.forName with Clazz._4Name</echo>\r
-       <replace dir="site/j2s" includes="**/*.js" token="Class.forName" value="Clazz._4Name"/>\r
-    <echo>...replacing JavaObject with Clazz._O</echo>\r
-       <replace dir="site/j2s" includes="**/*.js" token=" JavaObject" value=" Clazz._O"/>\r
-    <echo>...removing all $fz references for sub/superclass common private function names</echo>\r
-       <replace dir="site/j2s" includes="**/*.js" token="($fz =" value=""/>\r
-       <replace dir="site/j2s" includes="**/*.js" token=", $fz.isPrivate = true, $fz)" value=""/>\r
-       <echo>...changing Clazz.pu$h() to Clazz.pu$h(self.c$) (only a partial fix)</echo>\r
-       <replace dir="site/j2s" includes="**/*.js" token="Clazz.pu$h()" value="Clazz.pu$h(self.c$)"/>\r
-       <replace dir="site/j2s" includes="**/*.js" token="Clazz.pu$h ()" value="Clazz.pu$h(self.c$)"/>\r
-               \r
-\r
-    <echo>...abbreviating class name "javajs.util", and "com.jcraft.jzlib" to "JU"</echo>\r
-       <replace dir="site/j2s" includes="**/*.js" token="javajs.util" value="JU"/>\r
-       <replace dir="site/j2s" includes="**/*.js" token="com.jcraft.jzlib" value="JU"/>\r
-                               \r
-       \r
-       <!-- make core files -->\r
\r
-       <echo>creating and compressing core files - warnings are OK; "does not exist" is trouble</echo>\r
-\r
-       <!-- note: any changes in these next sections must be reflected also\r
-                    in package.js -->\r
-<!--           \r
-    <property name="javaCoreFiles" value="\r
-       java/lang/AbstractStringBuilder.js\r
-       java/lang/Enum.js\r
-       ...\r
-       " />\r
-       \r
-       \r
-       \r
--->    \r
-\r
-       <!-- \r
-\r
-       <echo>creating minimal core.z.js</echo>\r
-       \r
-    <antcall target="call-core">\r
-        <param name="call-core.name" value="swingjs" />\r
-        <param name="call-core.list" value="\r
-                       ../js/JSmolJavaExt.js\r
-            java/awt/BasicStroke.js\r
-            java/awt/Stroke.js\r
-            java/util/Locale.js\r
-            java/util/ResourceBundle.js\r
-            JU/Rdr.js\r
-            javajs/api/GenericLineReader.js\r
-            java/io/BufferedInputStream.js\r
-            java/io/FilterInputStream.js\r
-            java/io/InputStream.js\r
-            java/io/BufferedReader.js\r
-            java/io/ByteArrayInputStream.js\r
-            java/io/Reader.js                  \r
-            java/io/StringReader.js\r
-            JU/Base64.js\r
-            JU/Encoding.js\r
-            java/util/MissingResourceException.js\r
-               \r
-\r
-            jssun/misc/MessageUtils.js\r
-            java/awt/Dimension.js\r
-            java/awt/geom/Dimension2D.js\r
-            java/awt/Panel.js\r
-            java/util/ArrayList.js\r
-            java/util/AbstractList.js\r
-            java/util/AbstractCollection.js\r
-            java/awt/ComponentOrientation.js\r
-            java/security/AccessController.js\r
-            java/security/AccessControlContext.js\r
-            java/util/HashMap.js\r
-            java/util/MapEntry.js\r
-            java/util/AbstractSet.js\r
-            java/util/AbstractMap.js\r
-            java/awt/image/ImageObserver.js\r
-            java/lang/Enum.js\r
-            java/applet/AppletStub.js\r
-            java/applet/AppletContext.js\r
-            javajs/api/JSInterface.js\r
-            java/lang/StringBuilder.js\r
-            java/lang/AbstractStringBuilder.js\r
-            java/util/Arrays.js\r
-            java/util/Locale.js\r
-            java/awt/event/ActionListener.js\r
-            java/awt/event/AdjustmentListener.js\r
-            java/awt/event/ComponentListener.js\r
-            java/awt/event/ContainerListener.js\r
-            java/awt/event/FocusListener.js\r
-            java/awt/event/HierarchyBoundsListener.js\r
-            java/awt/event/HierarchyListener.js\r
-            java/awt/event/InputMethodListener.js\r
-            java/awt/event/ItemListener.js\r
-            java/awt/event/KeyListener.js\r
-            java/awt/event/MouseListener.js\r
-            java/awt/event/MouseMotionListener.js\r
-            java/awt/event/MouseWheelListener.js\r
-            java/awt/event/TextListener.js\r
-            java/awt/event/WindowFocusListener.js\r
-            java/awt/event/WindowListener.js\r
-            java/awt/event/WindowStateListener.js\r
-            java/awt/Cursor.js\r
-            java/awt/AWTError.js\r
-            java/awt/Insets.js\r
-            java/awt/RenderingHints.js\r
-            java/util/Collections.js\r
-               java/util/SortedMap.js\r
-            java/util/SortedSet.js\r
-            java/util/Random.js\r
-            java/awt/event/AWTEventListenerProxy.js\r
-            java/beans/PropertyChangeSupport.js\r
-            java/beans/ChangeListenerMap.js\r
-            java/beans/IndexedPropertyChangeEvent.js\r
-            java/beans/PropertyChangeEvent.js\r
-            java/beans/PropertyChangeListenerProxy.js\r
-            java/beans/PropertyChangeListener.js\r
-            java/security/PrivilegedAction.js\r
-            java/awt/Point.js\r
-            jssun/awt/AppContext.js\r
-            java/lang/StringBuffer.js\r
-            java/util/IdentityHashMap.js\r
-            java/util/HashSet.js\r
-            jssun/awt/ComponentFactory.js\r
-            jssun/awt/WindowClosingListener.js\r
-            jssun/awt/WindowClosingSupport.js\r
-            java/awt/Window.js\r
-            java/util/Vector.js\r
-            java/awt/Color.js\r
-            java/awt/Paint.js\r
-            java/awt/Transparency.js\r
-            java/awt/ColorPaintContext.js\r
-            java/awt/PaintContext.js\r
-            java/awt/image/ColorModel.js\r
-            java/awt/color/ColorSpace.js\r
-            java/util/ResourceBundle.js\r
-            java/applet/Applet.js\r
-            java/net/URL.js\r
-            java/util/Hashtable.js\r
-            java/util/Dictionary.js\r
-            java/net/MalformedURLException.js\r
-            java/awt/GraphicsEnvironment.js\r
-            java/awt/event/WindowEvent.js\r
-            javax/swing/JComponent.js\r
-            javax/swing/Action.js\r
-            javax/swing/SwingUtilities.js\r
-            java/awt/Frame.js\r
-            java/awt/IllegalComponentStateException.js\r
-            javax/swing/SwingConstants.js\r
-            java/awt/Rectangle.js\r
-            java/awt/Shape.js\r
-            java/awt/geom/Rectangle2D.js\r
-            java/awt/geom/RectangularShape.js\r
-            java/awt/geom/FlatteningPathIterator.js\r
-            java/awt/geom/PathIterator.js\r
-            java/awt/geom/CubicCurve2D.js\r
-            java/awt/geom/CubicIterator.js\r
-            java/awt/geom/Line2D.js\r
-            java/awt/geom/LineIterator.js\r
-            java/awt/geom/QuadCurve2D.js\r
-            java/awt/geom/QuadIterator.js\r
-            jssun/awt/geom/Curve.js\r
-            java/awt/geom/IllegalPathStateException.js\r
-            java/awt/geom/RectIterator.js\r
-            java/awt/event/ActionEvent.js\r
-            java/awt/event/KeyEvent.js\r
-            java/awt/event/MouseWheelEvent.js\r
-            javax/swing/AbstractAction.js\r
-            javax/swing/AbstractButton.js\r
-            javax/swing/ArrayTable.js\r
-            javax/swing/event/SwingPropertyChangeSupport.js\r
-            javax/swing/JLayeredPane.js\r
-            javax/swing/JPanel.js\r
-            javax/swing/MultiUIDefaults.js\r
-\r
-            java/awt/Font.js\r
-            java/awt/font/TextAttribute.js\r
-            java/text/AttributedCharacterIterator.js\r
-            java/text/CharacterIterator.js\r
-               java/awt/geom/Point2D.js\r
-            java/awt/geom/AffineTransform.js\r
-            java/awt/geom/NoninvertibleTransformException.js\r
-            java/awt/geom/Path2D.js\r
-            javax/swing/Icon.js\r
-            javax/swing/JPasswordField.js\r
-            javax/swing/JTextField.js\r
-            javax/swing/ActionPropertyChangeListener.js\r
-            javax/swing/event/ChangeListener.js\r
-            javax/swing/ActionMap.js\r
-            javax/swing/InputMap.js\r
-            javax/swing/Scrollable.js\r
-            javax/swing/event/CaretEvent.js\r
-            javax/swing/event/DocumentListener.js\r
-            javax/swing/event/EventListenerList.js\r
-            javax/swing/event/ChangeEvent.js\r
-            jssun/swing/StringUIClientPropertyKey.js\r
-            jssun/swing/UIClientPropertyKey.js\r
-            java/awt/Graphics2D.js\r
-            java/awt/Graphics.js\r
-            jssun/font/FontDesignMetrics.js\r
-            java/awt/FontMetrics.js\r
-            \r
-            JU/PT.js\r
-            javajs/api/JSONEncodable.js\r
-            JU/AU.js\r
-            JU/Lst.js\r
-            JU/DF.js\r
-            JU/SB.js\r
-            JU/M34.js\r
-            JU/M4.js\r
-            JU/T3.js\r
-            javax/swing/JRootPane.js\r
-       \r
-            javax/swing/JToggleButton.js\r
-            javax/swing/ButtonModel.js\r
-            javax/swing/JRadioButton.js\r
-\r
-            javax/swing/JApplet.js\r
-\r
-            java/awt/EventQueue.js\r
-            java/awt/AWTEventMulticaster.js\r
-            java/awt/AWTEvent.js\r
-            java/awt/event/AWTEventListener.js\r
-            java/awt/ActiveEvent.js\r
-            java/awt/event/InvocationEvent.js\r
-            java/awt/event/ComponentEvent.js\r
-            java/awt/event/MouseEvent.js\r
-            java/awt/event/InputEvent.js\r
-            java/awt/Toolkit.js\r
-            java/lang/Thread.js\r
-            java/lang/ThreadGroup.js\r
-            java/awt/FlowLayout.js\r
-            java/awt/BorderLayout.js\r
-            java/awt/LayoutManager2.js\r
-            java/awt/LayoutManager.js\r
-            java/awt/GraphicsCallback.js\r
-            java/awt/Container.js\r
-            java/awt/Component.js\r
-            jssun/awt/SunGraphicsCallback.js\r
-\r
-            javax/swing/RepaintManager.js\r
-            jssun/awt/SunToolkit.js\r
-\r
-               java/awt/Conditional.js\r
-            java/awt/event/PaintEvent.js\r
-            java/awt/EventDispatchThread.js\r
-            java/awt/EventFilter.js\r
-            java/awt/ModalEventFilter.js\r
-            java/awt/peer/CanvasPeer.js\r
-            java/awt/peer/ComponentPeer.js\r
-            java/awt/peer/ContainerPeer.js\r
-            java/awt/peer/LightweightPeer.js\r
-            java/awt/peer/PanelPeer.js\r
-            java/awt/SentEvent.js\r
-            java/awt/SequencedEvent.js\r
-            java/util/AbstractSequentialList.js\r
-            java/util/LinkedList.js\r
-            JU/V3.js\r
-            javax/swing/ButtonGroup.js\r
-            javax/swing/SwingPaintEventDispatcher.js\r
-            jssun/awt/AWTAutoShutdown.js\r
-            jssun/awt/EventQueueItem.js\r
-            jssun/awt/ModalExclude.js\r
-            jssun/awt/NullComponentPeer.js\r
-            jssun/awt/PaintEventDispatcher.js\r
-            jssun/awt/PostEventQueue.js\r
-            jssun/java2d/SunGraphics2D.js\r
-\r
-               javax/swing/UIManager.js\r
-            javax/swing/UIDefaults.js\r
-            javax/swing/LookAndFeel.js\r
-            javax/swing/DropMode.js\r
-            java/awt/font/FontRenderContext.js\r
-            java/awt/event/InputMethodEvent.js\r
-            javax/swing/JViewport.js\r
-            java/awt/event/ComponentAdapter.js\r
-            javax/swing/CellRendererPane.js\r
-            jssun/awt/AWTAccessor.js\r
-            javax/swing/ViewportLayout.js\r
-            javax/swing/event/CaretListener.js\r
-            javax/swing/DefaultBoundedRangeModel.js\r
-            javax/swing/BoundedRangeModel.js\r
-            javax/swing/KeyStroke.js\r
-            java/awt/AWTKeyStroke.js\r
-            java/util/StringTokenizer.js\r
-            javax/swing/ComponentInputMap.js\r
-            jssun/swing/DefaultLayoutStyle.js\r
-            javax/swing/LayoutStyle.js\r
-            javax/swing/JCheckBox.js\r
-            java/awt/ItemSelectable.js\r
-            java/awt/event/ItemEvent.js\r
-            javax/swing/DefaultButtonModel.js\r
-            javax/swing/OverlayLayout.js\r
-            javax/swing/SizeRequirements.js\r
-            javax/swing/JLabel.js\r
-            javax/swing/border/Border.js\r
-            javax/swing/RootPaneContainer.js\r
-            javax/swing/event/MenuDragMouseEvent.js\r
-            jssun/swing/UIAction.js\r
-            jssun/awt/RequestFocusController.js\r
-            javax/swing/AncestorNotifier.js\r
-            javax/swing/event/AncestorEvent.js\r
-            javax/swing/event/AncestorListener.js\r
-            javax/swing/ClientPropertyKey.js\r
-            javax/swing/JDialog.js\r
-            java/awt/Dialog.js\r
-            javax/swing/WindowConstants.js\r
-            javax/swing/JFrame.js\r
-            javax/swing/JWindow.js\r
-            javax/swing/KeyboardManager.js\r
-            javax/swing/JMenuBar.js\r
-            javax/swing/MenuElement.js\r
-            javax/swing/DefaultSingleSelectionModel.js\r
-            javax/swing/SingleSelectionModel.js\r
-            javax/swing/JMenu.js\r
-            java/awt/event/WindowAdapter.js\r
-            javax/swing/JMenuItem.js\r
-            javax/swing/event/MenuDragMouseListener.js\r
-            javax/swing/event/MenuKeyEvent.js\r
-            javax/swing/event/MenuKeyListener.js\r
-            javax/swing/JPopupMenu.js\r
-            javax/swing/JSeparator.js\r
-            javax/swing/MenuSelectionManager.js\r
-            javax/swing/PopupFactory.js\r
-            javax/swing/Popup.js\r
-            javax/swing/SwingHeavyWeight.js\r
-            javax/swing/JToolTip.js\r
-            javax/swing/event/PopupMenuEvent.js\r
-            javax/swing/event/PopupMenuListener.js\r
-            javax/swing/event/MenuEvent.js\r
-            javax/swing/event/MenuListener.js\r
-            javax/swing/border/AbstractBorder.js\r
-            jssun/awt/PeerEvent.js\r
-            jssun/awt/image/URLImageSource.js\r
-            jssun/awt/image/InputStreamImageSource.js\r
-            java/awt/image/ImageProducer.js\r
-            jssun/awt/image/ImageFetchable.js\r
-            jssun/awt/image/ImageConsumerQueue.js\r
-            jssun/awt/image/ImageFetcher.js\r
-            java/awt/event/FocusEvent.js\r
-            java/awt/event/HierarchyEvent.js\r
-            jssun/awt/ConstrainableGraphics.js\r
-            jssun/awt/Graphics2Delegate.js\r
-            java/awt/event/ContainerEvent.js\r
-            jssun/applet/AppletEvent.js\r
-            jssun/applet/AppletEventMulticaster.js\r
-            jssun/applet/AppletListener.js\r
-            jssun/misc/Queue.js\r
-\r
-            javax/swing/plaf/UIResource.js\r
-            javax/swing/plaf/InputMapUIResource.js\r
-            javax/swing/plaf/ActionMapUIResource.js\r
-            javax/swing/plaf/ComponentUI.js\r
-            javax/swing/plaf/FontUIResource.js\r
-            javax/swing/plaf/ColorUIResource.js\r
-            javax/swing/plaf/ComponentInputMapUIResource.js\r
-\r
-               swingjs/api/JSFunction.js\r
-            swingjs/api/JSInterface.js\r
-            swingjs/api/Interface.js\r
-            swingjs/api/DOMNode.js\r
-\r
-               swingjs/JSUtil.js\r
-            swingjs/JSToolkit.js\r
-               swingjs/JSEvent.js\r
-               swingjs/JSThread.js\r
-            swingjs/JSThreadGroup.js\r
-            swingjs/JSAppletPanel.js\r
-            swingjs/JSGraphics2D.js\r
-            swingjs/JSAppletThread.js\r
-            swingjs/JSMouse.js\r
-            swingjs/JSComponentPeer.js\r
-\r
-                       swingjs/plaf/HTML5LookAndFeel.js\r
-            swingjs/plaf/JSComponentUI.js\r
-            swingjs/plaf/JSPanelUI.js\r
-            swingjs/plaf/JSRadioButtonUI.js\r
-            swingjs/plaf/JSRootPaneUI.js\r
-            swingjs/plaf/JSButtonListener.js\r
-            swingjs/plaf/JSButtonUI.js\r
-            swingjs/plaf/JSToggleButtonUI.js\r
-            swingjs/plaf/LazyActionMap.js\r
-    \r
-\r
-               "/>\r
-    </antcall>\r
-       -->\r
-<!--    \r
-\r
-       put classes in here temporarily to exclude them from the \r
-       core load and make them easier to debug\r
-       \r
-               \r
-       minimize additional JSmol JavaScript -->\r
-\r
-  </target>\r
-\r
-\r
-  <target name="call-core" id="call-core">\r
-       <echo>......Creating core${call-core.name}.js</echo>    \r
-       <concat destfile="site/swingjs/js/core${call-core.name}.js">\r
-               <filelist dir="site/swingjs/j2s" files="${call-core.list}" />\r
-       </concat> \r
-       <copy file="site/swingjs/js/core${call-core.name}.js" tofile="site/swingjs/js/core2.js" />\r
-       <!--\r
-               <echo>...removing unnecessary Clazz.defineStatics blocks</echo>\r
-         This next replacement does not work, because the j2s compiler does not \r
-         distinguish between final and non-final static variable.\r
-         We will have to do this on a case-by-case basis. \r
-          \r
-       <replaceregexp file="site/swingjs/js/core2.js" match="(Clazz.defineStatics ?\(((?![\[\(]).)*?\);)" flags="gs" replace="/*\1*/" /> \r
-       <copy file="site/swingjs/js/core2.js" tofile="site/swingjs/js/core${call-core.name}3.js" />\r
-       \r
-       \r
-               java/io/InputStreamReader.js\r
-            javax/swing/text/JTextComponent.js\r
-            javax/swing/text/DefaultCaret.js\r
-            javax/swing/text/Caret.js\r
-            javax/swing/text/NavigationFilter.js\r
-            javax/swing/text/AbstractDocument.js\r
-            javax/swing/event/DocumentEvent.js\r
-            javax/swing/text/Document.js\r
-            javax/swing/text/DocumentFilter.js\r
-            javax/swing/text/Element.js\r
-            javax/swing/text/MutableAttributeSet.js\r
-            javax/swing/text/AttributeSet.js\r
-            javax/swing/tree/TreeNode.js\r
-            javax/swing/undo/AbstractUndoableEdit.js\r
-            javax/swing/undo/UndoableEdit.js\r
-            javax/swing/undo/CannotRedoException.js\r
-            javax/swing/undo/CannotUndoException.js\r
-            javax/swing/undo/CompoundEdit.js\r
-            javax/swing/event/UndoableEditEvent.js\r
-            javax/swing/event/UndoableEditListener.js\r
-            javax/swing/text/BadLocationException.js\r
-            javax/swing/text/SegmentCache.js\r
-            javax/swing/text/Segment.js\r
-            javax/swing/text/SimpleAttributeSet.js\r
-            javax/swing/text/StyleConstants.js\r
-            javax/swing/text/StateInvariantError.js\r
-            javax/swing/text/StyleContext.js\r
-            javax/swing/text/Style.js\r
-            javax/swing/text/Utilities.js\r
-            javax/swing/text/CompositeView.js\r
-            javax/swing/text/View.js\r
-            javax/swing/text/Position.js\r
-            javax/swing/text/StyledDocument.js\r
-               javax/swing/text/DefaultEditorKit.js\r
-               javax/swing/text/EditorKit.js\r
-            javax/swing/text/TextAction.js\r
-            javax/swing/text/PlainDocument.js\r
-            javax/swing/text/DefaultHighlighter.js\r
-            javax/swing/text/Highlighter.js\r
-            javax/swing/text/LayeredHighlighter.js\r
-            javax/swing/text/Keymap.js\r
-       \r
-        -->\r
-\r
-       <replace dir="site/swingjs/js" includes="core2.js" token="Clazz." value="Clazz_"/>\r
-       <replace dir="site/swingjs/js" includes="core2.js" token="Clazz__" value="Clazz._"/>\r
-       <replace dir="site/swingjs/js" includes="core2.js" token="($fz = " value=""/>\r
-       <replace dir="site/swingjs/js" includes="core2.js" token=", $fz.isPrivate = true, $fz)" value=""/>      \r
-       <replace dir="site/swingjs/js" includes="core2.js" token="Clazz_CheckPrivate" value="Clazz.CheckPrivate"/>      \r
-       <concat destfile="site/swingjs/js/core${call-core.name}.js"><filelist dir="site/swingjs/js" files="\r
-               core/coretop2.js\r
-               core2.js\r
-               core/corebottom2.js\r
-               " />\r
-       </concat>\r
-       <echo>......Generating core${call-core.name}.z.js</echo>        \r
-       <java jar="jars/closure_compiler.jar" fork="true" dir="site/swingjs/js" failonerror="false">\r
-               <arg line="--js core${call-core.name}.js --js_output_file ../j2s/core/core${call-core.name}.z.js" />\r
-    </java>\r
-  </target>\r
-\r
-  <target name="call-min" id="call-min">\r
-       <echo>......Creating JSmol.${call-min.minname}.js</echo>        \r
-       <concat destfile="site/swingjs/js/SwingJS.${call-min.fullname}.js">\r
-               <filelist dir="jsmoljs" files="${call-min.list}" />\r
-       </concat>   \r
-       <java jar="jars/closure_compiler.jar" fork="true" dir="" failonerror="false">\r
-               <arg line="--js site/swingjs/js/SwingJS.${call-min.fullname}.js --js_output_file site/swingjs/SwingJS.${call-min.minname}.js" />\r
-    </java>\r
-  </target>\r
-       \r
-</project>\r
+<project name="swingjs" default="createSite" basedir=".">
+                       
+<!-- buildSite.xml for building site/ -->
+       
+       
+  <target name="createSite" id="createSite">
+
+       <property name="project.path" value="." />
+
+       <!-- create a NON svn local directory only containing JS files  -->
+       
+    <echo>...adding JavaScript files from bin</echo>
+       <copy todir="site/j2s"  overwrite="true" >
+      <fileset dir="bin">
+        <include name="**/*.js" />
+        <exclude name="javajs/**/*.js" />
+      </fileset>
+    </copy>
+               
+
+       <echo>...adding to /j2s all src property and css files -- adjust as necessary</echo>
+       <copy todir="site/j2s"  overwrite="true" >
+      <fileset dir="src">
+        <include name="**/*.properties" />
+        <include name="**/*.css" />
+        <include name="**/*.png" />
+      </fileset>
+    </copy>
+       
+       <echo>...adding resource directory</echo>
+       <copy todir="site/j2s/jalview/resources"  overwrite="true" >
+      <fileset dir="resources">
+        <include name="**/*" />
+      </fileset>
+    </copy>
+       
+       <!-- modify class names -->             
+
+    <echo>removing j2s globals Class and JavaObject</echo>
+    <echo>...replacing Class.forName with Clazz._4Name</echo>
+       <replace dir="site/j2s" includes="**/*.js" token="Class.forName" value="Clazz._4Name"/>
+    <echo>...replacing JavaObject with Clazz._O</echo>
+       <replace dir="site/j2s" includes="**/*.js" token=" JavaObject" value=" Clazz._O"/>
+    <echo>...removing all $fz references for sub/superclass common private function names</echo>
+       <replace dir="site/j2s" includes="**/*.js" token="($fz =" value=""/>
+       <replace dir="site/j2s" includes="**/*.js" token=", $fz.isPrivate = true, $fz)" value=""/>
+       <echo>...changing Clazz.pu$h() to Clazz.pu$h(self.c$) (only a partial fix)</echo>
+       <replace dir="site/j2s" includes="**/*.js" token="Clazz.pu$h()" value="Clazz.pu$h(self.c$)"/>
+       <replace dir="site/j2s" includes="**/*.js" token="Clazz.pu$h ()" value="Clazz.pu$h(self.c$)"/>
+               
+
+    <echo>...abbreviating class name "javajs.util", and "com.jcraft.jzlib" to "JU"</echo>
+       <replace dir="site/j2s" includes="**/*.js" token="javajs.util" value="JU"/>
+       <replace dir="site/j2s" includes="**/*.js" token="com.jcraft.jzlib" value="JU"/>
+                               
+       
+       <!-- make core files -->
+       <echo>creating and compressing core files - warnings are OK; "does not exist" is trouble</echo>
+
+       <!-- note: any changes in these next sections must be reflected also
+                    in package.js -->
+<!--           
+    <property name="javaCoreFiles" value="
+       java/lang/AbstractStringBuilder.js
+       java/lang/Enum.js
+       ...
+       " />
+       
+       
+       
+-->    
+
+       <!-- 
+
+       <echo>creating minimal core.z.js</echo>
+       
+    <antcall target="call-core">
+        <param name="call-core.name" value="swingjs" />
+        <param name="call-core.list" value="
+                       ../js/JSmolJavaExt.js
+            java/awt/BasicStroke.js
+            java/awt/Stroke.js
+            java/util/Locale.js
+            java/util/ResourceBundle.js
+            JU/Rdr.js
+            javajs/api/GenericLineReader.js
+            java/io/BufferedInputStream.js
+            java/io/FilterInputStream.js
+            java/io/InputStream.js
+            java/io/BufferedReader.js
+            java/io/ByteArrayInputStream.js
+            java/io/Reader.js                  
+            java/io/StringReader.js
+            JU/Base64.js
+            JU/Encoding.js
+            java/util/MissingResourceException.js
+               
+
+            jssun/misc/MessageUtils.js
+            java/awt/Dimension.js
+            java/awt/geom/Dimension2D.js
+            java/awt/Panel.js
+            java/util/ArrayList.js
+            java/util/AbstractList.js
+            java/util/AbstractCollection.js
+            java/awt/ComponentOrientation.js
+            java/security/AccessController.js
+            java/security/AccessControlContext.js
+            java/util/HashMap.js
+            java/util/MapEntry.js
+            java/util/AbstractSet.js
+            java/util/AbstractMap.js
+            java/awt/image/ImageObserver.js
+            java/lang/Enum.js
+            java/applet/AppletStub.js
+            java/applet/AppletContext.js
+            javajs/api/JSInterface.js
+            java/lang/StringBuilder.js
+            java/lang/AbstractStringBuilder.js
+            java/util/Arrays.js
+            java/util/Locale.js
+            java/awt/event/ActionListener.js
+            java/awt/event/AdjustmentListener.js
+            java/awt/event/ComponentListener.js
+            java/awt/event/ContainerListener.js
+            java/awt/event/FocusListener.js
+            java/awt/event/HierarchyBoundsListener.js
+            java/awt/event/HierarchyListener.js
+            java/awt/event/InputMethodListener.js
+            java/awt/event/ItemListener.js
+            java/awt/event/KeyListener.js
+            java/awt/event/MouseListener.js
+            java/awt/event/MouseMotionListener.js
+            java/awt/event/MouseWheelListener.js
+            java/awt/event/TextListener.js
+            java/awt/event/WindowFocusListener.js
+            java/awt/event/WindowListener.js
+            java/awt/event/WindowStateListener.js
+            java/awt/Cursor.js
+            java/awt/AWTError.js
+            java/awt/Insets.js
+            java/awt/RenderingHints.js
+            java/util/Collections.js
+               java/util/SortedMap.js
+            java/util/SortedSet.js
+            java/util/Random.js
+            java/awt/event/AWTEventListenerProxy.js
+            java/beans/PropertyChangeSupport.js
+            java/beans/ChangeListenerMap.js
+            java/beans/IndexedPropertyChangeEvent.js
+            java/beans/PropertyChangeEvent.js
+            java/beans/PropertyChangeListenerProxy.js
+            java/beans/PropertyChangeListener.js
+            java/security/PrivilegedAction.js
+            java/awt/Point.js
+            jssun/awt/AppContext.js
+            java/lang/StringBuffer.js
+            java/util/IdentityHashMap.js
+            java/util/HashSet.js
+            jssun/awt/ComponentFactory.js
+            jssun/awt/WindowClosingListener.js
+            jssun/awt/WindowClosingSupport.js
+            java/awt/Window.js
+            java/util/Vector.js
+            java/awt/Color.js
+            java/awt/Paint.js
+            java/awt/Transparency.js
+            java/awt/ColorPaintContext.js
+            java/awt/PaintContext.js
+            java/awt/image/ColorModel.js
+            java/awt/color/ColorSpace.js
+            java/util/ResourceBundle.js
+            java/applet/Applet.js
+            java/net/URL.js
+            java/util/Hashtable.js
+            java/util/Dictionary.js
+            java/net/MalformedURLException.js
+            java/awt/GraphicsEnvironment.js
+            java/awt/event/WindowEvent.js
+            javax/swing/JComponent.js
+            javax/swing/Action.js
+            javax/swing/SwingUtilities.js
+            java/awt/Frame.js
+            java/awt/IllegalComponentStateException.js
+            javax/swing/SwingConstants.js
+            java/awt/Rectangle.js
+            java/awt/Shape.js
+            java/awt/geom/Rectangle2D.js
+            java/awt/geom/RectangularShape.js
+            java/awt/geom/FlatteningPathIterator.js
+            java/awt/geom/PathIterator.js
+            java/awt/geom/CubicCurve2D.js
+            java/awt/geom/CubicIterator.js
+            java/awt/geom/Line2D.js
+            java/awt/geom/LineIterator.js
+            java/awt/geom/QuadCurve2D.js
+            java/awt/geom/QuadIterator.js
+            jssun/awt/geom/Curve.js
+            java/awt/geom/IllegalPathStateException.js
+            java/awt/geom/RectIterator.js
+            java/awt/event/ActionEvent.js
+            java/awt/event/KeyEvent.js
+            java/awt/event/MouseWheelEvent.js
+            javax/swing/AbstractAction.js
+            javax/swing/AbstractButton.js
+            javax/swing/ArrayTable.js
+            javax/swing/event/SwingPropertyChangeSupport.js
+            javax/swing/JLayeredPane.js
+            javax/swing/JPanel.js
+            javax/swing/MultiUIDefaults.js
+
+            java/awt/Font.js
+            java/awt/font/TextAttribute.js
+            java/text/AttributedCharacterIterator.js
+            java/text/CharacterIterator.js
+               java/awt/geom/Point2D.js
+            java/awt/geom/AffineTransform.js
+            java/awt/geom/NoninvertibleTransformException.js
+            java/awt/geom/Path2D.js
+            javax/swing/Icon.js
+            javax/swing/JPasswordField.js
+            javax/swing/JTextField.js
+            javax/swing/ActionPropertyChangeListener.js
+            javax/swing/event/ChangeListener.js
+            javax/swing/ActionMap.js
+            javax/swing/InputMap.js
+            javax/swing/Scrollable.js
+            javax/swing/event/CaretEvent.js
+            javax/swing/event/DocumentListener.js
+            javax/swing/event/EventListenerList.js
+            javax/swing/event/ChangeEvent.js
+            jssun/swing/StringUIClientPropertyKey.js
+            jssun/swing/UIClientPropertyKey.js
+            java/awt/Graphics2D.js
+            java/awt/Graphics.js
+            jssun/font/FontDesignMetrics.js
+            java/awt/FontMetrics.js
+            
+            JU/PT.js
+            javajs/api/JSONEncodable.js
+            JU/AU.js
+            JU/Lst.js
+            JU/DF.js
+            JU/SB.js
+            JU/M34.js
+            JU/M4.js
+            JU/T3.js
+            javax/swing/JRootPane.js
+       
+            javax/swing/JToggleButton.js
+            javax/swing/ButtonModel.js
+            javax/swing/JRadioButton.js
+
+            javax/swing/JApplet.js
+
+            java/awt/EventQueue.js
+            java/awt/AWTEventMulticaster.js
+            java/awt/AWTEvent.js
+            java/awt/event/AWTEventListener.js
+            java/awt/ActiveEvent.js
+            java/awt/event/InvocationEvent.js
+            java/awt/event/ComponentEvent.js
+            java/awt/event/MouseEvent.js
+            java/awt/event/InputEvent.js
+            java/awt/Toolkit.js
+            java/lang/Thread.js
+            java/lang/ThreadGroup.js
+            java/awt/FlowLayout.js
+            java/awt/BorderLayout.js
+            java/awt/LayoutManager2.js
+            java/awt/LayoutManager.js
+            java/awt/GraphicsCallback.js
+            java/awt/Container.js
+            java/awt/Component.js
+            jssun/awt/SunGraphicsCallback.js
+
+            javax/swing/RepaintManager.js
+            jssun/awt/SunToolkit.js
+
+               java/awt/Conditional.js
+            java/awt/event/PaintEvent.js
+            java/awt/EventDispatchThread.js
+            java/awt/EventFilter.js
+            java/awt/ModalEventFilter.js
+            java/awt/peer/CanvasPeer.js
+            java/awt/peer/ComponentPeer.js
+            java/awt/peer/ContainerPeer.js
+            java/awt/peer/LightweightPeer.js
+            java/awt/peer/PanelPeer.js
+            java/awt/SentEvent.js
+            java/awt/SequencedEvent.js
+            java/util/AbstractSequentialList.js
+            java/util/LinkedList.js
+            JU/V3.js
+            javax/swing/ButtonGroup.js
+            javax/swing/SwingPaintEventDispatcher.js
+            jssun/awt/AWTAutoShutdown.js
+            jssun/awt/EventQueueItem.js
+            jssun/awt/ModalExclude.js
+            jssun/awt/NullComponentPeer.js
+            jssun/awt/PaintEventDispatcher.js
+            jssun/awt/PostEventQueue.js
+            jssun/java2d/SunGraphics2D.js
+
+               javax/swing/UIManager.js
+            javax/swing/UIDefaults.js
+            javax/swing/LookAndFeel.js
+            javax/swing/DropMode.js
+            java/awt/font/FontRenderContext.js
+            java/awt/event/InputMethodEvent.js
+            javax/swing/JViewport.js
+            java/awt/event/ComponentAdapter.js
+            javax/swing/CellRendererPane.js
+            jssun/awt/AWTAccessor.js
+            javax/swing/ViewportLayout.js
+            javax/swing/event/CaretListener.js
+            javax/swing/DefaultBoundedRangeModel.js
+            javax/swing/BoundedRangeModel.js
+            javax/swing/KeyStroke.js
+            java/awt/AWTKeyStroke.js
+            java/util/StringTokenizer.js
+            javax/swing/ComponentInputMap.js
+            jssun/swing/DefaultLayoutStyle.js
+            javax/swing/LayoutStyle.js
+            javax/swing/JCheckBox.js
+            java/awt/ItemSelectable.js
+            java/awt/event/ItemEvent.js
+            javax/swing/DefaultButtonModel.js
+            javax/swing/OverlayLayout.js
+            javax/swing/SizeRequirements.js
+            javax/swing/JLabel.js
+            javax/swing/border/Border.js
+            javax/swing/RootPaneContainer.js
+            javax/swing/event/MenuDragMouseEvent.js
+            jssun/swing/UIAction.js
+            jssun/awt/RequestFocusController.js
+            javax/swing/AncestorNotifier.js
+            javax/swing/event/AncestorEvent.js
+            javax/swing/event/AncestorListener.js
+            javax/swing/ClientPropertyKey.js
+            javax/swing/JDialog.js
+            java/awt/Dialog.js
+            javax/swing/WindowConstants.js
+            javax/swing/JFrame.js
+            javax/swing/JWindow.js
+            javax/swing/KeyboardManager.js
+            javax/swing/JMenuBar.js
+            javax/swing/MenuElement.js
+            javax/swing/DefaultSingleSelectionModel.js
+            javax/swing/SingleSelectionModel.js
+            javax/swing/JMenu.js
+            java/awt/event/WindowAdapter.js
+            javax/swing/JMenuItem.js
+            javax/swing/event/MenuDragMouseListener.js
+            javax/swing/event/MenuKeyEvent.js
+            javax/swing/event/MenuKeyListener.js
+            javax/swing/JPopupMenu.js
+            javax/swing/JSeparator.js
+            javax/swing/MenuSelectionManager.js
+            javax/swing/PopupFactory.js
+            javax/swing/Popup.js
+            javax/swing/SwingHeavyWeight.js
+            javax/swing/JToolTip.js
+            javax/swing/event/PopupMenuEvent.js
+            javax/swing/event/PopupMenuListener.js
+            javax/swing/event/MenuEvent.js
+            javax/swing/event/MenuListener.js
+            javax/swing/border/AbstractBorder.js
+            jssun/awt/PeerEvent.js
+            jssun/awt/image/URLImageSource.js
+            jssun/awt/image/InputStreamImageSource.js
+            java/awt/image/ImageProducer.js
+            jssun/awt/image/ImageFetchable.js
+            jssun/awt/image/ImageConsumerQueue.js
+            jssun/awt/image/ImageFetcher.js
+            java/awt/event/FocusEvent.js
+            java/awt/event/HierarchyEvent.js
+            jssun/awt/ConstrainableGraphics.js
+            jssun/awt/Graphics2Delegate.js
+            java/awt/event/ContainerEvent.js
+            jssun/applet/AppletEvent.js
+            jssun/applet/AppletEventMulticaster.js
+            jssun/applet/AppletListener.js
+            jssun/misc/Queue.js
+
+            javax/swing/plaf/UIResource.js
+            javax/swing/plaf/InputMapUIResource.js
+            javax/swing/plaf/ActionMapUIResource.js
+            javax/swing/plaf/ComponentUI.js
+            javax/swing/plaf/FontUIResource.js
+            javax/swing/plaf/ColorUIResource.js
+            javax/swing/plaf/ComponentInputMapUIResource.js
+
+               swingjs/api/JSFunction.js
+            swingjs/api/JSInterface.js
+            swingjs/api/Interface.js
+            swingjs/api/DOMNode.js
+
+               swingjs/JSUtil.js
+            swingjs/JSToolkit.js
+               swingjs/JSEvent.js
+               swingjs/JSThread.js
+            swingjs/JSThreadGroup.js
+            swingjs/JSAppletPanel.js
+            swingjs/JSGraphics2D.js
+            swingjs/JSAppletThread.js
+            swingjs/JSMouse.js
+            swingjs/JSComponentPeer.js
+
+                       swingjs/plaf/HTML5LookAndFeel.js
+            swingjs/plaf/JSComponentUI.js
+            swingjs/plaf/JSPanelUI.js
+            swingjs/plaf/JSRadioButtonUI.js
+            swingjs/plaf/JSRootPaneUI.js
+            swingjs/plaf/JSButtonListener.js
+            swingjs/plaf/JSButtonUI.js
+            swingjs/plaf/JSToggleButtonUI.js
+            swingjs/plaf/LazyActionMap.js
+    
+
+               "/>
+    </antcall>
+       -->
+<!--    
+
+       put classes in here temporarily to exclude them from the 
+       core load and make them easier to debug
+       
+               
+       minimize additional JSmol JavaScript -->
+
+  </target>
+
+
+  <target name="call-core" id="call-core">
+       <echo>......Creating core${call-core.name}.js</echo>    
+       <concat destfile="site/swingjs/js/core${call-core.name}.js">
+               <filelist dir="site/swingjs/j2s" files="${call-core.list}" />
+       </concat> 
+       <copy file="site/swingjs/js/core${call-core.name}.js" tofile="site/swingjs/js/core2.js" />
+       <!--
+               <echo>...removing unnecessary Clazz.defineStatics blocks</echo>
+         This next replacement does not work, because the j2s compiler does not 
+         distinguish between final and non-final static variable.
+         We will have to do this on a case-by-case basis. 
+          
+       <replaceregexp file="site/swingjs/js/core2.js" match="(Clazz.defineStatics ?\(((?![\[\(]).)*?\);)" flags="gs" replace="/*\1*/" /> 
+       <copy file="site/swingjs/js/core2.js" tofile="site/swingjs/js/core${call-core.name}3.js" />
+       
+       
+               java/io/InputStreamReader.js
+            javax/swing/text/JTextComponent.js
+            javax/swing/text/DefaultCaret.js
+            javax/swing/text/Caret.js
+            javax/swing/text/NavigationFilter.js
+            javax/swing/text/AbstractDocument.js
+            javax/swing/event/DocumentEvent.js
+            javax/swing/text/Document.js
+            javax/swing/text/DocumentFilter.js
+            javax/swing/text/Element.js
+            javax/swing/text/MutableAttributeSet.js
+            javax/swing/text/AttributeSet.js
+            javax/swing/tree/TreeNode.js
+            javax/swing/undo/AbstractUndoableEdit.js
+            javax/swing/undo/UndoableEdit.js
+            javax/swing/undo/CannotRedoException.js
+            javax/swing/undo/CannotUndoException.js
+            javax/swing/undo/CompoundEdit.js
+            javax/swing/event/UndoableEditEvent.js
+            javax/swing/event/UndoableEditListener.js
+            javax/swing/text/BadLocationException.js
+            javax/swing/text/SegmentCache.js
+            javax/swing/text/Segment.js
+            javax/swing/text/SimpleAttributeSet.js
+            javax/swing/text/StyleConstants.js
+            javax/swing/text/StateInvariantError.js
+            javax/swing/text/StyleContext.js
+            javax/swing/text/Style.js
+            javax/swing/text/Utilities.js
+            javax/swing/text/CompositeView.js
+            javax/swing/text/View.js
+            javax/swing/text/Position.js
+            javax/swing/text/StyledDocument.js
+               javax/swing/text/DefaultEditorKit.js
+               javax/swing/text/EditorKit.js
+            javax/swing/text/TextAction.js
+            javax/swing/text/PlainDocument.js
+            javax/swing/text/DefaultHighlighter.js
+            javax/swing/text/Highlighter.js
+            javax/swing/text/LayeredHighlighter.js
+            javax/swing/text/Keymap.js
+       
+        -->
+
+       <replace dir="site/swingjs/js" includes="core2.js" token="Clazz." value="Clazz_"/>
+       <replace dir="site/swingjs/js" includes="core2.js" token="Clazz__" value="Clazz._"/>
+       <replace dir="site/swingjs/js" includes="core2.js" token="($fz = " value=""/>
+       <replace dir="site/swingjs/js" includes="core2.js" token=", $fz.isPrivate = true, $fz)" value=""/>      
+       <replace dir="site/swingjs/js" includes="core2.js" token="Clazz_CheckPrivate" value="Clazz.CheckPrivate"/>      
+       <concat destfile="site/swingjs/js/core${call-core.name}.js"><filelist dir="site/swingjs/js" files="
+               core/coretop2.js
+               core2.js
+               core/corebottom2.js
+               " />
+       </concat>
+       <echo>......Generating core${call-core.name}.z.js</echo>        
+       <java jar="jars/closure_compiler.jar" fork="true" dir="site/swingjs/js" failonerror="false">
+               <arg line="--js core${call-core.name}.js --js_output_file ../j2s/core/core${call-core.name}.z.js" />
+    </java>
+  </target>
+
+  <target name="call-min" id="call-min">
+       <echo>......Creating JSmol.${call-min.minname}.js</echo>        
+       <concat destfile="site/swingjs/js/SwingJS.${call-min.fullname}.js">
+               <filelist dir="jsmoljs" files="${call-min.list}" />
+       </concat>   
+       <java jar="jars/closure_compiler.jar" fork="true" dir="" failonerror="false">
+               <arg line="--js site/swingjs/js/SwingJS.${call-min.fullname}.js --js_output_file site/swingjs/SwingJS.${call-min.minname}.js" />
+    </java>
+  </target>
+       
+</project>