diff --git a/packages/dotnet/7.0.202/build.sh b/packages/dotnet/7.0.202/build.sh new file mode 100644 index 0000000..97993f6 --- /dev/null +++ b/packages/dotnet/7.0.202/build.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +curl "https://download.visualstudio.microsoft.com/download/pr/bda88810-e1a6-4cf0-8139-7fd7fe7b2c7a/7a9ffa3e12e5f1c3d8b640e326c1eb14/dotnet-sdk-7.0.202-linux-x64.tar.gz +" -Lo dotnet.tar.gz +tar xzf dotnet.tar.gz --strip-components=1 +rm dotnet.tar.gz + +# Cache nuget packages +export DOTNET_CLI_HOME=$PWD +./dotnet new console -o cache_application +./dotnet new console -lang F# -o fs_cache_application +./dotnet new console -lang VB -o vb_cache_application +# This calls a restore on the global-packages index ($DOTNET_CLI_HOME/.nuget/packages) +# If we want to allow more packages, we could add them to this cache_application + +rm -rf cache_application fs_cache_application vb_cache_application +# Get rid of it, we don't actually need the application - just the restore \ No newline at end of file diff --git a/packages/dotnet/7.0.202/compile b/packages/dotnet/7.0.202/compile new file mode 100644 index 0000000..173443d --- /dev/null +++ b/packages/dotnet/7.0.202/compile @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +[ "${PISTON_LANGUAGE}" == "fsi" ] && exit 0 + +export DOTNET_CLI_HOME=$PWD +export HOME=$PWD + +dotnet build --help > /dev/null # Shut the thing up + +case "${PISTON_LANGUAGE}" in + basic.net) + rename 's/$/\.vb/' "$@" # Add .vb extension + dotnet new console -lang VB -o . --no-restore + rm Program.vb + ;; + fsharp.net) + first_file=$1 + shift + rename 's/$/\.fs/' "$@" # Add .fs extension + dotnet new console -lang F# -o . --no-restore + mv $first_file Program.fs # For some reason F#.net doesn't work unless the file name is Program.fs + ;; + csharp.net) + rename 's/$/\.cs/' "$@" # Add .cs extension + dotnet new console -o . --no-restore + rm Program.cs + ;; + *) + echo "How did you get here? (${PISTON_LANGUAGE})" + exit 1 + ;; + +esac + +dotnet restore --source $DOTNET_ROOT/.nuget/packages +dotnet build --no-restore \ No newline at end of file diff --git a/packages/dotnet/7.0.202/environment b/packages/dotnet/7.0.202/environment new file mode 100644 index 0000000..306ba96 --- /dev/null +++ b/packages/dotnet/7.0.202/environment @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +# Put 'export' statements here for environment variables +export DOTNET_ROOT=$PWD +export PATH=$DOTNET_ROOT:$PATH +export FSI_PATH=$(find $(pwd) -name fsi.dll) \ No newline at end of file diff --git a/packages/dotnet/7.0.202/metadata.json b/packages/dotnet/7.0.202/metadata.json new file mode 100644 index 0000000..f1249ca --- /dev/null +++ b/packages/dotnet/7.0.202/metadata.json @@ -0,0 +1,66 @@ +{ + "language": "dotnet", + "version": "7.0.202", + "provides": [ + { + "language": "basic.net", + "aliases": [ + "basic", + "visual-basic", + "visual-basic.net", + "vb", + "vb.net", + "vb-dotnet", + "dotnet-vb", + "basic-dotnet", + "dotnet-basic" + ], + "limit_overrides": { "max_process_count": 128 } + }, + { + "language": "fsharp.net", + "aliases": [ + "fsharp", + "fs", + "f#", + "fs.net", + "f#.net", + "fsharp-dotnet", + "fs-dotnet", + "f#-dotnet", + "dotnet-fsharp", + "dotnet-fs", + "dotnet-fs" + ], + "limit_overrides": { "max_process_count": 128 } + }, + { + "language": "csharp.net", + "aliases": [ + "csharp", + "c#", + "cs", + "c#.net", + "cs.net", + "c#-dotnet", + "cs-dotnet", + "csharp-dotnet", + "dotnet-c#", + "dotnet-cs", + "dotnet-csharp" + ], + "limit_overrides": { "max_process_count": 128 } + }, + { + "language": "fsi", + "aliases": [ + "fsx", + "fsharp-interactive", + "f#-interactive", + "dotnet-fsi", + "fsi-dotnet", + "fsi.net" + ] + } + ] +} \ No newline at end of file diff --git a/packages/dotnet/7.0.202/run b/packages/dotnet/7.0.202/run new file mode 100644 index 0000000..a742912 --- /dev/null +++ b/packages/dotnet/7.0.202/run @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# Put instructions to run the runtime +export DOTNET_CLI_HOME=$PWD + +case "${PISTON_LANGUAGE}" in + basic.net) + ;& + fsharp.net) + ;& + csharp.net) + shift + dotnet bin/Debug/net5.0/$(basename $(realpath .)).dll "$@" + ;; + fsi) + FILENAME=$1 + rename 's/$/\.fsx/' $FILENAME # Add .fsx extension + shift + dotnet $FSI_PATH $FILENAME.fsx "$@" + ;; + *) + echo "How did you get here? (${PISTON_LANGUAGE})" + exit 1 + ;; +esac \ No newline at end of file diff --git a/packages/dotnet/7.0.202/test.cs b/packages/dotnet/7.0.202/test.cs new file mode 100644 index 0000000..e91a2a2 --- /dev/null +++ b/packages/dotnet/7.0.202/test.cs @@ -0,0 +1,9 @@ +using System; + +public class Test +{ + public static void Main(string[] args) + { + Console.WriteLine("OK"); + } +} \ No newline at end of file diff --git a/packages/dotnet/7.0.202/test.fs b/packages/dotnet/7.0.202/test.fs new file mode 100644 index 0000000..5b8ff82 --- /dev/null +++ b/packages/dotnet/7.0.202/test.fs @@ -0,0 +1,6 @@ +open System + +[] +let main argv = + printfn "OK" + 0 \ No newline at end of file diff --git a/packages/dotnet/7.0.202/test.fsx b/packages/dotnet/7.0.202/test.fsx new file mode 100644 index 0000000..a813f1a --- /dev/null +++ b/packages/dotnet/7.0.202/test.fsx @@ -0,0 +1 @@ +printfn "OK" \ No newline at end of file diff --git a/packages/dotnet/7.0.202/test.vb b/packages/dotnet/7.0.202/test.vb new file mode 100644 index 0000000..d1b6a05 --- /dev/null +++ b/packages/dotnet/7.0.202/test.vb @@ -0,0 +1,9 @@ +Imports System + +Module Module1 + + Sub Main() + Console.WriteLine("OK") + End Sub + +End Module \ No newline at end of file