diff --git a/Build/Targets/Import.targets b/Build/Targets/Import.targets index f6654edeb..59eccb115 100644 --- a/Build/Targets/Import.targets +++ b/Build/Targets/Import.targets @@ -2,6 +2,7 @@ + diff --git a/Build/Targets/Templates.targets b/Build/Targets/Templates.targets new file mode 100644 index 000000000..7a3c8b939 --- /dev/null +++ b/Build/Targets/Templates.targets @@ -0,0 +1,42 @@ + + + + netstandard1.0 + $(ArtifactsDir)packages\ + True + False + + + + $(UserProfile)\.cosmos\packages\ + + + + + + + + + + + + + + + + + + + + @(PackageFile) + + + + + + + + + diff --git a/source/Templates/Cosmos.Templates.Kernel/Cosmos.Templates.Kernel.csproj b/source/Templates/Cosmos.Templates.Kernel/Cosmos.Templates.Kernel.csproj new file mode 100644 index 000000000..416aeda2a --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/Cosmos.Templates.Kernel.csproj @@ -0,0 +1,9 @@ + + + + True + Cosmos kernel templates for C#, Visual Basic and F#. +$(CosmosDescription) + + + diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/.template.config/template.json b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/.template.config/template.json new file mode 100644 index 000000000..a88540bc7 --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/.template.config/template.json @@ -0,0 +1,14 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Cosmos", + "classifications": [ "Kernel", "Cosmos" ], + "groupIdentity": "Cosmos.Templates.Kernel", + "identity": "Cosmos.Templates.Kernel.CSharp", + "name": "Cosmos Kernel", + "shortName": "cosmoskernel", + "tags":{ + "language": "C#", + "type": "project" + }, + "sourceName": "CosmosKernel" +} diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/CosmosKernel.csproj b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/CosmosKernel.csproj new file mode 100644 index 000000000..f0409789e --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/CosmosKernel.csproj @@ -0,0 +1,13 @@ + + + + netcoreapp2.0 + + + + + + + + + diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/Kernel.cs b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/Kernel.cs new file mode 100644 index 000000000..a63db855e --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-CSharp/Kernel.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Sys = Cosmos.System; + +namespace CosmosKernel +{ + public class Kernel: Sys.Kernel + { + protected override void BeforeRun() + { + Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back."); + } + + protected override void Run() + { + Console.Write("Input: "); + var input = Console.ReadLine(); + Console.Write("Text typed: "); + Console.WriteLine(input); + } + } +} diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/.template.config/template.json b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/.template.config/template.json new file mode 100644 index 000000000..147c0c816 --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/.template.config/template.json @@ -0,0 +1,14 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Cosmos", + "classifications": [ "Kernel", "Cosmos" ], + "groupIdentity": "Cosmos.Templates.Kernel", + "identity": "Cosmos.Templates.Kernel.FSharp", + "name": "Cosmos Kernel", + "shortName": "cosmoskernel", + "tags":{ + "language": "F#", + "type": "project" + }, + "sourceName": "CosmosKernel" +} diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/CosmosKernel.fsproj b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/CosmosKernel.fsproj new file mode 100644 index 000000000..0e8cd9f20 --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/CosmosKernel.fsproj @@ -0,0 +1,17 @@ + + + + netcoreapp2.0 + + + + + + + + + + + + + diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/Kernel.fs b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/Kernel.fs new file mode 100644 index 000000000..9b5a66ccc --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-FSharp/Kernel.fs @@ -0,0 +1,12 @@ +namespace CosmosKernel + +open System + +type Kernel() = + inherit Cosmos.System.Kernel() + override u.BeforeRun() = (Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.");) + override u.Run() = + Console.Write("Input: "); + let input = Console.ReadLine(); + Console.Write("Text typed: "); + Console.WriteLine(input); diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/.template.config/template.json b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/.template.config/template.json new file mode 100644 index 000000000..0abf99daa --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/.template.config/template.json @@ -0,0 +1,14 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Cosmos", + "classifications": [ "Kernel", "Cosmos" ], + "groupIdentity": "Cosmos.Templates.Kernel", + "identity": "Cosmos.Templates.Kernel.VisualBasic", + "name": "Cosmos Kernel", + "shortName": "cosmoskernel", + "tags":{ + "language": "VB", + "type": "project" + }, + "sourceName": "CosmosKernel" +} diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/CosmosKernel.vbproj b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/CosmosKernel.vbproj new file mode 100644 index 000000000..f0409789e --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/CosmosKernel.vbproj @@ -0,0 +1,13 @@ + + + + netcoreapp2.0 + + + + + + + + + diff --git a/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/Kernel.vb b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/Kernel.vb new file mode 100644 index 000000000..5e70a4dc3 --- /dev/null +++ b/source/Templates/Cosmos.Templates.Kernel/content/Kernel-VisualBasic/Kernel.vb @@ -0,0 +1,23 @@ +Imports System +Imports System.Collections.Generic +Imports System.Text + +Namespace CosmosKernel + + Public Class Kernel + Inherits Cosmos.System.Kernel + + Protected Overrides Sub BeforeRun() + Console.WriteLine("Cosmos booted successfully. Type a line of text to get it echoed back.") + End Sub + + Protected Overrides Sub Run() + Console.Write("Input: ") + Dim input = Console.ReadLine() + Console.Write("Text typed: ") + Console.WriteLine(input) + End Sub + + End Class + +End Namespace diff --git a/source/Templates/install-dotnet-templates.bat b/source/Templates/install-dotnet-templates.bat new file mode 100644 index 000000000..25914184b --- /dev/null +++ b/source/Templates/install-dotnet-templates.bat @@ -0,0 +1,3 @@ +@echo off + +dotnet msbuild Cosmos.Templates.Kernel\Cosmos.Templates.Kernel.csproj /t:InstallTemplates