Tago.GitCloner.Core
6.0.3-preview-20240101-001
See the version list below for details.
dotnet add package Tago.GitCloner.Core --version 6.0.3-preview-20240101-001
NuGet\Install-Package Tago.GitCloner.Core -Version 6.0.3-preview-20240101-001
<PackageReference Include="Tago.GitCloner.Core" Version="6.0.3-preview-20240101-001" />
paket add Tago.GitCloner.Core --version 6.0.3-preview-20240101-001
#r "nuget: Tago.GitCloner.Core, 6.0.3-preview-20240101-001"
// Install Tago.GitCloner.Core as a Cake Addin #addin nuget:?package=Tago.GitCloner.Core&version=6.0.3-preview-20240101-001&prerelease // Install Tago.GitCloner.Core as a Cake Tool #tool nuget:?package=Tago.GitCloner.Core&version=6.0.3-preview-20240101-001&prerelease
Tago Git Cloner will clone the specified template from Git repository to the provided destination folder.
Usage
Additional features and options of the Tago Git Template Cloner include:
git-cloner
: Starts a clone process as a command line.git-cloner --list
: Lists all available templates in the Git repository.
Prerequisites
Before using the Tago Git Template Cloner, ensure that you have the following prerequisites:
- Git installed on your local machine. You can download Git from https://git-scm.com/downloads.
- Git is added to the machine PATH enviroment variable
- Access to an your organization and a Git repository.
- Sufficient permissions to clone git repositories.
Installation
The Tago Git Template Cloner is a command-line tool and can be installed using the following steps:
Open a terminal or command prompt on your local machine.
Run the following command to install the tool dotnet cli (e.g.,
dotnet
):
dotnet tool install -g Tago.GitCloner.Tool --prerelease
Configuration
Global Settings
Create a git-cloner-config.json
under %userprofile%\.git-cloner
folder
Option | Type | Description |
---|---|---|
TargetGitServer | enum | AzureDevops , Bitbucket |
CredetialType | enum | Default - will use with the current running user, Network or Basic |
OnlyTemplatesWithOptionsFile | bool | only templates having template-options.json will be loaded |
DefaultTargetDirectory | string | default output folder for clones |
Sources |
object array | list of git sources to pull templales from |
Source
Option | Type | Description |
---|---|---|
GitServer | enum | AzureDevops , Bitbucket |
CredetialType | enum | Default - will use with the current running user, Network or Basic |
ApiVersion | string | optional: rest api version |
Href | string | repo url |
UserName | string | optional: domain user name |
Password | string | optional: domain password |
Global Settings Exmaple:
{
"Console": {
"CodePage": 65001,
"OptionsColor": "Yellow"
},
"Git": {
"MainBranchName": "main",
"CreateBranches": [ "First", "Second","main" ],
"CheckoutBranch": "Third"
},
"GitBaseUrl": "http://www.myazuerserver.com:8881/tfs/",
"OnlyTemplatesWithOptionsFile": true,
"DefaultTargetDirectory": "C:/TemplateClones/",
"TargetGitServer": "AzureDevops",
"TargetGitApiVersion": "5.0",
"CredetialType": "Network"
"Sources": [
{
"GitServer": "AzureDevops",
"ApiVersion": "5.0",
"Href": "http://www.myazuerserver.com:8881/tfs/TAGO_GIT/Demos",
"UserName": "userName",
"Password": "pwd",
"CredetialType": "Network"
},
{
"GitServer": "Bitbucket",
"Href": "http://www.mybitbucketserver.com:7990/projects/TAGO/repos",
"UserName": "userName",
"Password": "pwd",
"CredetialType": "Basic"
}
]
}
Template Settings
Create a template-options.json
under the root template git path
Option | Type | Description |
---|---|---|
Replaces |
object array | string replacements definition |
Options |
object array | yes/no user options during clone |
PostAction |
object | action to take after success clone |
Template Settings Exmaple:
{
"Tags":[
"tago",
"pre-release"
],
"DisplayName": "Tago Template",
"Description": "",
"Constants": {
"PROJ_TYPE": "Tg-MicroService",
"ORIG_TEMPLATE_NAME": "web-api-template"
},
"FolderPath": "%userprofile%/tago/{GIT_PROJECT_NAME}/{PROJ_TYPE}",
"RepoNameFormat": "Repo-{PROJECT_NAME}",
"ProjectNameFormat": "Repo.{PROJECT_NAME}",
"Replaces": [
{
"From": "web-api-template",
"To": "{SLN_PROJECT_NAME}"
},
{
"From": "web_api_template",
"To": "{SLN_PROJECT_NAME}"
},
{
"From": "@@AUTO_GENERATED",
"To": "{SLN_PROJECT_NAME}"
}
],
"Options": [
{
"Name": "WeatherForecast2",
"DisplayName": "Do you want to add WeatherForecast2? Y/N",
"UiDisplayName": "WeatherForecast2",
"Description": "WeatherForecast2 controller will add alternate forcasts",
"Actions": {
"No": {
"Remove": {
"Directories": [
],
"Files": [
"/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/Controllers/WeatherForecast2Controller.cs",
"/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/Controllers/WeatherForecastController.cs"
],
"Lines": [
{
"FilePath": "/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}.csproj",
"Contains": ""
}
],
"JsonNodes":[
{
"FilePath": "/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/appsettings.json",
"NodePath": "Logging:LogLevel:default"
}
]
}
},
"Yes": {
"Remove": {
"Files": [
"/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/Controllers/WeatherForecast2Controller.cs"
]
}
}
}
},
{
"Name": "RunFile",
"UiDisplayName": "Run a File",
"DisplayName": "Do you want run a file? Y/N",
"Dependencies": [
"WeatherForecast2"
],
"Actions": {
"No": {
"Remove": {
"Directories": [
"/utils"
],
"Lines": [
{
}
]
}
},
"Yes": {
"Remove": {
"Directories": [
"/utils"
]
},
"FileExecute": [
{
"Path": "/utils/Console.exe",
"Parameters": {
"param1": "param value",
"param2": "{OUTPUT_DIR}/src/123",
}
}
]
}
}
},
{
"Name": "Abort?",
"IsTemplateOption": false,
"Condition": {
"AnySelected": []
},
"DisplayName": "No option selected, Do you want to abort? Y/N",
"Actions": {
"Yes": {
"Abort": true
}
}
},
{
"Name": "Post",
"Background": true,
"Condition": {
"AnySelected": []
},
"DisplayName": "clear",
"Actions": {
"Yes": {
"Remove": {
"Directories": [
],
"Files": [
"/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/Controllers/WeatherForecastController.cs",
"/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/WeatherForecast.cs"
],
"Lines": [
{
"FilePath": "/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}.csproj",
"Contains": ""
}
],
"JsonNodes":[
{
"FilePath": "/src/{ORIG_TEMPLATE_NAME}/{ORIG_TEMPLATE_NAME}/appsettings.json",
"NodePath": "Logging:LogLevel:default"
}
]
}
}
}
}
],
"PostAction": {
"RunFile": [
{
"pattern": "*.sln"
}
]
}
}
Troubleshooting
If you encounter any issues while using the Tago Git Template Cloner, consider the following troubleshooting steps:
- Ensure that you have provided the correct repository URL.
- Verify that you have the necessary permissions to clone repositories in your organization.
- Double-check your internet connectivity and ensure that the Git server services are accessible.
If problems persist, please contact our support team at support@tago-solutions.com for further assistance.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.