This project can be used to scaffold a prototypical .NET solution including file system layout and tooling. This includes a build process that:
- updates all AssemblyInfo files
- compiles the application and runs all test projects
- generates API docs based on XML document tags
- generates documentation based on Markdown files
- generates NuGet packages
- and allows a simple one step release process.
In order to start the scaffolding process run
> build.cmd // on windows
$ ./build.sh // on unix
Read the Getting started tutorial to learn more.
Documentation: http://fsprojects.github.io/ProjectScaffold
* clone ProjectScaffold to new folder
* run the initializing build
* delete .git folder
* copy intitialized scaffold files and folders to original project folder
* git add / commit project -m"first pass migrating to scaffold format" (otherwise git may be confused by next mv)
* git mv necessary project file folders into src folder
* git commit, and any following cleanup
Be sure to do only git mv file renames in a single commit. If you try to commit anything else git will treat the renames as file delete / file add and you will loose history on those files.
Build: * the following build targets are available
- AddLangDocs
- Depends on: []
- All
- Depends on: ["BuildPackage"]
- AssemblyInfo
- Depends on: []
- Build
- Depends on: ["AssemblyInfo"; "Configure"]
- BuildPackage
- Depends on: ["NuGet"]
- Clean
- Depends on: []
- Configure
- Depends on: []
- CopyBinaries
- Depends on: ["Build"]
- GenerateDocs
- Depends on: ["GenerateReferenceDocs"; "GenerateReferenceDocs"]
- GenerateHelp
- Depends on: []
- GenerateHelpDebug
- Depends on: []
- GenerateReferenceDocs
- Depends on: ["RunTests"; "GenerateHelp"]
- KeepRunning
- Depends on: ["GenerateHelpDebug"]
- NuGet
- Depends on: ["GenerateDocs"]
- PublishNuget
- Depends on: ["BuildPackage"]
- Release
- Depends on: ["Clean"; "PublishNuget"]
- RunTests
- Depends on: ["CopyBinaries"]
ProjectScaffold requires a local git installation. You can download git from Git Downloads.
| Mono | .NET |
|---|---|
The default maintainer account for projects under "fsprojects" is @fsprojectsgit - F# Community Project Incubation Space (repo management)