diff --git a/.gitignore b/.gitignore index c1d82b55c7..215d633d53 100644 --- a/.gitignore +++ b/.gitignore @@ -123,6 +123,8 @@ artifacts /src/Docker/**/content /src/GitVersionTfsTask/GitVersionTask !src/GitVersionTfsTask/GitVersionTask/task.json +/src/GitVersionTfsTask/GitVersionNetCoreTask +!src/GitVersionTfsTask/GitVersionNetCoreTask/task.json /src/GitVersionTfsTask/*.vsix /src/GitVersionRubyGem/*.gem /src/GitVersionRubyGem/bin/lib diff --git a/build.cake b/build.cake index e5f5892e73..b91f1b9d41 100644 --- a/build.cake +++ b/build.cake @@ -184,8 +184,8 @@ Task("Copy-Files") .IsDependentOn("Test") .Does((parameters) => { - var netCoreDir = parameters.Paths.Directories.ArtifactsBinNetCore.Combine("tools"); // .NET Core + var netCoreDir = parameters.Paths.Directories.ArtifactsBinNetCore.Combine("tools"); DotNetCorePublish("./src/GitVersionExe/GitVersionExe.csproj", new DotNetCorePublishSettings { Framework = parameters.NetCoreVersion, @@ -226,6 +226,11 @@ Task("Copy-Files") CopyFileToDirectory(portableDir + "/" + "GitVersion.exe", tfsPath); CopyDirectory(portableDir.Combine("lib"), tfsPath.Combine("lib")); + // Vsix dotnet core + var tfsNetCorePath = new DirectoryPath("./src/GitVersionTfsTask/GitVersionNetCoreTask"); + EnsureDirectoryExists(tfsNetCorePath); + CopyDirectory(netCoreDir, tfsNetCorePath.Combine("netcore")); + // Ruby Gem var gemPath = new DirectoryPath("./src/GitVersionRubyGem/bin"); EnsureDirectoryExists(gemPath); @@ -241,15 +246,10 @@ Task("Pack-Tfs") var workDir = "./src/GitVersionTfsTask"; // update version number - ReplaceTextInFile(new FilePath(workDir + "/vss-extension.json"), "$version$", parameters.Version.SemVersion); - - var taskJsonFile = new FilePath(workDir + "/GitVersionTask/task.json"); - var taskJson = ParseJsonFromFile(taskJsonFile); - var gitVersion = parameters.Version.GitVersion; - taskJson["version"]["Major"] = gitVersion.Major.ToString(); - taskJson["version"]["Minor"] = gitVersion.Minor.ToString(); - taskJson["version"]["Patch"] = gitVersion.Patch.ToString(); - SerializeJsonToPrettyFile(taskJsonFile, taskJson); + ReplaceTextInFile(new FilePath(workDir + "/vss-extension.mono.json"), "$version$", parameters.Version.SemVersion); + ReplaceTextInFile(new FilePath(workDir + "/vss-extension.netcore.json"), "$version$", parameters.Version.SemVersion); + UpdateTaskVersion(new FilePath(workDir + "/GitVersionTask/task.json"), parameters.Version.GitVersion); + UpdateTaskVersion(new FilePath(workDir + "/GitVersionNetCoreTask/task.json"), parameters.Version.GitVersion); // build and pack NpmSet("progress", "false"); @@ -260,7 +260,15 @@ Task("Pack-Tfs") { ToolPath = workDir + "/node_modules/.bin/" + (parameters.IsRunningOnWindows ? "tfx.cmd" : "tfx"), WorkingDirectory = workDir, - ManifestGlobs = new List(){ "vss-extension.json" }, + ManifestGlobs = new List(){ "vss-extension.mono.json" }, + OutputPath = parameters.Paths.Directories.BuildArtifact + }); + + TfxExtensionCreate(new TfxExtensionCreateSettings + { + ToolPath = workDir + "/node_modules/.bin/" + (parameters.IsRunningOnWindows ? "tfx.cmd" : "tfx"), + WorkingDirectory = workDir, + ManifestGlobs = new List(){ "vss-extension.netcore.json" }, OutputPath = parameters.Paths.Directories.BuildArtifact }); }); @@ -493,6 +501,14 @@ Task("Publish-Tfs") AuthType = TfxAuthType.Pat, Token = token }); + + var netCoreWorkDir = "./src/GitVersionTfsTask.NetCore"; + TfxExtensionPublish(parameters.Paths.Files.VsixNetCoreOutputFilePath, new TfxExtensionPublishSettings + { + ToolPath = netCoreWorkDir + "/node_modules/.bin/" + (parameters.IsRunningOnWindows ? "tfx.cmd" : "tfx"), + AuthType = TfxAuthType.Pat, + Token = token + }); }) .OnError(exception => { diff --git a/build/parameters.cake b/build/parameters.cake index c8efe0ab71..69df85e126 100644 --- a/build/parameters.cake +++ b/build/parameters.cake @@ -104,6 +104,7 @@ public class BuildParameters files.TestCoverageOutputFilePath, files.ReleaseNotesOutputFilePath, files.VsixOutputFilePath, + files.VsixNetCoreOutputFilePath, files.GemOutputFilePath }); diff --git a/build/paths.cake b/build/paths.cake index eb1420630a..d0f450a35b 100644 --- a/build/paths.cake +++ b/build/paths.cake @@ -40,6 +40,7 @@ public class BuildPaths var releaseNotesOutputFilePath = buildArtifactDir.CombineWithFilePath("releasenotes.md"); var vsixOutputFilePath = buildArtifactDir.CombineWithFilePath("gittools.gitversion-" + semVersion + ".vsix"); + var vsixNetCoreOutputFilePath = buildArtifactDir.CombineWithFilePath("gittools.gitversion-netcore-" + semVersion + ".vsix"); var gemOutputFilePath = buildArtifactDir.CombineWithFilePath("gitversion-" + version.GemVersion + ".gem"); // Directories @@ -62,6 +63,7 @@ public class BuildPaths testCoverageOutputFilePath, releaseNotesOutputFilePath, vsixOutputFilePath, + vsixNetCoreOutputFilePath, gemOutputFilePath); return new BuildPaths @@ -79,6 +81,7 @@ public class BuildFiles public FilePath TestCoverageOutputFilePath { get; private set; } public FilePath ReleaseNotesOutputFilePath { get; private set; } public FilePath VsixOutputFilePath { get; private set; } + public FilePath VsixNetCoreOutputFilePath { get; private set; } public FilePath GemOutputFilePath { get; private set; } public BuildFiles( @@ -88,6 +91,7 @@ public class BuildFiles FilePath testCoverageOutputFilePath, FilePath releaseNotesOutputFilePath, FilePath vsixOutputFilePath, + FilePath vsixNetCoreOutputFilePath, FilePath gemOutputFilePath ) { @@ -96,6 +100,7 @@ public class BuildFiles TestCoverageOutputFilePath = testCoverageOutputFilePath; ReleaseNotesOutputFilePath = releaseNotesOutputFilePath; VsixOutputFilePath = vsixOutputFilePath; + VsixNetCoreOutputFilePath = vsixNetCoreOutputFilePath; GemOutputFilePath = gemOutputFilePath; } } diff --git a/build/utils.cake b/build/utils.cake index f4dce21722..941a1e509e 100644 --- a/build/utils.cake +++ b/build/utils.cake @@ -196,3 +196,12 @@ void GetReleaseNotes(FilePath outputPath, DirectoryPath workDir, string repoToke Information(string.Join("\n", redirectedOutput)); } + +void UpdateTaskVersion(FilePath taskJsonPath, GitVersion gitVersion) +{ + var taskJson = ParseJsonFromFile(taskJsonPath); + taskJson["version"]["Major"] = gitVersion.Major.ToString(); + taskJson["version"]["Minor"] = gitVersion.Minor.ToString(); + taskJson["version"]["Patch"] = gitVersion.Patch.ToString(); + SerializeJsonToPrettyFile(taskJsonPath, taskJson); +} diff --git a/docs/build-server-support/build-server/continua.md b/docs/build-server-support/build-server/continua.md index 840eee9eff..156148479c 100644 --- a/docs/build-server-support/build-server/continua.md +++ b/docs/build-server-support/build-server/continua.md @@ -1,45 +1,45 @@ -# Continua CI Setup - -This guide explains how to run GitVersion inside [Continua CI](https://www.finalbuilder.com/continua-ci). - -## Assumptions -This guide assumes a few variables are present in the configuration. Note that this example uses `Catel` as repository name, but it should be replaced by the name of the repository where GitVersion is runnign against. - -* RepositoryBranchName => $Source.Catel.BranchName$ -* RepositoryCommitId => $Source.Catel.LatestChangeset.Id$ -* RepositoryName => Catel -* RepositoryName => $Source.Catel.Path$ -* RepositoryUrl => $Source.Catel.Url$ - -It also requires a few variables which will automatically be filled by GitVersion. The example below are just a few, any of the GitVersion variables written to the output can be used. - -* GitVersion_FullSemVer -* GitVersion_MajorMinorPatch -* GitVersion_NuGetVersion - -You also need to add a property collector for the agents to detect the GitVersion tool on the agents: - -* Namespace => GitVersion -* Run On => Agent -* Type => Path Finder Plugin -* Property Name => Path -* Executable => GitVersion.exe -* Search paths => your installation folder (e.g. `C:\Tools\GitVersion` or if you are using Chocolatey `C:\ProgramData\chocolatey\lib\GitVersion.Portable\tools`) - -## Basic Usage -To run GitLink inside [Continua CI](https://www.finalbuilder.com/continua-ci), follow the steps below: - -* Add a new `Execute Program` step to a stage -* In the `Execute Program` tab, set the following values: - * Executable path: $Agent.GitVersion.Path$ - * Working directory: %RepositoryPath% -* In the `Arguments` tab, set the following values: - * Arguments: /url %RepositoryUrl% /b %RepositoryBranchName% /c %RepositoryCommitId% /output buildserver -* In the `Options` tab, set the following values: - * Wait for completion: checked - * Log output: checked - * Check program exit code: checked - * Exit code must be: equal to - * Exit code: 0 - -Now GitVersion will automatically run and fill the `GitVersion_` variables. +# Continua CI Setup + +This guide explains how to run GitVersion inside [Continua CI](https://www.finalbuilder.com/continua-ci). + +## Assumptions +This guide assumes a few variables are present in the configuration. Note that this example uses `Catel` as repository name, but it should be replaced by the name of the repository where GitVersion is runnign against. + +* RepositoryBranchName => $Source.Catel.BranchName$ +* RepositoryCommitId => $Source.Catel.LatestChangeset.Id$ +* RepositoryName => Catel +* RepositoryName => $Source.Catel.Path$ +* RepositoryUrl => $Source.Catel.Url$ + +It also requires a few variables which will automatically be filled by GitVersion. The example below are just a few, any of the GitVersion variables written to the output can be used. + +* GitVersion_FullSemVer +* GitVersion_MajorMinorPatch +* GitVersion_NuGetVersion + +You also need to add a property collector for the agents to detect the GitVersion tool on the agents: + +* Namespace => GitVersion +* Run On => Agent +* Type => Path Finder Plugin +* Property Name => Path +* Executable => GitVersion.exe +* Search paths => your installation folder (e.g. `C:\Tools\GitVersion` or if you are using Chocolatey `C:\ProgramData\chocolatey\lib\GitVersion.Portable\tools`) + +## Basic Usage +To run GitLink inside [Continua CI](https://www.finalbuilder.com/continua-ci), follow the steps below: + +* Add a new `Execute Program` step to a stage +* In the `Execute Program` tab, set the following values: + * Executable path: $Agent.GitVersion.Path$ + * Working directory: %RepositoryPath% +* In the `Arguments` tab, set the following values: + * Arguments: /url %RepositoryUrl% /b %RepositoryBranchName% /c %RepositoryCommitId% /output buildserver +* In the `Options` tab, set the following values: + * Wait for completion: checked + * Log output: checked + * Check program exit code: checked + * Exit code must be: equal to + * Exit code: 0 + +Now GitVersion will automatically run and fill the `GitVersion_` variables. diff --git a/src/GitVersion.sln.DotSettings b/src/GitVersion.sln.DotSettings index 4d4feefb78..21a4bfe959 100644 --- a/src/GitVersion.sln.DotSettings +++ b/src/GitVersion.sln.DotSettings @@ -1,4 +1,4 @@ - + True diff --git a/src/GitVersionCore/AssemblyInfo.cs b/src/GitVersionCore/AssemblyInfo.cs index b4a21bb9ee..491ee64c22 100644 --- a/src/GitVersionCore/AssemblyInfo.cs +++ b/src/GitVersionCore/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; [assembly: AssemblyTitle("GitVersionCore")] diff --git a/src/GitVersionExe/AssemblyInfo.cs b/src/GitVersionExe/AssemblyInfo.cs index 8830673801..f0563bae5e 100644 --- a/src/GitVersionExe/AssemblyInfo.cs +++ b/src/GitVersionExe/AssemblyInfo.cs @@ -1,4 +1,4 @@ -using System.Reflection; +using System.Reflection; using System.Runtime.CompilerServices; [assembly: AssemblyTitle("GitVersion")] diff --git a/src/GitVersionTfsTask/GitVersion.ts b/src/GitVersionTfsTask/GitVersion.ts index 2c359e9ba2..cef9c58c14 100644 --- a/src/GitVersionTfsTask/GitVersion.ts +++ b/src/GitVersionTfsTask/GitVersion.ts @@ -1,79 +1,104 @@ -import tl = require('vsts-task-lib/task'); -import { IExecOptions, ToolRunner } from 'vsts-task-lib/toolrunner'; +import tl = require('azure-pipelines-task-lib/task'); +import { IExecOptions, ToolRunner } from 'azure-pipelines-task-lib/toolrunner'; import path = require('path'); import os = require('os'); +import { ArgumentParser } from 'argparse'; -var updateAssemblyInfo = tl.getBoolInput('updateAssemblyInfo'); -var updateAssemblyInfoFilename = tl.getInput('updateAssemblyInfoFilename'); -var additionalArguments = tl.getInput('additionalArguments'); -var gitVersionPath = tl.getInput('gitVersionPath'); -var preferBundledVersion = tl.getBoolInput('preferBundledVersion'); +export class GitVersionTask { -var currentDirectory = __dirname; + public static async execute() { + try { -var sourcesDirectory = tl.getVariable("Build.SourcesDirectory") || "."; + const updateAssemblyInfo = tl.getBoolInput('updateAssemblyInfo'); + const updateAssemblyInfoFilename = tl.getInput('updateAssemblyInfoFilename'); + const additionalArguments = tl.getInput('additionalArguments'); + const preferBundledVersion = tl.getBoolInput('preferBundledVersion'); -if (!gitVersionPath) { - gitVersionPath = tl.which("GitVersion.exe"); - if (preferBundledVersion || !gitVersionPath) { - gitVersionPath = path.join(currentDirectory, "GitVersion.exe"); - } -} + const currentDirectory = __dirname; + const sourcesDirectory = tl.getVariable("Build.SourcesDirectory") || "."; -(async function execute() { - try { - - var execOptions: IExecOptions = { - cwd: undefined, - env: undefined, - silent: undefined, - failOnStdErr: undefined, - ignoreReturnCode: undefined, - errStream: undefined, - outStream: undefined, - windowsVerbatimArguments: undefined - }; - - var toolRunner: ToolRunner; - - var isWin32 = os.platform() == "win32"; - - if (isWin32) { - toolRunner = tl.tool(gitVersionPath); - } else { - toolRunner = tl.tool("mono"); - toolRunner.arg(gitVersionPath); - } + let gitVersionPath = tl.getInput('gitVersionPath'); + if (!gitVersionPath) { + gitVersionPath = tl.which("GitVersion.exe"); + if (preferBundledVersion || !gitVersionPath) { + gitVersionPath = path.join(currentDirectory, "GitVersion.exe"); + } + } - toolRunner.arg([ - sourcesDirectory, - "/output", - "buildserver", - "/nofetch" - ]); - - if (updateAssemblyInfo) { - toolRunner.arg("/updateassemblyinfo") - if (updateAssemblyInfoFilename) { - toolRunner.arg(updateAssemblyInfoFilename); - } else { - toolRunner.arg("true"); + const execOptions: IExecOptions = { + cwd: undefined, + env: undefined, + silent: undefined, + failOnStdErr: undefined, + ignoreReturnCode: undefined, + errStream: undefined, + outStream: undefined, + windowsVerbatimArguments: undefined + }; + + let toolRunner: ToolRunner; + + const parser = new ArgumentParser(); + parser.addArgument( + [ '-r', '--runtime'], + { + help: '[mono|netcore]', + defaultValue: 'mono' + } + ); + + const args = parser.parseArgs(); + switch (args.runtime) { + case 'netcore': + gitVersionPath = path.join(currentDirectory, "netcore", "GitVersion.dll"); + toolRunner = tl.tool("dotnet"); + toolRunner.arg(gitVersionPath); + break; + + case 'mono': + default: + const isWin32 = os.platform() == "win32"; + if (isWin32) { + toolRunner = tl.tool(gitVersionPath); + } else { + toolRunner = tl.tool("mono"); + toolRunner.arg(gitVersionPath); + } + + break; } - } - if (additionalArguments) { - toolRunner.line(additionalArguments); - } + toolRunner.arg([ + sourcesDirectory, + "/output", + "buildserver", + "/nofetch"]); + + if (updateAssemblyInfo) { + toolRunner.arg("/updateassemblyinfo"); + if (updateAssemblyInfoFilename) { + toolRunner.arg(updateAssemblyInfoFilename); + } else { + toolRunner.arg("true"); + } + } - var result = await toolRunner.exec(execOptions); - if (result) { - tl.setResult(tl.TaskResult.Failed, "An error occured during GitVersion execution") - } else { - tl.setResult(tl.TaskResult.Succeeded, "GitVersion executed successfully") + if (additionalArguments) { + toolRunner.line(additionalArguments); + } + + const result = await toolRunner.exec(execOptions); + if (result) { + tl.setResult(tl.TaskResult.Failed, "An error occured during GitVersion execution") + } else { + tl.setResult(tl.TaskResult.Succeeded, "GitVersion executed successfully") + } + } + catch (err) { + tl.debug(err.stack); + tl.setResult(tl.TaskResult.Failed, err); } } - catch (err) { - tl.debug(err.stack) - tl.setResult(tl.TaskResult.Failed, err); - } -})(); +} + +GitVersionTask.execute(); diff --git a/src/GitVersionTfsTask/GitVersionNetCoreTask/task.json b/src/GitVersionTfsTask/GitVersionNetCoreTask/task.json new file mode 100644 index 0000000000..bb1ef6b1ec --- /dev/null +++ b/src/GitVersionTfsTask/GitVersionNetCoreTask/task.json @@ -0,0 +1,59 @@ +{ + "id": "ce526674-dbd1-4023-ad6d-2a6b9742ee31", + "name": "GitVersionNetCore", + "friendlyName": "GitVersion .NET Core Task", + "description": "Easy Semantic Versioning (http://semver.org) for projects using Git", + "author": "GitVersion Contributors", + "helpMarkDown": "See the [documentation](http://gitversion.readthedocs.org/en/latest/) for help", + "category": "Build", + "demands": [], + "version": { + "Major": "4", + "Minor": "0", + "Patch": "1" + }, + "minimumAgentVersion": "1.83.0", + "groups": [ + { + "name": "additional", + "displayName": "Additional Options", + "isExpanded": false + } + ], + "instanceNameFormat": "GitVersion", + "inputs": [ + { + "name": "updateAssemblyInfo", + "type": "boolean", + "label": "Update AssemblyInfo files", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Whether to update versions in the AssemblyInfo files" + }, + { + "name": "updateAssemblyInfoFilename", + "type": "string", + "label": "Update Assembly File", + "defaultValue": "", + "required": false, + "helpMarkDown": "Update versions in specified file", + "groupName": "additional" + }, + { + "name": "additionalArguments", + "type": "string", + "label": "Additional GitVersion.dll arguments", + "defaultValue": "", + "required": false, + "helpMarkDown": "Additional arguments to send to GitVersion.dll", + "groupName": "additional" + } + ], + "execution": { + "Node": { + "target": "GitVersion.js", + "argumentFormat": "--runtime netcore", + "workingDirectory": "." + } + } +} \ No newline at end of file diff --git a/src/GitVersionTfsTask/package-lock.json b/src/GitVersionTfsTask/package-lock.json index b959148caf..1150a497dd 100644 --- a/src/GitVersionTfsTask/package-lock.json +++ b/src/GitVersionTfsTask/package-lock.json @@ -4,6 +4,12 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/argparse": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.35.tgz", + "integrity": "sha512-+4KNdOqes4Bq0fu5dQCTUVpNQl10ui1JWdXG6S6AvRqHM4K5K1/6SBJ0Qz7PT+K85AcJ0UC7ZDuTz+aL3n6tWw==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -82,6 +88,15 @@ "readable-stream": "^2.0.0" } }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -1314,6 +1329,12 @@ "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==", "dev": true }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", diff --git a/src/GitVersionTfsTask/package.json b/src/GitVersionTfsTask/package.json index f27c17a6b6..031bafe1f5 100644 --- a/src/GitVersionTfsTask/package.json +++ b/src/GitVersionTfsTask/package.json @@ -5,7 +5,9 @@ "description": "", "main": "index.js", "scripts": { - "build": "tsc && copy-node-modules . GitVersionTask", + "build": "npm run build:mono && npm run build:netcore", + "build:mono": "tsc -p ./tsconfig.mono.json && copy-node-modules . GitVersionTask", + "build:netcore": "tsc -p ./tsconfig.netcore.json && copy-node-modules . GitVersionNetCoreTask", "test": "echo \"Error: no test specified\" && exit 1", "package": "tfx extension create --manifest-globs vss-extension.json" }, @@ -13,12 +15,14 @@ "license": "MIT", "dependencies": { "q": "1.5.1", - "vsts-task-lib": "2.6.1" + "azure-pipelines-task-lib": "2.7.1" }, "devDependencies": { + "@types/argparse": "^1.0.35", "@types/minimatch": "3.0.3", "@types/node": "10.11.0", "@types/q": "1.5.1", + "argparse": "^1.0.10", "copy-node-modules": "^1.0.8", "tfx-cli": "^0.6.1", "typescript": "^3.0.3" diff --git a/src/GitVersionTfsTask/tsconfig.json b/src/GitVersionTfsTask/tsconfig.base.json similarity index 81% rename from src/GitVersionTfsTask/tsconfig.json rename to src/GitVersionTfsTask/tsconfig.base.json index 6ea2b4a34a..6f2d9f401d 100644 --- a/src/GitVersionTfsTask/tsconfig.json +++ b/src/GitVersionTfsTask/tsconfig.base.json @@ -8,7 +8,6 @@ "target": "es6", "sourceMap": false, "inlineSourceMap": true, - "declaration": false, - "outDir": "GitVersionTask" + "declaration": false } } diff --git a/src/GitVersionTfsTask/tsconfig.mono.json b/src/GitVersionTfsTask/tsconfig.mono.json new file mode 100644 index 0000000000..471bca19e2 --- /dev/null +++ b/src/GitVersionTfsTask/tsconfig.mono.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "GitVersionTask" + } +} diff --git a/src/GitVersionTfsTask/tsconfig.netcore.json b/src/GitVersionTfsTask/tsconfig.netcore.json new file mode 100644 index 0000000000..b8fe627721 --- /dev/null +++ b/src/GitVersionTfsTask/tsconfig.netcore.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "GitVersionNetCoreTask" + } +} diff --git a/src/GitVersionTfsTask/vss-extension.json b/src/GitVersionTfsTask/vss-extension.mono.json similarity index 79% rename from src/GitVersionTfsTask/vss-extension.json rename to src/GitVersionTfsTask/vss-extension.mono.json index e6ff6fd101..4175439009 100644 --- a/src/GitVersionTfsTask/vss-extension.json +++ b/src/GitVersionTfsTask/vss-extension.mono.json @@ -10,9 +10,9 @@ "targets": [{ "id": "Microsoft.VisualStudio.Services" }], - "files": [{ - "path": "GitVersionTask" - }], + "files": [ + { "path": "GitVersionTask" } + ], "categories": [ "Build and release" ], @@ -55,14 +55,15 @@ "path": "overview.md" } }, - "contributions": [{ - "id": "gitversion-task", - "type": "ms.vss-distributed-task.task", - "targets": [ - "ms.vss-distributed-task.tasks" - ], - "properties": { - "name": "GitVersionTask" - } - }] -} \ No newline at end of file + "contributions": [ + { + "id": "gitversion-task", + "type": "ms.vss-distributed-task.task", + "targets": [ + "ms.vss-distributed-task.tasks" + ], + "properties": { + "name": "GitVersionTask" + } + }] +} diff --git a/src/GitVersionTfsTask/vss-extension.netcore.json b/src/GitVersionTfsTask/vss-extension.netcore.json new file mode 100644 index 0000000000..1132aabfc4 --- /dev/null +++ b/src/GitVersionTfsTask/vss-extension.netcore.json @@ -0,0 +1,69 @@ +{ + "manifestVersion": 1, + "id": "gitversion-netcore", + "name": "GitVersion (.NET Core)", + "publisher": "gittools", + "public": true, + "author": "GitVersion Contributors", + "version": "$version$", + "description": "Build task for easy semantic versioning for projects using Git.", + "targets": [{ + "id": "Microsoft.VisualStudio.Services" + }], + "files": [ + { "path": "GitVersionNetCoreTask" } + ], + "categories": [ + "Build and release" + ], + "icons": { + "default": "images/extension-icon.png" + }, + "tags": [ + "semver", + "git", + "versioning", + "gitflow", + "githubflow" + ], + "links": { + "learn": { + "uri": "http://gitversion.readthedocs.org/en/stable" + }, + "getstarted": { + "uri": "http://gitversion.readthedocs.org/en/stable/build-server-support/build-server/tfs-build-vnext/#running-inside-tfs" + }, + "license": { + "uri": "https://github.com/GitTools/GitVersion/blob/master/LICENSE" + }, + "repository": { + "uri": "https://github.com/GitTools/GitVersion" + }, + "support": { + "uri": "https://github.com/GitTools/GitVersion/issues" + } + }, + "screenshots": [{ + "path": "images/builds.png" + }, + { + "path": "images/build-task.png" + } + ], + "content": { + "details": { + "path": "overview.md" + } + }, + "contributions": [ + { + "id": "gitversion-netcore-task", + "type": "ms.vss-distributed-task.task", + "targets": [ + "ms.vss-distributed-task.tasks" + ], + "properties": { + "name": "GitVersionNetCoreTask" + } + }] +}