{"id":19146307,"url":"https://github.com/signpostmarv/prebuild","last_synced_at":"2026-06-17T03:32:15.537Z","repository":{"id":138632462,"uuid":"52668710","full_name":"SignpostMarv/Prebuild","owner":"SignpostMarv","description":"Imported prebuild from https://sourceforge.net/projects/dnpb/","archived":false,"fork":false,"pushed_at":"2018-04-09T18:42:34.000Z","size":2214,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-22T19:49:18.371Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SignpostMarv.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-27T13:43:03.000Z","updated_at":"2018-04-09T18:42:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"e951e1cb-7f71-4fac-8a78-84bba1f2d090","html_url":"https://github.com/SignpostMarv/Prebuild","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/SignpostMarv/Prebuild","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignpostMarv%2FPrebuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignpostMarv%2FPrebuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignpostMarv%2FPrebuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignpostMarv%2FPrebuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SignpostMarv","download_url":"https://codeload.github.com/SignpostMarv/Prebuild/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SignpostMarv%2FPrebuild/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34433085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T07:43:48.747Z","updated_at":"2026-06-17T03:32:15.520Z","avatar_url":"https://github.com/SignpostMarv.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Prebuild Instructions\r\n\r\nPrebuild 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, SharpDevelop2, MonoDevelop, and NAnt.\r\n\r\n_______________________________________________________________________________\r\nOverview\r\n\r\nPrebuild can be either be run from the command line to generate the\r\nproject and make files or you can execute the included batch (*.bat)\r\nand Unix Shell script (*.sh) files.\r\n\r\n_______________________________________________________________________________\r\nThe currently supported developement tools and their associated batch\r\nand shell script files.\r\n\r\nVisual Studio .NET 2005 (VS2005.bat)\r\nVisual Studio .NET 2003 (VS2003.bat)\r\nVisual Studio .NET 2002 (VS2002.bat)\r\nSharpDevelop (SharpDevelop.bat) - http://www.icsharpcode.net/OpenSource/SD/\r\nSharpDevelop2 (SharpDevelop.bat) - http://www.icsharpcode.net/OpenSource/SD/\r\nMonoDevelop (MonoDevelop.sh) - http://www.monodevelop.com/\r\nNAnt (nant.sh and nant.bat) - http://nant.sourceforge.net/\r\nAutotools (autotools.bat and autotools.sh) - http://en.wikipedia.org/wiki/GNU_build_system\r\n\r\nNotes:\r\n\r\nA Unix Shell script is provided for MonoDevelop, as it does not run on\r\nWindows at this time.\r\n\r\nVisual Studio .NET 2005 and the Visual Express IDE's can import\r\nsolutions from older versions of Visual Studio .NET.\r\n\r\nMakefiles are not currently supported.\r\n\r\n_______________________________________________________________________________\r\nCommand Line Syntax:\r\n \r\nExample:\r\n\u003e Prebuild /target vs2003\r\n\r\nThis will generate the project files for Visual Studio.NET 2003 and\r\nplace the redirect the log to a file named PrebuildLog.txt in the\r\nparent directory\r\n\r\n\r\nThe syntax structure is as below, where commandParameter is optional\r\ndepending on the command and you can provide several option-value\r\npairs.\r\n\r\nNote: The '\u003e ' signifies the command prompt, do not enter this literally\r\n\r\n\u003e Prebuild /\u003coption\u003e \u003ccommandParameter\u003e\r\n\r\n\u003e Prebuild /target vs2003 /pause\r\n\r\n\u003e Prebuild /target vs2003 /log ../Log.txt /pause /ppo /file ProjectConfig.xml\r\n\r\n\u003e Prebuild /target sharpdev /log\r\n\r\n\u003e Prebuild /removedir obj|bin\r\n\r\n\u003e Prebuild /target vs2003 /allowedgroups Group1|Group2\r\n\r\n\u003e Prebuild /clean\r\n\r\n\u003e Prebuild /clean /yes\r\n\r\n\u003e Prebuild /clean vs2003\r\n\r\n_______________________________________________________________________________\r\nCommand Line Options:\r\n\r\n/usage - Shows the help information on how to use Prebuild and what\r\nthe different options are and what they do\r\n\r\n/clean - The project files generated for the target type specified as\r\na parameter for this option will be deleted.  If no value is specified\r\nor if 'all' is specified, then project files for all the target types\r\nwill be deleted.\r\n\r\n/target - Specified the name of the development tool for which project\r\nor make files will be generated.  Possible parameter values include:\r\nvs2003, vs2002, sharpdev\r\n\r\n/file - Specifies the name of the XML which defines what files are to\r\nbe referenced by the generated project files as well as configures the\r\noptions for them.  If not specified, prebuild.xml in the current\r\ndirectory will be used as the default.\r\n\r\n/log - Specified the log file that should be written to for build\r\nerrors.  If this option is not specified, no log file is generated,\r\nbut if just no value is specified, then the defaul filename will be\r\nused for the log (Prebuild.log).\r\n\r\n/ppo - Preprocesses the xml file to test for syntax errors or problems\r\nbut doesn't generate the files\r\n\r\n/pause - Shows the console until you press a key so that you can view\r\nthe messages written while performing the specified actions.\r\n\r\nThis allows you to check if an errors occurred and - if so - what it\r\nwas.\r\n\r\n/showtargets - Shows a list of all the targets that can be specified\r\nas values for the /clean and /target commands.\r\n\r\n/allowedgroups - This is followed by a pipe-delimited list of project\r\ngroup filter flags (eg. Group1|Group2) allow optional filtering of all\r\nprojects that dont have at least one of these flags\r\n\r\n/removedir - This is followed by a pipe-delimited list of directory\r\nnames that will be deleted while recursivly searching the directory of\r\nthe prebuild application and its child directories (eg. use obj|bin to\r\ndelete all output and temporary directories before file releases)\r\n\r\n/yes - Answer yes to any warnings (e.g. when cleaning all projects).\r\n\r\n_______________________________________________________________________________\r\nExample Batch Files and Shell Scripts\r\n\r\nNOTE: Common batch and shell script files are included with Prebuild source and file releases.\r\n______________________________\r\nMonoDevelop\r\n\r\n#!/bin/sh\r\n# Generates a solution (.mds) and a set of project files (.mdp) \r\n\r\n# for MonoDevelop, a Mono port of SharpDevelop\r\n#  (http://icsharpcode.net/OpenSource/SD/Default.aspx)\r\n\r\n./Prebuild /target monodev /pause\r\n\r\n______________________________\r\nVisual Studio .NET 2003\r\n\r\n@rem Generates a solution (.sln) and a set of project files (.csproj) \r\n@rem for Microsoft Visual Studio .NET 2002\r\nPrebuild /target vs2003 /pause\r\n\r\nNotes:\r\nText after lines that start with @rem are comments and are not evaluated\r\nYou can also place pause on the last line instead of specifing the /pause command.\r\n\r\n_______________________________________________________________________________\r\nExample XML Configuration File\r\n\r\nNote:\r\n\r\nXML Comments (\u003c!-- Comment --\u003e) are used to markup the prebuild.xml\r\nfile with notes\r\n\r\nThe below file may be out-of-date, however the RealmForge Prebuild\r\nfile serves as an up-to-date and extensive example.\r\n\r\nIt can be viewed using Tigris.org's WebSVN\r\n(http://realmforge.tigris.org/source/browse/realmforge/trunk/src/prebuild.xml)\r\nby just clicking on the \"view file\" link for the latest revision.\r\n\r\n_________________________________\r\n\r\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\r\n    \u003c!--The version of the XML schema specified in the version and xmlns attributes should match the one for which the version of Prebuild.exe used was compiled for.  In this example it is the version 1.3 schema, you can find the XSD schema file at the url specified in the xmlns attribute. --\u003e\r\n\u003cPrebuild version=\"1.6\" xmlns=\"http://dnpb.sourceforge.net/schemas/prebuild-1.6.xsd\"\u003e\r\n\t\u003cSolution name=\"RealmForge\"\u003e \u003c!--The title and file name for the solution, combine, workspace, or project group (depending on what development tool you are using)--\u003e\r\n                       \u003c!--Configurations found as children of Solution are used as templates for the configurations found in the project, this allows you to avoid writing the same options in each project (and maintaining each of these).  You can provide defaults and then override them in the configurations defined for each project. All options are optional.--\u003e\r\n\t\t\u003cConfiguration name=\"Debug\"\u003e\r\n\t\t\t\u003cOptions\u003e\r\n\t\t\t\t\u003c!-- simple logically expressions can be evaluated, if, else, elseif, and endif are valid statements.  Note that it is not neccisary to define POSIX or WIN32 --\u003e\r\n\t\t\t\t\u003c?if OS = \"Win32\" ?\u003e\r\n\t\t\t\t\t\u003cCompilerDefines\u003eDEBUG;TRACE;WIN32\u003c/CompilerDefines\u003e\r\n\t\t\t\t\u003c?else ?\u003e\r\n\t\t\t\t\t\u003cCompilerDefines\u003eDEBUG;TRACE;POSIX\u003c/CompilerDefines\u003e\r\n\t\t\t\t\u003c?endif ?\u003e\r\n\t\t\t\t\u003cOptimizeCode\u003efalse\u003c/OptimizeCode\u003e\r\n\t\t\t\t\u003cCheckUnderflowOverflow\u003efalse\u003c/CheckUnderflowOverflow\u003e\r\n\t\t\t\t\u003cAllowUnsafe\u003efalse\u003c/AllowUnsafe\u003e\r\n\t\t\t\t\u003cWarningLevel\u003e4\u003c/WarningLevel\u003e   \r\n\t\t\t\t\u003c!-The filter for the number of warnings or errors shown and the tolerance level as to what is an error. This is value from 0 to 4 where 4 is the most strict (least tolerent).--\u003e\r\n\r\n\t\t\t\t\u003cWarningsAsErrors\u003efalse\u003c/WarningsAsErrors\u003e\r\n\t\t\t\t\u003cSuppressWarnings\u003e1591;219;1573;1572;168\u003c/SuppressWarnings\u003e \r\n \t\t\t\t\u003c!-- A semicolon ';'  delimited list of the warnings that are filtered and not shown in the output window during compiling a project.  Only include the number portion of the warning codes that are shown in output during compilation (eg CS1591, should be entered as 1591)--\u003e\r\n\r\n\t\t\t\t\u003cOutputPath\u003e..\\bin\u003c/OutputPath\u003e\r\n\t\t\t\t\u003cDebugInformation\u003etrue\u003c/DebugInformation\u003e\r\n\t\t\t\t\u003cRegisterComInterop\u003efalse\u003c/RegisterComInterop\u003e\r\n\t\t\t\t\u003cIncrementalBuild\u003etrue\u003c/IncrementalBuild\u003e\r\n\t\t\t\t\u003cBaseAddress\u003e285212672\u003c/BaseAddress\u003e\r\n\t\t\t\t\u003cFileAlignment\u003e4096\u003c/FileAlignment\u003e\r\n\t\t\t\t\u003cNoStdLib\u003efalse\u003c/NoStdLib\u003e\r\n\t\t\t\t\u003cXmlDocFile\u003eDocs.xml\u003c/XmlDocFile\u003e\r\n\t\t\t\u003c/Options\u003e\r\n\t\t\u003c/Configuration\u003e\r\n\t\t\u003cConfiguration name=\"Release\"\u003e \u003c!-- You can define multple configurations that projects can have, but there is no way to define which one is selected by default as this is a part of the user preferences for a project, not the solution or project files --\u003e\r\n\t\t\t\u003cOptions\u003e\r\n\t\t\t\t\u003cCompilerDefines\u003eTRACE\u003c/CompilerDefines\u003e\r\n\t\t\t\t\u003cOptimizeCode\u003etrue\u003c/OptimizeCode\u003e\r\n\t\t\t\t\u003cCheckUnderflowOverflow\u003efalse\u003c/CheckUnderflowOverflow\u003e\r\n\t\t\t\t\u003cAllowUnsafe\u003efalse\u003c/AllowUnsafe\u003e\r\n\t\t\t\t\u003cWarningLevel\u003e4\u003c/WarningLevel\u003e\r\n\t\t\t\t\u003cWarningsAsErrors\u003efalse\u003c/WarningsAsErrors\u003e\r\n\t\t\t\t\u003cSuppressWarnings\u003e1591;219;1573;1572;168\u003c/SuppressWarnings\u003e\r\n\t\t\t\t\u003cOutputPath\u003e..\\bin\u003c/OutputPath\u003e\r\n\t\t\t\t\u003cDebugInformation\u003efalse\u003c/DebugInformation\u003e\r\n\t\t\t\t\u003cRegisterComInterop\u003efalse\u003c/RegisterComInterop\u003e\r\n\t\t\t\t\u003cIncrementalBuild\u003etrue\u003c/IncrementalBuild\u003e\r\n\t\t\t\t\u003cBaseAddress\u003e285212672\u003c/BaseAddress\u003e\r\n\t\t\t\t\u003cFileAlignment\u003e4096\u003c/FileAlignment\u003e\r\n\t\t\t\t\u003cNoStdLib\u003efalse\u003c/NoStdLib\u003e\r\n\t\t\t\t\u003cGenerateXmlDocFile\u003etrue\u003c/GenerateXmlDocFile\u003e\r\n\t\t\t\t\u003cXmlDocFile\u003eDocs.xml\u003c/XmlDocFile\u003e\t\t\t\t\r\n\t\t\t\u003c/Options\u003e\r\n\t\t\u003c/Configuration\u003e\r\n\r\n\t\t\u003c!-- One of the projects that is included in the Solution --\u003e\r\n\t\t\u003cProject name=\"RealmForge.Utility\" Language=\"VisualBasic\" path=\"Utility\" type=\"Library\" assemblyName=\"RealmForge.Utility\" rootNamespace=\"RealmForge\"\u003e\r\n\t\t\t\u003cConfiguration name=\"Debug\"\u003e\r\n\t\t\t\t\u003cOptions\u003e\r\n\t\t\t\t\t\u003cOutputPath\u003e..\\bin\\lib\\Utility\u003c/OutputPath\u003e\r\n\t\t\t\t\t\u003cXmlDocFile\u003eRealmForge.Utility.xml\u003c/XmlDocFile\u003e\r\n\t\t\t\t\u003c/Options\u003e\r\n\t\t\t\u003c/Configuration\u003e\r\n\t\t\t\u003cConfiguration name=\"Release\"\u003e\r\n\t\t\t\t\u003cOptions\u003e\r\n\t\t\t\t\t\u003cOutputPath\u003e..\\bin\\lib\\Utility\u003c/OutputPath\u003e\r\n\t\t\t\t\t\u003cXmlDocFile\u003eRealmForge.Utility.xml\u003c/XmlDocFile\u003e\r\n\t\t\t\t\u003c/Options\u003e\r\n\t\t\t\u003c/Configuration\u003e\r\n\t\t\t\u003cReferencePath\u003e../bin\u003c/ReferencePath\u003e\r\n\t\t\t\u003cReference name=\"System\"/\u003e\r\n\t\t\t\u003cReference name=\"System.Data\"/\u003e \r\n\t\t\t\u003cReference name=\"System.Drawing\"/\u003e\r\n\t\t\t\u003cReference name=\"System.Xml\"/\u003e\r\n\t\t\t\u003cReference name=\"System.Runtime.Serialization.Formatters.Soap\"/\u003e\r\n\t\t\t\u003cReference name=\"ICSharpCode.SharpZipLib\"/\u003e\r\n\t\t\t\u003cFiles\u003e\r\n\t\t\t\t\u003cMatch path=\".\" pattern=\"*.vb\" recurse=\"true\"/\u003e\r\n\t\t\t\u003c/Files\u003e\r\n\t\t\u003c/Project\u003e\r\n\r\n\t\t\u003c!-- Another projects that is included in the Solution --\u003e\r\n\t\t\u003cProject name=\"DemoGame\" Language=\"C#\" path=\"DemoGame\" type=\"WinExe\" icon=\"..\\bin\\RealmForge.ico\" assemblyName=\"DemoGame\" rootNamespace=\"RealmForge\"\u003e\r\n\t\t\t\t\u003c!-- icon is used to define the location of the .ico file that is embeeded in the assembly when the project is compiled.  This is relative to the project path --\u003e\r\n\t\t\t\t\u003c!--type defines the type of project, valid types are Library (.dll), WinExe (.exe), and Exe (.exe).  WinExe is not windows specific, it just defines that it is a GUI application and that no Console or Command window will show when it is started--\u003e\r\n\r\n\t\t\t\u003cConfiguration name=\"Debug\"\u003e\r\n\t\t\t\t\u003cOptions\u003e\r\n\t\t\t\t\t\u003cOutputPath\u003e..\\bin\u003c/OutputPath\u003e\r\n\t\t\t\t\t\u003cXmlDocFile\u003eDemoGame.xml\u003c/XmlDocFile\u003e\r\n\t\t\t\t\u003c/Options\u003e\r\n\t\t\t\u003c/Configuration\u003e\r\n\t\t\t\u003cConfiguration name=\"Release\"\u003e\r\n\t\t\t\t\u003cOptions\u003e\r\n\t\t\t\t\t\u003cOutputPath\u003e..\\bin\u003c/OutputPath\u003e\r\n\t\t\t\t\t\u003cXmlDocFile\u003eDemoGame.xml\u003c/XmlDocFile\u003e\t\t\r\n\t\t\t\t\u003c/Options\u003e\r\n\t\t\t\u003c/Configuration\u003e\r\n\t\t\t\u003cReferencePath\u003e../bin\u003c/ReferencePath\u003e\r\n\t\t\t\u003cReference name=\"System\"/\u003e \u003c!-- Assemblies that are located in the GAC (installed, global) can be referenced--\u003e\r\n\t\t\t\u003cReference name=\"ode\"/\u003e  \u003c!-- Assemblies that are located in the output directory to which the file is built can be referenced --\u003e\r\n\t\t\t\u003cReference name=\"RealmForge.Utility\"/\u003e \u003c!-- When you reference the name of another project, then that project (and it's output) will be referenced instead of looking for a pre-built assembly--\u003e\r\n\t\t\t\u003cFiles\u003e\r\n\t\t\t\t\u003cMatch path=\".\" pattern=\"*.cs\" recurse=\"true\"/\u003e\r\n\t\t\t\t\u003cMatch path=\".\" pattern=\"*.bmp\" recurse=\"true\" buildAction=\"EmbeddedResource\"/\u003e\r\n\t\t\t\t\u003cMatch path=\".\" pattern=\"[^a]*\\.(png|jpg)\" useRegex=\"true\" buildAction=\"EmbeddedResource\"/\u003e\r\n\t\t\t\t\r\n\t\t\t\t\u003c!-- Uses a regex or regular expression to find all files that end with .png or .jpg but dont have the letter 'a' in their name and add them to the project as EmbeddedResource's.  Because recurse enabled (default is false), only the values in the files in that are directly in the project directory (not child directories) are checked.--\u003e\r\n\t\t\t\t\u003c!--EmbeddedResource, Content, and Compile are valid buildAction's--\u003e\r\n\t\t\t\u003c/Files\u003e\r\n\t\t\u003c/Project\u003e\r\n\t\t\r\n\t\u003c/Solution\u003e\r\n\u003c/Prebuild\u003e\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsignpostmarv%2Fprebuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsignpostmarv%2Fprebuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsignpostmarv%2Fprebuild/lists"}