1 <project name="swingjs" default="createSite" basedir=".">
3 <!-- buildSite.xml for building site/ -->
6 <target name="createSite" id="createSite">
8 <property name="project.path" value="." />
10 <!-- create a NON svn local directory only containing JS files -->
12 <echo>...adding JavaScript files from bin</echo>
13 <copy todir="site/j2s" overwrite="true" >
15 <include name="**/*.js" />
16 <exclude name="javajs/**/*.js" />
21 <echo>...adding to /j2s all src property and css files -- adjust as necessary</echo>
22 <copy todir="site/j2s" overwrite="true" >
24 <include name="**/*.properties" />
25 <include name="**/*.css" />
26 <include name="**/*.png" />
30 <echo>...adding resource directory</echo>
31 <copy todir="site/j2s/jalview/resources" overwrite="true" >
32 <fileset dir="resources">
33 <include name="**/*" />
37 <!-- modify class names -->
39 <echo>removing j2s globals Class and JavaObject</echo>
40 <echo>...replacing Class.forName with Clazz._4Name</echo>
41 <replace dir="site/j2s" includes="**/*.js" token="Class.forName" value="Clazz._4Name"/>
42 <echo>...replacing JavaObject with Clazz._O</echo>
43 <replace dir="site/j2s" includes="**/*.js" token=" JavaObject" value=" Clazz._O"/>
44 <echo>...removing all $fz references for sub/superclass common private function names</echo>
45 <replace dir="site/j2s" includes="**/*.js" token="($fz =" value=""/>
46 <replace dir="site/j2s" includes="**/*.js" token=", $fz.isPrivate = true, $fz)" value=""/>
47 <echo>...changing Clazz.pu$h() to Clazz.pu$h(self.c$) (only a partial fix)</echo>
48 <replace dir="site/j2s" includes="**/*.js" token="Clazz.pu$h()" value="Clazz.pu$h(self.c$)"/>
49 <replace dir="site/j2s" includes="**/*.js" token="Clazz.pu$h ()" value="Clazz.pu$h(self.c$)"/>
52 <echo>...abbreviating class name "javajs.util", and "com.jcraft.jzlib" to "JU"</echo>
53 <replace dir="site/j2s" includes="**/*.js" token="javajs.util" value="JU"/>
54 <replace dir="site/j2s" includes="**/*.js" token="com.jcraft.jzlib" value="JU"/>
57 <!-- make core files -->
59 <echo>creating and compressing core files - warnings are OK; "does not exist" is trouble</echo>
61 <!-- note: any changes in these next sections must be reflected also
64 <property name="javaCoreFiles" value="
65 java/lang/AbstractStringBuilder.js
76 <echo>creating minimal core.z.js</echo>
78 <antcall target="call-core">
79 <param name="call-core.name" value="swingjs" />
80 <param name="call-core.list" value="
82 java/awt/BasicStroke.js
85 java/util/ResourceBundle.js
87 javajs/api/GenericLineReader.js
88 java/io/BufferedInputStream.js
89 java/io/FilterInputStream.js
90 java/io/InputStream.js
91 java/io/BufferedReader.js
92 java/io/ByteArrayInputStream.js
94 java/io/StringReader.js
97 java/util/MissingResourceException.js
100 jssun/misc/MessageUtils.js
101 java/awt/Dimension.js
102 java/awt/geom/Dimension2D.js
104 java/util/ArrayList.js
105 java/util/AbstractList.js
106 java/util/AbstractCollection.js
107 java/awt/ComponentOrientation.js
108 java/security/AccessController.js
109 java/security/AccessControlContext.js
111 java/util/MapEntry.js
112 java/util/AbstractSet.js
113 java/util/AbstractMap.js
114 java/awt/image/ImageObserver.js
116 java/applet/AppletStub.js
117 java/applet/AppletContext.js
118 javajs/api/JSInterface.js
119 java/lang/StringBuilder.js
120 java/lang/AbstractStringBuilder.js
123 java/awt/event/ActionListener.js
124 java/awt/event/AdjustmentListener.js
125 java/awt/event/ComponentListener.js
126 java/awt/event/ContainerListener.js
127 java/awt/event/FocusListener.js
128 java/awt/event/HierarchyBoundsListener.js
129 java/awt/event/HierarchyListener.js
130 java/awt/event/InputMethodListener.js
131 java/awt/event/ItemListener.js
132 java/awt/event/KeyListener.js
133 java/awt/event/MouseListener.js
134 java/awt/event/MouseMotionListener.js
135 java/awt/event/MouseWheelListener.js
136 java/awt/event/TextListener.js
137 java/awt/event/WindowFocusListener.js
138 java/awt/event/WindowListener.js
139 java/awt/event/WindowStateListener.js
143 java/awt/RenderingHints.js
144 java/util/Collections.js
145 java/util/SortedMap.js
146 java/util/SortedSet.js
148 java/awt/event/AWTEventListenerProxy.js
149 java/beans/PropertyChangeSupport.js
150 java/beans/ChangeListenerMap.js
151 java/beans/IndexedPropertyChangeEvent.js
152 java/beans/PropertyChangeEvent.js
153 java/beans/PropertyChangeListenerProxy.js
154 java/beans/PropertyChangeListener.js
155 java/security/PrivilegedAction.js
157 jssun/awt/AppContext.js
158 java/lang/StringBuffer.js
159 java/util/IdentityHashMap.js
161 jssun/awt/ComponentFactory.js
162 jssun/awt/WindowClosingListener.js
163 jssun/awt/WindowClosingSupport.js
168 java/awt/Transparency.js
169 java/awt/ColorPaintContext.js
170 java/awt/PaintContext.js
171 java/awt/image/ColorModel.js
172 java/awt/color/ColorSpace.js
173 java/util/ResourceBundle.js
174 java/applet/Applet.js
176 java/util/Hashtable.js
177 java/util/Dictionary.js
178 java/net/MalformedURLException.js
179 java/awt/GraphicsEnvironment.js
180 java/awt/event/WindowEvent.js
181 javax/swing/JComponent.js
182 javax/swing/Action.js
183 javax/swing/SwingUtilities.js
185 java/awt/IllegalComponentStateException.js
186 javax/swing/SwingConstants.js
187 java/awt/Rectangle.js
189 java/awt/geom/Rectangle2D.js
190 java/awt/geom/RectangularShape.js
191 java/awt/geom/FlatteningPathIterator.js
192 java/awt/geom/PathIterator.js
193 java/awt/geom/CubicCurve2D.js
194 java/awt/geom/CubicIterator.js
195 java/awt/geom/Line2D.js
196 java/awt/geom/LineIterator.js
197 java/awt/geom/QuadCurve2D.js
198 java/awt/geom/QuadIterator.js
199 jssun/awt/geom/Curve.js
200 java/awt/geom/IllegalPathStateException.js
201 java/awt/geom/RectIterator.js
202 java/awt/event/ActionEvent.js
203 java/awt/event/KeyEvent.js
204 java/awt/event/MouseWheelEvent.js
205 javax/swing/AbstractAction.js
206 javax/swing/AbstractButton.js
207 javax/swing/ArrayTable.js
208 javax/swing/event/SwingPropertyChangeSupport.js
209 javax/swing/JLayeredPane.js
210 javax/swing/JPanel.js
211 javax/swing/MultiUIDefaults.js
214 java/awt/font/TextAttribute.js
215 java/text/AttributedCharacterIterator.js
216 java/text/CharacterIterator.js
217 java/awt/geom/Point2D.js
218 java/awt/geom/AffineTransform.js
219 java/awt/geom/NoninvertibleTransformException.js
220 java/awt/geom/Path2D.js
222 javax/swing/JPasswordField.js
223 javax/swing/JTextField.js
224 javax/swing/ActionPropertyChangeListener.js
225 javax/swing/event/ChangeListener.js
226 javax/swing/ActionMap.js
227 javax/swing/InputMap.js
228 javax/swing/Scrollable.js
229 javax/swing/event/CaretEvent.js
230 javax/swing/event/DocumentListener.js
231 javax/swing/event/EventListenerList.js
232 javax/swing/event/ChangeEvent.js
233 jssun/swing/StringUIClientPropertyKey.js
234 jssun/swing/UIClientPropertyKey.js
235 java/awt/Graphics2D.js
237 jssun/font/FontDesignMetrics.js
238 java/awt/FontMetrics.js
241 javajs/api/JSONEncodable.js
249 javax/swing/JRootPane.js
251 javax/swing/JToggleButton.js
252 javax/swing/ButtonModel.js
253 javax/swing/JRadioButton.js
255 javax/swing/JApplet.js
257 java/awt/EventQueue.js
258 java/awt/AWTEventMulticaster.js
260 java/awt/event/AWTEventListener.js
261 java/awt/ActiveEvent.js
262 java/awt/event/InvocationEvent.js
263 java/awt/event/ComponentEvent.js
264 java/awt/event/MouseEvent.js
265 java/awt/event/InputEvent.js
268 java/lang/ThreadGroup.js
269 java/awt/FlowLayout.js
270 java/awt/BorderLayout.js
271 java/awt/LayoutManager2.js
272 java/awt/LayoutManager.js
273 java/awt/GraphicsCallback.js
274 java/awt/Container.js
275 java/awt/Component.js
276 jssun/awt/SunGraphicsCallback.js
278 javax/swing/RepaintManager.js
279 jssun/awt/SunToolkit.js
281 java/awt/Conditional.js
282 java/awt/event/PaintEvent.js
283 java/awt/EventDispatchThread.js
284 java/awt/EventFilter.js
285 java/awt/ModalEventFilter.js
286 java/awt/peer/CanvasPeer.js
287 java/awt/peer/ComponentPeer.js
288 java/awt/peer/ContainerPeer.js
289 java/awt/peer/LightweightPeer.js
290 java/awt/peer/PanelPeer.js
291 java/awt/SentEvent.js
292 java/awt/SequencedEvent.js
293 java/util/AbstractSequentialList.js
294 java/util/LinkedList.js
296 javax/swing/ButtonGroup.js
297 javax/swing/SwingPaintEventDispatcher.js
298 jssun/awt/AWTAutoShutdown.js
299 jssun/awt/EventQueueItem.js
300 jssun/awt/ModalExclude.js
301 jssun/awt/NullComponentPeer.js
302 jssun/awt/PaintEventDispatcher.js
303 jssun/awt/PostEventQueue.js
304 jssun/java2d/SunGraphics2D.js
306 javax/swing/UIManager.js
307 javax/swing/UIDefaults.js
308 javax/swing/LookAndFeel.js
309 javax/swing/DropMode.js
310 java/awt/font/FontRenderContext.js
311 java/awt/event/InputMethodEvent.js
312 javax/swing/JViewport.js
313 java/awt/event/ComponentAdapter.js
314 javax/swing/CellRendererPane.js
315 jssun/awt/AWTAccessor.js
316 javax/swing/ViewportLayout.js
317 javax/swing/event/CaretListener.js
318 javax/swing/DefaultBoundedRangeModel.js
319 javax/swing/BoundedRangeModel.js
320 javax/swing/KeyStroke.js
321 java/awt/AWTKeyStroke.js
322 java/util/StringTokenizer.js
323 javax/swing/ComponentInputMap.js
324 jssun/swing/DefaultLayoutStyle.js
325 javax/swing/LayoutStyle.js
326 javax/swing/JCheckBox.js
327 java/awt/ItemSelectable.js
328 java/awt/event/ItemEvent.js
329 javax/swing/DefaultButtonModel.js
330 javax/swing/OverlayLayout.js
331 javax/swing/SizeRequirements.js
332 javax/swing/JLabel.js
333 javax/swing/border/Border.js
334 javax/swing/RootPaneContainer.js
335 javax/swing/event/MenuDragMouseEvent.js
336 jssun/swing/UIAction.js
337 jssun/awt/RequestFocusController.js
338 javax/swing/AncestorNotifier.js
339 javax/swing/event/AncestorEvent.js
340 javax/swing/event/AncestorListener.js
341 javax/swing/ClientPropertyKey.js
342 javax/swing/JDialog.js
344 javax/swing/WindowConstants.js
345 javax/swing/JFrame.js
346 javax/swing/JWindow.js
347 javax/swing/KeyboardManager.js
348 javax/swing/JMenuBar.js
349 javax/swing/MenuElement.js
350 javax/swing/DefaultSingleSelectionModel.js
351 javax/swing/SingleSelectionModel.js
353 java/awt/event/WindowAdapter.js
354 javax/swing/JMenuItem.js
355 javax/swing/event/MenuDragMouseListener.js
356 javax/swing/event/MenuKeyEvent.js
357 javax/swing/event/MenuKeyListener.js
358 javax/swing/JPopupMenu.js
359 javax/swing/JSeparator.js
360 javax/swing/MenuSelectionManager.js
361 javax/swing/PopupFactory.js
363 javax/swing/SwingHeavyWeight.js
364 javax/swing/JToolTip.js
365 javax/swing/event/PopupMenuEvent.js
366 javax/swing/event/PopupMenuListener.js
367 javax/swing/event/MenuEvent.js
368 javax/swing/event/MenuListener.js
369 javax/swing/border/AbstractBorder.js
370 jssun/awt/PeerEvent.js
371 jssun/awt/image/URLImageSource.js
372 jssun/awt/image/InputStreamImageSource.js
373 java/awt/image/ImageProducer.js
374 jssun/awt/image/ImageFetchable.js
375 jssun/awt/image/ImageConsumerQueue.js
376 jssun/awt/image/ImageFetcher.js
377 java/awt/event/FocusEvent.js
378 java/awt/event/HierarchyEvent.js
379 jssun/awt/ConstrainableGraphics.js
380 jssun/awt/Graphics2Delegate.js
381 java/awt/event/ContainerEvent.js
382 jssun/applet/AppletEvent.js
383 jssun/applet/AppletEventMulticaster.js
384 jssun/applet/AppletListener.js
387 javax/swing/plaf/UIResource.js
388 javax/swing/plaf/InputMapUIResource.js
389 javax/swing/plaf/ActionMapUIResource.js
390 javax/swing/plaf/ComponentUI.js
391 javax/swing/plaf/FontUIResource.js
392 javax/swing/plaf/ColorUIResource.js
393 javax/swing/plaf/ComponentInputMapUIResource.js
395 swingjs/api/JSFunction.js
396 swingjs/api/JSInterface.js
397 swingjs/api/Interface.js
398 swingjs/api/DOMNode.js
404 swingjs/JSThreadGroup.js
405 swingjs/JSAppletPanel.js
406 swingjs/JSGraphics2D.js
407 swingjs/JSAppletThread.js
409 swingjs/JSComponentPeer.js
411 swingjs/plaf/HTML5LookAndFeel.js
412 swingjs/plaf/JSComponentUI.js
413 swingjs/plaf/JSPanelUI.js
414 swingjs/plaf/JSRadioButtonUI.js
415 swingjs/plaf/JSRootPaneUI.js
416 swingjs/plaf/JSButtonListener.js
417 swingjs/plaf/JSButtonUI.js
418 swingjs/plaf/JSToggleButtonUI.js
419 swingjs/plaf/LazyActionMap.js
427 put classes in here temporarily to exclude them from the
428 core load and make them easier to debug
431 minimize additional JSmol JavaScript -->
436 <target name="call-core" id="call-core">
437 <echo>......Creating core${call-core.name}.js</echo>
438 <concat destfile="site/swingjs/js/core${call-core.name}.js">
439 <filelist dir="site/swingjs/j2s" files="${call-core.list}" />
441 <copy file="site/swingjs/js/core${call-core.name}.js" tofile="site/swingjs/js/core2.js" />
443 <echo>...removing unnecessary Clazz.defineStatics blocks</echo>
444 This next replacement does not work, because the j2s compiler does not
445 distinguish between final and non-final static variable.
446 We will have to do this on a case-by-case basis.
448 <replaceregexp file="site/swingjs/js/core2.js" match="(Clazz.defineStatics ?\(((?![\[\(]).)*?\);)" flags="gs" replace="/*\1*/" />
449 <copy file="site/swingjs/js/core2.js" tofile="site/swingjs/js/core${call-core.name}3.js" />
452 java/io/InputStreamReader.js
453 javax/swing/text/JTextComponent.js
454 javax/swing/text/DefaultCaret.js
455 javax/swing/text/Caret.js
456 javax/swing/text/NavigationFilter.js
457 javax/swing/text/AbstractDocument.js
458 javax/swing/event/DocumentEvent.js
459 javax/swing/text/Document.js
460 javax/swing/text/DocumentFilter.js
461 javax/swing/text/Element.js
462 javax/swing/text/MutableAttributeSet.js
463 javax/swing/text/AttributeSet.js
464 javax/swing/tree/TreeNode.js
465 javax/swing/undo/AbstractUndoableEdit.js
466 javax/swing/undo/UndoableEdit.js
467 javax/swing/undo/CannotRedoException.js
468 javax/swing/undo/CannotUndoException.js
469 javax/swing/undo/CompoundEdit.js
470 javax/swing/event/UndoableEditEvent.js
471 javax/swing/event/UndoableEditListener.js
472 javax/swing/text/BadLocationException.js
473 javax/swing/text/SegmentCache.js
474 javax/swing/text/Segment.js
475 javax/swing/text/SimpleAttributeSet.js
476 javax/swing/text/StyleConstants.js
477 javax/swing/text/StateInvariantError.js
478 javax/swing/text/StyleContext.js
479 javax/swing/text/Style.js
480 javax/swing/text/Utilities.js
481 javax/swing/text/CompositeView.js
482 javax/swing/text/View.js
483 javax/swing/text/Position.js
484 javax/swing/text/StyledDocument.js
485 javax/swing/text/DefaultEditorKit.js
486 javax/swing/text/EditorKit.js
487 javax/swing/text/TextAction.js
488 javax/swing/text/PlainDocument.js
489 javax/swing/text/DefaultHighlighter.js
490 javax/swing/text/Highlighter.js
491 javax/swing/text/LayeredHighlighter.js
492 javax/swing/text/Keymap.js
496 <replace dir="site/swingjs/js" includes="core2.js" token="Clazz." value="Clazz_"/>
497 <replace dir="site/swingjs/js" includes="core2.js" token="Clazz__" value="Clazz._"/>
498 <replace dir="site/swingjs/js" includes="core2.js" token="($fz = " value=""/>
499 <replace dir="site/swingjs/js" includes="core2.js" token=", $fz.isPrivate = true, $fz)" value=""/>
500 <replace dir="site/swingjs/js" includes="core2.js" token="Clazz_CheckPrivate" value="Clazz.CheckPrivate"/>
501 <concat destfile="site/swingjs/js/core${call-core.name}.js"><filelist dir="site/swingjs/js" files="
507 <echo>......Generating core${call-core.name}.z.js</echo>
508 <java jar="jars/closure_compiler.jar" fork="true" dir="site/swingjs/js" failonerror="false">
509 <arg line="--js core${call-core.name}.js --js_output_file ../j2s/core/core${call-core.name}.z.js" />
513 <target name="call-min" id="call-min">
514 <echo>......Creating JSmol.${call-min.minname}.js</echo>
515 <concat destfile="site/swingjs/js/SwingJS.${call-min.fullname}.js">
516 <filelist dir="jsmoljs" files="${call-min.list}" />
518 <java jar="jars/closure_compiler.jar" fork="true" dir="" failonerror="false">
519 <arg line="--js site/swingjs/js/SwingJS.${call-min.fullname}.js --js_output_file site/swingjs/SwingJS.${call-min.minname}.js" />