Closed ChrisLambrou closed 8 years ago
it might also be nice to run the builds on https://www.appveyor.com, it's free for public repos.
Minor: Built NuGet package has the author and owner as Red Gate Software Limited
. I suppose our convention is Red Gate Software Ltd
a bit unrelated but we might want to use Apache 2.0 license rather than BSD as this seems to be the convention unless there is a specific reason (which might be in this case?).
As a user who is outside of Redgate, I cannot run build.ps1
file because it depends on RedGate.Build
package which is not available on a public feed. I am personally not a fan of this on an OSS project.
Regarding the assembly signing checkbox up there: we can include the key on the repo and sign with that key as most of the OSS project does: https://github.com/autofac/Autofac/blob/master/Build/SharedKey.snk
There is also something called delayed-signed, not sure how exactly that works but it is OSS friendly.
so I'm not sure how to integrate signing into the build system without compromising the ability of 3rd parties to build this.
It's already not possible as far as I can see cuz of this.
Introduce build scripts to enable the automatic generation of a NuGet package for this tool.
This is intended to address #14.
Open issues:
The NuGet package and/or the assemblies in it aren't signed. This needs to happen (we think) before it can be published to the public NuGet feed. We normally use the internal Redgate signing service, but this is a public repo, so I'm not sure how to integrate signing into the build system without compromising the ability of 3rd parties to build this.We optionally use the signing service specified by an environment variable. This will suffice for the internal build system, and other (non-Redgate) builds will still succeed, and the resulting tool and nuget package will work fine, but it won't be authenticode signed by Redgate.Importing the NuGet package into a cmdlet project is sufficient to trigger the creation of the cmdlet help file.Done.The branch name is obtained either by invokingWe now use GitSharp to determine the current branch name.git branch
or via theBRANCH_NAME
environment variable (the latter is for the benefit of our TeamCity build system, where the code is checked out on the server then sent to build agents without the.git
folder). Normally it's enough to clone this repo, then run.\build.ps1
from the Git PowerShell, but if people simply download a.zip
, and they don't havegit
on their path, they'll run into build issues.