home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Metrowerks CodeWarrior / CodeWarrior Pro 4 Release Notes / Java Notes / Java Linker.txt < prev    next >
Encoding:
Text File  |  1998-09-04  |  11.8 KB  |  300 lines  |  [TEXT/CWIE]

  1. ========================================================================
  2. Metrowerks Java Linker Release Notes 
  3. ========================================================================
  4.  
  5. Version: 1.3
  6. Date:    09/04/98
  7. Author:  Pedro Larios, John Cortell, Tim Freehill, 
  8.          Clint Popetz, Greg Bolsinga 
  9. ========================================================================
  10.  
  11. This linker will package the compiled java classes in either a Java 
  12. standard, jar file, build a folder hierarchy corresponding to the Java 
  13. packages in which the classes reside, or generate an application (Windows 
  14. only-- see notes below). Note that the compiled Java class files are stored 
  15. by the IDE as project data; they are not accesible to the developer until 
  16. the project is linked.
  17.  
  18. This linker requires the use of the Metrowerks 3.1 IDE or later.
  19.  
  20. ========================================================================
  21. New Features in This Version
  22. ========================================================================
  23. 1.3b6
  24. *    Linker now works with IDE 3.0 and IDE 3.1.
  25.  
  26. 1.3b5     The linker now defers building the project's classpath until right
  27. *    before the Java application/applet is launched. Operations like
  28.     changing project settings, adding/removing files, etc will be
  29.     much faster because of this.
  30.  
  31. 1.3b2    [MAC ONLY] The linker no longer merges Mac resources into jar/zip 
  32. *    files. It also does not generate the standalone application. This 
  33.     is because a new post linker has been developed for these tasks. 
  34.     If you want to merge Mac resources into a jar/zip file, generate 
  35.     an application,    or generate a jbindery Mac application, you will 
  36.     need to select the "Java MacOS Post Linker" and set the appropriate
  37.     options in the plugins pref panel. Refer to the Java MacOS Post
  38.     Linker release notes for details.
  39.     
  40. 1.3b1
  41. *     [WINDOWS ONLY] The linker now enables debugging for both the Sun VM
  42.     and the Microsoft VM.
  43.  
  44. 1.2fc1
  45. *    [WINDOWS ONLY] added option for generating a non-console executable 
  46.     when building applications.
  47.  
  48. 1.1b3
  49. *    added rudimentary cross platform pref capability. If the factory prefs
  50.     are chosen for a project, an default value for that pref will be
  51.     selected for that pref based on the platform on which it's running.
  52.     Currently, the only platform specific prefs are on the Java Target
  53.     panel. They are the VM chosen for application running, and the 
  54.     appletviewer chosen if the project's an applet. See the prefs release
  55.     notes for more information.
  56.     
  57. 1.1b2
  58. *    Files included in the project, but not recognized by the linker as
  59.     a program related file (class, zip, java, jar, html), will be included 
  60.     at the root of a jar file or application if it not set to be weak 
  61.     imported. This is intended to allow the user to include .gif or .jpg 
  62.     files in the output of file. Note that to add these files to the project 
  63.     in the first place, you must add a mapping for it in the file mappings 
  64.     project settings panel.
  65.     
  66. 1.1b1
  67.  
  68. *    The Linker now tells the VM the classpath necessary for it
  69.     to find all of the class files an application uses, including
  70.     3rd party libraries.
  71.  
  72. *    The linker will now tell the run helper which VM to use when running
  73.     the project. The VMs available are listed in a popup on the Java
  74.     Project pref panel.
  75.  
  76. *    The linker now supports generation of .jar files in accordance with
  77.     Sun's jar specifications.
  78.  
  79. *    Manifest files for jar files can now be generated.
  80.  
  81. *    The java bean attribute for the classes in a project can be set by
  82.     either including a .mf file in the target's link order, or by having
  83.     a file with the name "projectname.mf" in the same folder as the 
  84.     project (similar to a .exp or lnkcmdfile.txt file.)
  85.  
  86. *    Standalone executable applications can now be created for your java
  87.     applications. Follow these instructions:
  88.     
  89.     [MAC]: include the application Metrowerks Java Standalone in your 
  90.     java application project. Use the Java Project pref panel to set
  91.     parameters for your java app, classpath, and working directory. 
  92.     When the project is linked, an application will be produced which
  93.     contains your java class files. When double clicked, this application
  94.     will run your java application. Be aware that any UI that the
  95.     program needs is the responsibility of your java code to display.
  96.     See the Standalone Java readme for more detailed information.
  97.     
  98.     [WIN]: just select the output type of Application on the Output 
  99.     pref panel. When linked, the output will include two files: 
  100.     ProjectName.exe    and ProjectName.zip. When double clicked or run 
  101.     from the command line, the .exe will load the selected VM and run 
  102.     the java program, which    is contained in the .zip file.
  103.  
  104. *    Support added to filter browser names, so you can specify what portions
  105.     of a java identifier you don't want to see in browser popups or views.
  106.     For example, if you don't want to see the fully qualified classname for
  107.     the java.lang.* classes, just type this in the browser filter field in
  108.     the Java Language pref panel, and it will not appear.
  109.     
  110. *    A dependency map can now be generated at link time which lists all of
  111.     the classes external to a file on which a file's code depends. The
  112.     compiler gathers this data, and the linker emits it.
  113.  
  114. *    Better integration with the run helper and debugger, making the code/
  115.     compile/debug cycle smoother.
  116.  
  117. *    Internal error handling reworked to report more meaningful link errors
  118.     and system related errors.
  119.     
  120. *    Linker now provides the option of deleting all class files from the output
  121.     directory before emitting the new ones from the build. If this is turned
  122.     off, only class files of the corresponding name will be overwritten.    
  123.  
  124. [MAC only]
  125. *    The ability to set an application or jar file's creator code and 
  126.     type has been re-added. Note that the default creator for jar files
  127.     is now ClassWrangler instead of Metrowerks Java, so the jar files
  128.     are now doubleclickable to be opened in ClassWrangler. This default
  129.     can be changed by changing the setting in the Output pref panel.
  130.     
  131. *    The linker now allows the user to select the method used to truncate
  132.     long filenames to the mac 31 character limit. Note that the most VMs 
  133.     will not run properly when truncated class names are used, so they
  134.     should be avoided.
  135.  
  136. *    You can now specify the working directory for applications.
  137.  
  138. *    You can now debug if the output is a folder hierarchy.
  139.  
  140. ========================================================================
  141. Bugs Fixed in This Version
  142. ========================================================================
  143. 1.3fc2
  144. *    Fixed a problem with linking projects with subtargets.
  145.  
  146. 1.3b2    
  147. *    The linker no longer complains about a bad manifest if a jar file
  148.     is missing a manifest.
  149.  
  150. *    [WINDOWS Only] Fixed a bug in the executable generated by the linker
  151.     when using the Sun VM that would prevent the application to find
  152.     the main class file in the jar.
  153.  
  154. 1.3b1
  155. *    [WINDOWS Only] The linker now appends jar/zip files to the classpath
  156.     instead of prepending them like it used to.
  157.     
  158. 1.2fc1
  159. *    Fixed a bug that would cause the linker to complain about duplicate
  160.     class files when linking multiple jar files containing manifest
  161.     information.
  162.  
  163. *    Emit Dependency Map did not work if the *.JMAP file was already open.
  164.     The linker now reports a meaningful error message.
  165.  
  166. 1.1.1
  167. *    [MAC only]Fixed a bug which would cause empty folders to be deleted
  168.     if an output folder name was not specified.
  169.  
  170. *    Fixed a bug which caused a linker exception when linking a project
  171.     containing an empty java source file.
  172.     
  173. *    Fixed a bug that caused incorrect behavior when linking multiple
  174.     jar files with manifest information.
  175.  
  176. *     The linker now reports a meaningful error message if the user 
  177.     attempts to link the output file onto itself.
  178.  
  179. 1.1fc4
  180. [MAC only]
  181. *     Fixed double dispose of a handle when writing run resources.
  182.  
  183. 1.1fc3
  184. *    Linker will now handle arbitrarily deeply nested main classes when
  185.     the output of a project is a class folder. Previously, it would barf
  186.     if the partial path to the main class from the top of the class folder
  187.     hierarchy was greater than 63 characters long.
  188.     
  189.     *** IMPORTANT NOTE ***: with the good comes the bad. This fix means
  190.     that the linker must actually create the folder hierarchy it will
  191.     eventually use to contain the link's output. This shouldn't be a 
  192.     problem, once the project's settings have stabilized. But be advised
  193.     that if you change either the name of the output folder or the target
  194.     directory, a folder structure will remain at that location. There isn't
  195.     a safe way for the linker to clean it up, so it doesn't. If we think
  196.     of a better way to do this, we will implement it in future versions.
  197.     
  198. 1.1fc1
  199. *    Fixed crasher in disassembler when a .zip file with a manifest was
  200.     disassembled.
  201.     
  202. 1.1b4
  203. *    Make error message more generic for "could not create output"
  204.  
  205. *    Prevent the linker from inappropriately throwing a file locked error.
  206.  
  207. *    Compiled out a DebugStr for unhandled exceptions.
  208.  
  209. 1.1b3
  210. *    Now can cancel links which include large zip files that aren't weak
  211.     linked.
  212.     
  213. *    Fixed disassembler crasher for string index of 0.
  214.  
  215. [WIN95/NT]
  216. *    Fixed registry check for run app that was disabling the Run command.
  217.  
  218. 1.1b2
  219.  
  220. *    Corrected the disassembler output for floats and doubles to use the 
  221.     exponential notation rather than regular float notation. This is to 
  222.     prevent it from overflowing the string that contains it.
  223.  
  224. *    Disassembled files will no longer prompt the user to be saved when
  225.     the window is closed. This parallels the behavior of PPC disassembly
  226.     windows.
  227.  
  228. *    The manifest file will now be compressed according to the user's 
  229.     selection of the compress flag on the output panel. It was always
  230.     compressed.
  231.             
  232. [WIN95/NT only]
  233. *    Disassembler would sometimes crash if the file disassembled had a 
  234.     long in its constant pool.
  235.     
  236. *    For long, int and float constants, the byte dump was out of order
  237.  
  238. *    The debug command is now only enabled if the user selected VM or viewing
  239.     application is Internet Explorer. Other VMs will be added soon.
  240.  
  241. *    Corrected linker code looking for an invalid registry item. 
  242.     
  243. [MAC only]
  244. *    Disassembler now properly pays attention the user cancel using command-.
  245.  
  246. *    Corrected the reporting of the max file size exception, so the user
  247.     would know why a disassemble stopped.
  248.     
  249. *    Fixed bug in the browser unmangler for 68k which prevented any string
  250.     from being unmangled.
  251.  
  252. *    Fixed bug causing invalid reporting of the classpath to the main class
  253.     to Metrowerks Java.
  254.     
  255. 1.1b1
  256.  
  257. *  The "Run" menu item in the IDE will now automatically get disabled if 
  258.    the .html file is removed from a applet project.
  259.  
  260. ========================================================================
  261. Known Bugs and Incompatibilities
  262. ========================================================================
  263.  
  264. *    Incremental linking of class folder heirarchies is broken in this
  265.     release due to a bug in the IDE. To avoid this problem, make sure
  266.     the option to delete all class files before linking is selected
  267.     in the Java Output preference panel.
  268.  
  269. [WIN]
  270. *    The user can't interrupt the disassembly of a large file by pressing
  271.     control-break.    
  272.  
  273. ========================================================================
  274. Additional Notes
  275. ========================================================================
  276.  
  277. [MAC]
  278.  
  279. *    The java disassembler will use up to 90% of the IDE's heap for its
  280.     output. This means that large zip files will likely run out of memory
  281.     before they are completely disassemble. You can increase your memory
  282.     partition to avoid this.    
  283.  
  284.  
  285. ========================================================================
  286. Contacting Metrowerks
  287. ========================================================================
  288.  
  289. For bug reports, technical questions, and suggestions, please use the
  290. forms in the Release Notes folder on the CD, and send them to
  291.  
  292. support@metrowerks.com
  293.  
  294. See the CodeWarrior on the Nets document in the Release Notes folder for
  295. more contact information, including a list of Internet newsgroups, 
  296. online services, and patch and update sites.
  297.  
  298. ========================================================================
  299.  
  300. Metrowerks Corporation