JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / buildSite.xml
1 <project name="swingjs" default="createSite" basedir=".">\r
2                         \r
3 <!-- buildSite.xml for building site/ -->\r
4         \r
5         \r
6   <target name="createSite" id="createSite">\r
7 \r
8         <property name="project.path" value="." />\r
9 \r
10         <!-- create a NON svn local directory only containing JS files  -->\r
11         \r
12     <echo>...adding JavaScript files from bin</echo>\r
13         <copy todir="site/j2s"  overwrite="true" >\r
14       <fileset dir="bin">\r
15         <include name="**/*.js" />\r
16         <exclude name="javajs/**/*.js" />\r
17       </fileset>\r
18     </copy>\r
19                 \r
20 \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
23       <fileset dir="src">\r
24         <include name="**/*.properties" />\r
25         <include name="**/*.css" />\r
26         <include name="**/*.png" />\r
27       </fileset>\r
28     </copy>\r
29         \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
34       </fileset>\r
35     </copy>\r
36         \r
37         <!-- modify class names -->             \r
38 \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
50                 \r
51 \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
55                                 \r
56         \r
57         <!-- make core files -->\r
58  \r
59         <echo>creating and compressing core files - warnings are OK; "does not exist" is trouble</echo>\r
60 \r
61         <!-- note: any changes in these next sections must be reflected also\r
62                      in package.js -->\r
63 <!--    \r
64     <property name="javaCoreFiles" value="\r
65         java/lang/AbstractStringBuilder.js\r
66         java/lang/Enum.js\r
67         ...\r
68         " />\r
69         \r
70         \r
71         \r
72 -->    \r
73 \r
74         <!-- \r
75 \r
76         <echo>creating minimal core.z.js</echo>\r
77         \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
83             java/awt/Stroke.js\r
84             java/util/Locale.js\r
85             java/util/ResourceBundle.js\r
86             JU/Rdr.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
93             java/io/Reader.js                   \r
94             java/io/StringReader.js\r
95             JU/Base64.js\r
96             JU/Encoding.js\r
97             java/util/MissingResourceException.js\r
98                 \r
99 \r
100             jssun/misc/MessageUtils.js\r
101             java/awt/Dimension.js\r
102             java/awt/geom/Dimension2D.js\r
103             java/awt/Panel.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
115             java/lang/Enum.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
140             java/awt/Cursor.js\r
141             java/awt/AWTError.js\r
142             java/awt/Insets.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
156             java/awt/Point.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
164             java/awt/Window.js\r
165             java/util/Vector.js\r
166             java/awt/Color.js\r
167             java/awt/Paint.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
175             java/net/URL.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
184             java/awt/Frame.js\r
185             java/awt/IllegalComponentStateException.js\r
186             javax/swing/SwingConstants.js\r
187             java/awt/Rectangle.js\r
188             java/awt/Shape.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
212 \r
213             java/awt/Font.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
239             \r
240             JU/PT.js\r
241             javajs/api/JSONEncodable.js\r
242             JU/AU.js\r
243             JU/Lst.js\r
244             JU/DF.js\r
245             JU/SB.js\r
246             JU/M34.js\r
247             JU/M4.js\r
248             JU/T3.js\r
249             javax/swing/JRootPane.js\r
250         \r
251             javax/swing/JToggleButton.js\r
252             javax/swing/ButtonModel.js\r
253             javax/swing/JRadioButton.js\r
254 \r
255             javax/swing/JApplet.js\r
256 \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
277 \r
278             javax/swing/RepaintManager.js\r
279             jssun/awt/SunToolkit.js\r
280 \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
295             JU/V3.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
305 \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
343             java/awt/Dialog.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
386 \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
394 \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
399 \r
400                 swingjs/JSUtil.js\r
401             swingjs/JSToolkit.js\r
402                 swingjs/JSEvent.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
408             swingjs/JSMouse.js\r
409             swingjs/JSComponentPeer.js\r
410 \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
420     \r
421 \r
422                 "/>\r
423     </antcall>\r
424         -->\r
425 <!--    \r
426 \r
427         put classes in here temporarily to exclude them from the \r
428         core load and make them easier to debug\r
429         \r
430                 \r
431         minimize additional JSmol JavaScript -->\r
432 \r
433   </target>\r
434 \r
435 \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
440         </concat> \r
441         <copy file="site/swingjs/js/core${call-core.name}.js" tofile="site/swingjs/js/core2.js" />\r
442         <!--\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
447            \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
450         \r
451         \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
493         \r
494          -->\r
495 \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
502                 core/coretop2.js\r
503                 core2.js\r
504                 core/corebottom2.js\r
505                 " />\r
506         </concat>\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
510     </java>\r
511   </target>\r
512 \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
517         </concat>   \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
520     </java>\r
521   </target>\r
522         \r
523 </project>\r