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