--- /dev/null
+<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>