The build is a FAKE project under build/. build.cmd and build.sh
run it with the target name as the first argument. Without a target it builds the whole
solution.
The Build target compiles every released tool listed in build/ProjectInfo.fs:
|
The Preprocessing project references packages from the CSBiology feed on GitHub Packages.
nuget.config reads the credentials for that feed from the environment variables GithubUser
and PackageToken. Set both before building the full solution, which includes that project. The
released tools restore from nuget.org alone.
To build a single tool, call dotnet on its project file:
dotnet build src/PeptideDB/PeptideDB.fsproj -c Release
The Pack target creates a NuGet package for every released project in pkg/. The version
comes from the top entry of each project's RELEASE_NOTES.md, so bump that file first:
|
PackPrerelease does the same with a suffix it asks for on the console. Every tool packs as a
.NET tool with the package id ProteomIQon.<ToolName> and the command name
proteomiqon-<toolname>. A package from pkg/ can be installed locally to try it out before
publishing:
dotnet tool install --global ProteomIQon.PeptideDB --add-source ./pkg --version 0.0.10
Published versions are on nuget.org.
RunTests builds and runs tests/ProteomIQon.Tests.fsproj. The end to end pipeline tests
start the tool assemblies, so this target needs the full build to succeed first:
|