NEWS 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. Prebuild is an XML-driven pre-build tool allowing developers to easily generate project or make files for major IDE's and .NET development tools including: Visual Studio 2005, Visual Studio 2003, Visual Studio 2002, SharpDevelop, MonoDevelop, and NAnt.
  2. Documentation and downloads are available at http://dnpb.sourceforge.net.
  3. Prebuild is licensed under the BSD license.
  4. [ XXXXXXX XX, XXX - 1.3.2 ]
  5. + Added Keyfile signing to NAnt target and VS2005 target
  6. + Updated XSD file to 1.7
  7. + Boo and VisualBasic Language support in VS2005 target
  8. + Added basic Autotools target. It creates a non-recursive Autotools system.
  9. ! Multiple files can be excluded from the Match node
  10. ! VS2005 now handles .resx files correctly.
  11. ! NAnt and Autotools now handle defines
  12. ! NAnt and Autotools now handle resources
  13. + Conditional XML variables can be passed through the command line.
  14. + Added /install and /remove command line flags to install and remove assemblies from the GAC
  15. + Many fixes to VS2005 target
  16. [ July 21, 2006 - 1.3.1 ]
  17. ! VS2005 fixes from Rob Loach
  18. ! NAnt fixes from Rob Loach and David Hudson
  19. ! XML doc fixes from Rob Loach
  20. + Added SharpDevelop2 target (really just uses VS2005 target)
  21. ! Fixed bug with BuildEvents in Monodevelop target
  22. + Passing /yes will default to answering yes to any warnings
  23. [ February 28, 2006 - 1.3 ]
  24. + Added MonoDevelop target.
  25. + Added NAnt target.
  26. + Lots of fixes to all targets.
  27. * Cleaned up the code using FXCop.
  28. * Updated schema to 1.6 to fix a typo and add a new parameter.
  29. * jendave is now the maintainer of the project. RobLoach has been added as a developer.
  30. * Removed references to 'dnpb'.
  31. + Added rudimentary support for pre- and post- build scripts
  32. * Updated examples.
  33. [ August 5, 2004 - 1.2 ]
  34. + Added Visual Studio Express (vs2005express) target contributed by Borrillis and modified for use with different languages
  35. + Added the allowedgroups command line option followed by a pipe-delimited list of project group filter flags (eg. Group1|Group2) allow optional filtering of all projects that dont have at least one of these flags
  36. + Added the filterGroups XML attribute to the project node and updated the scheme to v1.5 for this addition, it is used to specified the delimited list of filter groups to which a project belongs
  37. * Modified the removedir command line option to allow for a pipe-delimited list of directory names
  38. ! Modified the resource loading code to search for resourced without the prepended namespace (as Visual Studio .NET does it) to allow for it to be compiled with SharpDevelop as well
  39. + Added the GenerateXmlDocFile boolean option to the Options XML element
  40. * Changed the behavior of the XmlDocFile option so that if not specified it uses the assemblyName (without file extension) + .xml for the file name instead of just not generating the file since the new GenerateXmlDocFile takes care of this
  41. [ January 3, 2004 - 1.1 ]
  42. ! Replaced regex use for more efficient manual parsing to allow use on non-windows platforms with Mono which has Regex problems
  43. + Added the checkOsVars attribute to the root element for enabling interpolation for Enviroment variables in the form ${var}, otherwise no checking is performed for efficiency-sake
  44. * Make the version attribute on the root element optional as it isn't used and not needed since the schema url contains the version
  45. [ December 30, 2004 - 1.1 ]
  46. ! Applied Leed's fix for SharpDevelop references
  47. + Rewrote much of the processing for better validation and without the use of a temp file
  48. + Added support for configurations at the project level which are named All. They now apply changes to all Solution level defined configs
  49. * Changed all spaces into tabs
  50. + Added support for the None build action
  51. * Replaced all sequence's in the XML schema for all's because the order doesn't matter since the xml file is loaded into an XmlDocument
  52. [ December 25, 2004 - 1.0 ]
  53. + Added the /removedir option for cleaning directories like obj before file releases
  54. + Changed WriteTempXml() and the new DeleteTempXml() methods to be compiled only in DEBUG builds
  55. * Made path optional for Match elements (defaults to current directory) and updates schema for it
  56. ! Fixed XML example in the readme.txt
  57. + Added example xml files to docs directory
  58. * Updated license.txt to add Dan Moorehead and update copyright years
  59. + Updated prebuild.xml to take advantage of the default path attribute for match elements
  60. + Updated Clean to delete the obj directories
  61. [ December 25, 2004 - 0.13 ]
  62. + Added dnpb.exe so that it can be used to generate the project files
  63. + Added dnpb.ico
  64. * Added parameterless Write statement to Log for writing a single line
  65. * Changed scehema to version 1.3 for support of icon attribute
  66. * Added support for All configuration name under a Project node signifying common settings for all configurations
  67. ! Fixed the SupressWarnings by adding the corresponding field to OptionsNode
  68. * Wrote documentation in docs/readme.txt
  69. * Added Dan Moorehead to copyrights and extended date from 2004 to 2004-2005
  70. * Updated prebuild.xml
  71. * Optimized Log class
  72. * Updated OutputUsage()
  73. * /clean targets all by default
  74. * No log file is used by default, /log without value specified uses default file name
  75. + Added support for the /pause which pauses the utility after execution to observe output
  76. [ September 27, 2004 - 0.12.2a ]
  77. ! Fixed a nasty bug when trying to delete our temp file for pre-processing.
  78. [ September 15, 2004 - 0.12.2 ]
  79. + Expanded platform identification, thanks to the NAnt guys for shedding some
  80. light on how to properly check for UNIX platforms! Thanks guys!
  81. * POSIX OS identifier changed to UNIX. Valid OS names are now "Win32", "UNIX",
  82. and "Unknown".
  83. ! Fixed SharpDevelop target to properly use the 'rootNamespace' attribute of
  84. the Project tag.
  85. + New command-line switch, /ppo, forces DNPB to pre-process the file and write
  86. the pre-processed file. This allows you to test/debug your pre-processor
  87. macros. No other processing will be done. You can specify a target file as
  88. a paramter for the /ppo switch, or DNPB will write the file 'preprocessed.xml'
  89. if you do not specify a file.
  90. + The Match tag now has a 'buildAction' attribute which functions exactly like
  91. the attribute of the same name for the File tag.
  92. [ August 5, 2004 - 0.12.1 ]
  93. + Added environment variable expansion for all values. Environment variables
  94. should be listed in the form ${VAR}.
  95. [ July 30, 2004 - 0.12.0 ]
  96. + Added preprocessing via XML processing information tags. Available tags
  97. are: <?if <exp> ?>, <?elseif <exp> ?>, <?else ?> and <?endif ?>. The
  98. current expression parser is very basic, but will be replaced with a more
  99. capable parser over time. Current operators available are: =, !=, <, >,
  100. <=, >=. Current test variables available: OS, RuntimeVersion, RuntimeMajor,
  101. RuntimeMinor, RuntimeRevision.
  102. [ July 27, 2004 - 0.11.4 ]
  103. + Added 'useRegex' attribute to the Match tag. Matches can now use regular
  104. expressions to match filenames.
  105. + Added the 'assemblyName' attribute to the Project tag. Projects can now
  106. set their output assembly name.
  107. ! Fixed several bugs in the way that Project tags inheirt their parent
  108. Solutions configuration options. This operation should now work fully as
  109. intended.
  110. ! Due to some wierdness, Project Guid's are now stored as part of the Project
  111. node and created at parse time.
  112. [ May 11, 2004 - 0.11.3 ]
  113. ! Fixed a bug where I was writing the wrong property name for a projects root
  114. namespace.
  115. ! Removed a DEBUG statement I had left in the code in 0.11.2.
  116. ! Fixed a bug in the VS2002 writer which caused the version variables to not
  117. be overriden correctly.
  118. + Added the rootNamespace property to the <Project> element, allowing you to
  119. specify the root namespace.
  120. * /target and /clean are now mutually exclusive command line switches, and
  121. they both now take the all option. In the case of /target all, all build
  122. file for all targets will be created. In the case of /clean all, the user
  123. will be prompted to make sure they want to do it, and if so, will clean
  124. all build files for all targets.
  125. [ April 22, 2004 - 0.11.2 ]
  126. ! Fixed a bug with the /file command-line operator. Was using the unresolved
  127. file path rather then the resolved one, was making the attempt to open the
  128. dnpb file fail.
  129. ! Fixed a bug in the schema that required at least 1 solution and 1 reference
  130. path. We can do just fine with 0 of either of these. Some files may be all
  131. <Process> statements and not have any <Solution> tags.
  132. ! Fixed a bug that caused the project references not to be written with the
  133. SharpDevelop target.
  134. * Changed the schema to version 1.2, allowing for Configuration nodes to exist
  135. under project nodes. The inheritance of values is hierarchical. Meaning, if
  136. you define a configuration named Debug at the Soltion level, and one by the
  137. same name at the Project level, the one at the Project level will first
  138. inherit the options of the Solution level configuration, then set it's own
  139. options. If you define a configuration at the Project level and it does not
  140. exist at the Solution level, it will be created at the Solution level.
  141. * Project references should now work correctly across the board. Note that due
  142. to a restriction in Visual Studio, you can only reference projects in the same
  143. solution.
  144. [ April 21, 2004 - 0.11.1 ]
  145. ! Fixed a problem with resolving paths in various targets. Was not properly
  146. setting the CWD.
  147. * Schema updated to 1.1, moving the ReferencePath element from the Options
  148. element to the Project element. This makes more logical sense, given that
  149. reference paths are resolved relative to the project path. Any prebuild.xml
  150. file referecning verison 1.0 will fail! Please update to the 1.1 schema.
  151. [ April 19, 2004 - 0.11.0 ]
  152. * Added several attributes across the code to make FxCop happy
  153. ! Fixed bugs in reference paths being written in the VS targets.
  154. ! Fixed a bug in ProjectNode which was doing two CWDStack.Push() calls instead of
  155. a Push/Pop pair. Was wreaking havoc with <Process> tags.
  156. ! Fixed some bugs in the path tracking, both the Project and Solution nodes now
  157. have a FullPath property, which is the full path to the file resolved at load
  158. time. This should fix all path relativity problems.
  159. + Added new /clean switch, allowing the target to clean up any files it generated.
  160. in accordance, the ITarget interface has been updated to support a new Clean()
  161. method.
  162. + Completed addition of the <Process> tag, to allow the referencing of external
  163. prebuild.xml files.
  164. + Added the runtime attribute to the Project element. This allows the developer
  165. to specify which runtime a project should target (Mono or Microsoft). This is
  166. of course ignored in certain targets like the Visual Studio targets.
  167. + Added the SharpDevelop target.
  168. [ April 13, 2004 - 0.10.1a ]
  169. + Added the buildAction attribute to the File node. This is needed for dnpb
  170. to even be able to bootstrap itself (dnpb-1.0.xsd must be an embedded resource)
  171. [ April 13, 2004 - 0.10.1 ]
  172. * First Release
  173. [ Key ]
  174. * = Change or information
  175. + = Addition
  176. ! = Bug Fix