Add dotnet visual-basic
This commit is contained in:
parent
c4ceaa6964
commit
45ee625338
|
@ -1,16 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
curl "https://download.visualstudio.microsoft.com/download/pr/73a9cb2a-1acd-4d20-b864-d12797ca3d40/075dbe1dc3bba4aa85ca420167b861b6/dotnet-sdk-5.0.201-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
|
|
|
@ -1,36 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/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)
|
|
|
@ -1,66 +0,0 @@
|
||||||
{
|
|
||||||
"language": "dotnet",
|
|
||||||
"version": "5.0.201",
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,9 +0,0 @@
|
||||||
using System;
|
|
||||||
|
|
||||||
public class Test
|
|
||||||
{
|
|
||||||
public static void Main(string[] args)
|
|
||||||
{
|
|
||||||
Console.WriteLine("OK");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
open System
|
|
||||||
|
|
||||||
[<EntryPoint>]
|
|
||||||
let main argv =
|
|
||||||
printfn "OK"
|
|
||||||
0
|
|
|
@ -1 +0,0 @@
|
||||||
printfn "OK"
|
|
|
@ -1,9 +0,0 @@
|
||||||
Imports System
|
|
||||||
|
|
||||||
Module Module1
|
|
||||||
|
|
||||||
Sub Main()
|
|
||||||
Console.WriteLine("OK")
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Module
|
|
|
@ -56,4 +56,5 @@ args: {
|
||||||
"dotnet-sdk-csharp" = import ./dotnet-sdk-csharp.nix args;
|
"dotnet-sdk-csharp" = import ./dotnet-sdk-csharp.nix args;
|
||||||
"dotnet-sdk-fsharp" = import ./dotnet-sdk-fsharp.nix args;
|
"dotnet-sdk-fsharp" = import ./dotnet-sdk-fsharp.nix args;
|
||||||
"dotnet-sdk-fsharp-interactive" = import ./dotnet-sdk-fsharp-interactive.nix args;
|
"dotnet-sdk-fsharp-interactive" = import ./dotnet-sdk-fsharp-interactive.nix args;
|
||||||
|
"dotnet-sdk-visual-basic" = import ./dotnet-sdk-visual-basic.nix args;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
{pkgs, piston, ...}:
|
||||||
|
let
|
||||||
|
pkg = pkgs.dotnet-sdk;
|
||||||
|
nugetPkg = pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "visual-basic-nuget-packages";
|
||||||
|
version = pkgs.dotnet-sdk.version;
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
dontBuild = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
dontFixup = true;
|
||||||
|
dontPatch = true;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pkgs.dotnet-sdk
|
||||||
|
];
|
||||||
|
installPhase = ''
|
||||||
|
mkdir $out
|
||||||
|
cd $out
|
||||||
|
export HOME=$PWD
|
||||||
|
dotnet new console -lang VB -o cache_application
|
||||||
|
rm -rf cache_application
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
in piston.mkRuntime {
|
||||||
|
language = "visual-basic";
|
||||||
|
version = pkg.version;
|
||||||
|
runtime = "dotnet-sdk";
|
||||||
|
|
||||||
|
aliases = [
|
||||||
|
"visual-basic.net"
|
||||||
|
"visual-basic-dotnet"
|
||||||
|
"dotnet-visual-basic"
|
||||||
|
"vb"
|
||||||
|
"vb.net"
|
||||||
|
"vb-dotnet"
|
||||||
|
"dotnet-vh"
|
||||||
|
"basic"
|
||||||
|
"basic.net"
|
||||||
|
"basic-dotnet"
|
||||||
|
"dotnet-basic"
|
||||||
|
];
|
||||||
|
|
||||||
|
compile = ''
|
||||||
|
export HOME=${nugetPkg}
|
||||||
|
${pkg}/dotnet build --help > /dev/null # Supress welcome message
|
||||||
|
rename 's/$/\.vb/' "$@" # Add .vb extension
|
||||||
|
${pkg}/dotnet new console -lang VB -o . --no-restore
|
||||||
|
rm Program.vb
|
||||||
|
${pkg}/dotnet restore --source ${nugetPkg}/.nuget/packages
|
||||||
|
${pkg}/dotnet build --no-restore
|
||||||
|
'';
|
||||||
|
|
||||||
|
run = ''
|
||||||
|
export HOME=$PWD
|
||||||
|
shift
|
||||||
|
${pkg}/dotnet bin/Debug/net6.0/$(basename $(realpath .)).dll "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
tests = [
|
||||||
|
(piston.mkTest {
|
||||||
|
files = {
|
||||||
|
"test.vb" = ''
|
||||||
|
Imports System
|
||||||
|
|
||||||
|
Module Module1
|
||||||
|
|
||||||
|
Sub Main(args As String())
|
||||||
|
Console.WriteLine(args(0))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Module
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
args = ["OK"];
|
||||||
|
stdin = "";
|
||||||
|
packages = [];
|
||||||
|
main = "test.vb";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in New Issue