Skip to content

Commit 673add5

Browse files
committed
Ready for marketplace publish
1 parent 98f380c commit 673add5

File tree

11 files changed

+176
-78
lines changed

11 files changed

+176
-78
lines changed

appveyor.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ configuration:
99

1010
build_script:
1111
- cmd: nuget restore src/GitVersion.sln
12+
- cmd: npm i -g tfx-cli
1213

1314
- cmd: msbuild src/GitVersion.sln "/p:Configuration=%CONFIGURATION%;Platform=%PLATFORM%"
1415
- ps: .\build\NuGetCommandLineBuild\tools\GitVersion.exe /l console /output buildserver /updateAssemblyInfo
@@ -24,8 +25,9 @@ build_script:
2425
- cmd: 7z a "GitVersion_%GitVersion_NuGetVersion%.zip" -r .\build\NuGetCommandLineBuild\Tools\*.*
2526
- cmd: appveyor PushArtifact "GitVersion_%GitVersion_NuGetVersion%.zip"
2627

27-
- cmd: 7z a "GitVersionTfsBuildTask_%GitVersion_NuGetVersion%.zip" -r .\build\GitVersionTfsTaskBuild\*.*
28+
- cmd: 7z a "GitVersionTfsBuildTask_%GitVersion_NuGetVersion%.zip" -r .\build\GitVersionTfsTaskBuild\GitVersionTask\*.*
2829
- cmd: appveyor PushArtifact "GitVersionTfsBuildTask_%GitVersion_NuGetVersion%.zip"
30+
- cmd: appveyor PushArtifact "jakeginnivan.gitversion-%GitVersion_MajorMinorPatch%.vsix"
2931

3032
test_script:
3133
- nunit-console "src\GitVersionTask.Tests\bin\%CONFIGURATION%\GitVersionTask.Tests.dll" "src\GitVersionExe.Tests\bin\%CONFIGURATION%\GitVersionExe.Tests.dll" "src\GitVersionCore.Tests\bin\%CONFIGURATION%\GitVersionCore.Tests.dll" /noshadow

docs/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The global configuration options are:
2020

2121
- **`assembly-versioning-scheme:`** When updating assembly info tells GitVersion how to treat the `AssemblyVersion` attribute. Useful to lock the major when using Strong Naming.
2222

23-
- **`assembly-informational-format:`** Set this to any of the available [variables](/more-info/variables) to change the value of the `AssemblyInformationalVersion` attribute. Default set to `{InformationalVersion}`.
23+
- **`assembly-informational-format:`** Set this to any of the available [variables](/more-info/variables) to change the value of the `AssemblyInformationalVersion` attribute. Default set to `{InformationalVersion}`. It also supports string interpolation (`{MajorMinorPatch}+{Branch}`)
2424

2525
- **`mode:`** Sets the mode of how GitVersion should create a new version. Can be set to either `ContinuousDelivery` or `ContinuousDeployment`. Read more about [ContinuousDelivery](/reference/continuous-delivery/) or [ContinuousDeployment](/reference/continuous-deployment/).
2626

src/GitVersion.sln

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersionExe.Tests", "GitV
2929
EndProject
3030
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TfsTask", "TfsTask", "{A0ED1410-E970-45E8-A357-05605E2B7BFF}"
3131
ProjectSection(SolutionItems) = preProject
32+
GitVersionTfsTask\Create-Vsix.ps1 = GitVersionTfsTask\Create-Vsix.ps1
3233
GitVersionTfsTask\GitVersion.ps1 = GitVersionTfsTask\GitVersion.ps1
3334
GitVersionTfsTask\icon.png = GitVersionTfsTask\icon.png
35+
GitVersionTfsTask\manifest.json = GitVersionTfsTask\manifest.json
36+
GitVersionTfsTask\overview.md = GitVersionTfsTask\overview.md
3437
GitVersionTfsTask\task.json = GitVersionTfsTask\task.json
38+
GitVersionTfsTask\Update-GitVersionTfsTaskVersion.ps1 = GitVersionTfsTask\Update-GitVersionTfsTaskVersion.ps1
3539
EndProjectSection
3640
EndProject
3741
Global

src/GitVersionExe/GitVersionExe.csproj

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,21 @@
159159
<Copy SourceFiles="$(ProjectDir)NugetAssets\GitVersion.CommandLine.nuspec" DestinationFolder="$(BuildDir)NuGetCommandLineBuild" />
160160
<PepitaPackage.CreatePackageTask NuGetBuildDirectory="$(BuildDir)NuGetCommandLineBuild" MetadataAssembly="$(OutputPath)ILMergeTemp\GitVersion.exe" Version="$(GitVersion_NuGetVersion)" />
161161
<!-- TfsBuildTask -->
162-
<MakeDir Directories="$(BuildDir)GitVersionTfsTaskBuild" />
163-
<Copy SourceFiles="@(amd64)" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\NativeBinaries\amd64" />
164-
<Copy SourceFiles="@(x86)" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\NativeBinaries\x86" />
165-
<Copy SourceFiles="$(OutputPath)GitVersion.pdb" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild" />
166-
<Copy SourceFiles="$(OutputPath)ILMergeTemp\GitVersion.exe" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild" />
162+
<Copy SourceFiles="@(amd64)" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\GitVersionTask\NativeBinaries\amd64" />
163+
<Copy SourceFiles="@(x86)" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\GitVersionTask\NativeBinaries\x86" />
167164
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\icon.png" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild" />
168-
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\task.json" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild" />
169-
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\GitVersion.ps1" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild" />
170-
<Exec Command="powershell -ExecutionPolicy RemoteSigned -NoProfile &quot;$(SolutionDir)Update-GitVersionTfsTaskVersion.ps1 $(BuildDir)GitVersionTfsTaskBuild\task.json $(GitVersion_Major) $(GitVersion_Minor) $(GitVersion_Patch)&quot;" WorkingDirectory="$(BuildDir)" Condition="'$(GitVersion_SemVer)' != ''" />
165+
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\manifest.json" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild" />
166+
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\overview.md" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild" />
167+
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\builds.png" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\img" />
168+
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\build-task.png" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\img" />
169+
<Copy SourceFiles="$(OutputPath)ILMergeTemp\GitVersion.exe" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\GitVersionTask" />
170+
<Copy SourceFiles="$(OutputPath)GitVersion.pdb" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\GitVersionTask" />
171+
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\icon.png" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\GitVersionTask" />
172+
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\task.json" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\GitVersionTask" />
173+
<Copy SourceFiles="$(SolutionDir)GitVersionTfsTask\GitVersion.ps1" DestinationFolder="$(BuildDir)GitVersionTfsTaskBuild\GitVersionTask" />
174+
<ReplaceFileText InputFilename="$(BuildDir)GitVersionTfsTaskBuild\manifest.json" OutputFilename="$(BuildDir)GitVersionTfsTaskBuild\manifest.json" MatchExpression="\$version\$" ReplacementText="$(GitVersion_SemVer)" Condition="'$(GitVersion_SemVer)' != ''" />
175+
<Exec Command="powershell -ExecutionPolicy RemoteSigned -NoProfile &quot;$(SolutionDir)GitVersionTfsTask\Update-GitVersionTfsTaskVersion.ps1 $(BuildDir)GitVersionTfsTaskBuild\GitVersionTask\task.json $(GitVersion_Major) $(GitVersion_Minor) $(GitVersion_Patch)&quot;" WorkingDirectory="$(BuildDir)" Condition="'$(GitVersion_SemVer)' != ''" />
176+
<Exec Command="powershell -ExecutionPolicy RemoteSigned -NoProfile &quot;$(SolutionDir)GitVersionTfsTask\Create-Vsix.ps1 $(BuildDir)GitVersionTfsTaskBuild&quot;" Condition="'$(GitVersion_SemVer)' != ''" />
171177
<!-- Gem -->
172178
<MakeDir Directories="$(BuildDir)GemBuild" />
173179
<Copy SourceFiles="@(amd64)" DestinationFolder="$(BuildDir)GemBuild\bin\NativeBinaries\amd64" />

src/GitVersionTfsTask/Create-Vsix.ps1

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
param (
2+
[string] $taskFolder
3+
)
4+
5+
Push-Location $taskFolder
6+
Try
7+
{
8+
& tfx extension create --manifest-globs manifest.json
9+
}
10+
Finally
11+
{
12+
Pop-Location
13+
}

src/GitVersionTfsTask/build-task.png

74.8 KB
Loading

src/GitVersionTfsTask/builds.png

53 KB
Loading

src/GitVersionTfsTask/manifest.json

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{
2+
"id": "gitversion",
3+
"name": "GitVersion",
4+
"publisher": "jakeginnivan",
5+
"author": "GitVersion Contributors",
6+
"version": "$version$",
7+
"description": "Easy Semantic Versioning (http://semver.org) for projects using Git, includes GitVersion Build Task",
8+
"targets": [
9+
{
10+
"id": "Microsoft.VisualStudio.Services"
11+
}
12+
],
13+
"files": [
14+
{
15+
"path": "GitVersionTask"
16+
}
17+
],
18+
"categories": [
19+
"Build and release"
20+
],
21+
"icons": {
22+
"default": "icon.png"
23+
},
24+
"tags": [
25+
"semver",
26+
"versioning",
27+
"gitflow",
28+
"githubflow"
29+
],
30+
"links": {
31+
"documentation": {
32+
"uri": "http://gitversion.readthedocs.org/en/latest"
33+
},
34+
"getstarted": {
35+
"uri": "http://gitversion.readthedocs.org/en/latest/build-server-support/build-server/tfs-build-vnext/#running-inside-tfs"
36+
},
37+
"repository": {
38+
"uri": "https://github.com/GitTools/GitVersion"
39+
}
40+
},
41+
"screenshots": [
42+
{
43+
"path": "img/builds.png"
44+
},
45+
{
46+
"path": "img/build-task.png"
47+
}
48+
],
49+
"content": {
50+
"details": {
51+
"path": "overview.md"
52+
}
53+
},
54+
"scopes": [
55+
"vso.build",
56+
"vso.build_execute"
57+
],
58+
"contributions": [
59+
{
60+
"id": "gitversion-task",
61+
"type": "ms.vss-distributed-task.task",
62+
"targets": [
63+
"ms.vss-distributed-task.tasks"
64+
],
65+
"properties": {
66+
"name": "GitVersionTask"
67+
}
68+
}
69+
]
70+
}

src/GitVersionTfsTask/overview.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Versioning when using git, solved. GitVersion looks at your git history and works out the semantic version (semver.org) of the commit being built.
2+
3+
It works with most branching strategies but has been designed mainly around GitFlow and GitHubFlow (pull request workflow). The calculated version numbers can then be accessed through variables such as `$(GitVersion_NuGetVersion)` and `$(GitVersion_SemVer)`. It is also very configurable to allow it to work with most release workflows!
4+
5+
![Build task](img/build-task.png)
6+
7+
![Builds](img/builds.png)

0 commit comments

Comments
 (0)