{"id":15690220,"url":"https://github.com/kant2002/fstarmsbuildsdk","last_synced_at":"2025-04-29T22:58:43.818Z","repository":{"id":49834742,"uuid":"518325608","full_name":"kant2002/FStarMSBuildSdk","owner":"kant2002","description":"F* MSBuild SDK","archived":false,"fork":false,"pushed_at":"2024-09-10T02:32:54.000Z","size":93,"stargazers_count":8,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-29T22:58:40.147Z","etag":null,"topics":["fstar","msbuild-sdk"],"latest_commit_sha":null,"homepage":"","language":"F*","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kant2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-27T05:47:50.000Z","updated_at":"2024-09-10T02:31:17.000Z","dependencies_parsed_at":"2024-08-06T22:38:39.825Z","dependency_job_id":"a8d3d74b-a488-4c38-bfe6-52d98bca18b0","html_url":"https://github.com/kant2002/FStarMSBuildSdk","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFStarMSBuildSdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFStarMSBuildSdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFStarMSBuildSdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFStarMSBuildSdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kant2002","download_url":"https://codeload.github.com/kant2002/FStarMSBuildSdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251596666,"owners_count":21615017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fstar","msbuild-sdk"],"created_at":"2024-10-03T18:08:21.339Z","updated_at":"2025-04-29T22:58:43.798Z","avatar_url":"https://github.com/kant2002.png","language":"F*","funding_links":[],"categories":[],"sub_categories":[],"readme":"# F* SDK\n\nThis is MSBuild SDK for F*.\n\n\n## Use templates\n\n```shell\ndotnet new --install FStarLang.DotNet.Common.ProjectTemplates.1.0::0.1.0 --nuget-source https://codevision.pkgs.visualstudio.com/FStarLang/_packaging/fstarlang/nuget/v3/index.json\n```\n\nThen you can create project using\n```shell\ndotnet new fstarconsole -o helloworld\n```\n\n## Manually convert F# project\n\nCreate new Nuget.config using `dotnet new nugetconfig`\n\nPaste in that file following configuration file.\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cconfiguration\u003e\n  \u003cpackageSources\u003e\n    \u003c!--To inherit the global NuGet package sources remove the \u003cclear/\u003e line below --\u003e\n    \u003cclear /\u003e\n    \u003cadd key=\"fstar-experimental\" value=\"https://codevision.pkgs.visualstudio.com/FStarLang/_packaging/fstarlang/nuget/v3/index.json\" /\u003e\n    \u003cadd key=\"nuget\" value=\"https://api.nuget.org/v3/index.json\" /\u003e\n  \u003c/packageSources\u003e\n\u003c/configuration\u003e\n```\n\nCreate new F# project and replace it with following content.\n\n```xml\n\u003cProject Sdk=\"FStarLang.Sdk/0.0.2\"\u003e\n  \u003cPropertyGroup\u003e\n    \u003cTargetFramework\u003enet6.0\u003c/TargetFramework\u003e\n  \u003c/PropertyGroup\u003e\n\n  \u003cItemGroup\u003e\n    \u003cCompile Include=\"Program.fst\" /\u003e\n  \u003c/ItemGroup\u003e\n\u003c/Project\u003e\n```\nAlso rename Program.fs to Program.fst and now you can run your code using `dotnet run`. That's it folks!\n\n## Development\n\nFor creation of new version of SDK\n- bump version in the `src\\sdk\\FStarLang.Sdk.csproj`\n- run \n```sh\ndotnet build -c Release src/sdk/FStarLang.Sdk.csproj /p:ReleaseBuild=true\n```\n- publish Nuget file located at `src\\sdk\\bin\\Release`\n```\ndotnet nuget push --source fstarlang --api-key $ApiKey artifacts/package/release/FStarLang.Sdk.0.2.0.nupkg\n```\n- Go back to root of the project\n- bump version in the `src/runtime/FStarLang.Runtime.csproj`\n- Change `FStarCompilerVersion` to latest F* compiler release in the `src/runtime/FStarLang.Runtime.csproj`\n- run\n```sh\ndotnet build -r win-x64 -c Release src/runtime/FStarLang.Runtime.csproj /p:ReleaseBuild=true\ndotnet build -r linux-x64 -c Release src/runtime/FStarLang.Runtime.csproj /p:ReleaseBuild=true\n```\n- publish Nuget file located at `src\\sdk\\bin\\Release`\n```\ndotnet restore src/sdk/FStarLang.Sdk.csproj --interactive\ndotnet nuget push --source fstarlang --api-key $ApiKey artifacts/package/release/FStarLang.Compiler.runtime.win-x64.0.0.7.nupkg\ndotnet nuget push --source fstarlang --api-key $ApiKey artifacts/package/release/FStarLang.Compiler.runtime.linux-x64.0.0.7.nupkg\n```\n- Go back to root of the project\n- bump version in the `src/templates/FStarLang.DotNet.Common.ProjectTemplates.1.0.csproj`\n- run\n```sh\ndotnet pack -c Release src/templates/FStarLang.DotNet.Common.ProjectTemplates.1.0.csproj /p:ReleaseBuild=true\n```\n- publish Nuget file located at `src\\sdk\\bin\\Release`\n```\ndotnet nuget push --source fstarlang --api-key $ApiKey artifacts/package/release/FStarLang.DotNet.Common.ProjectTemplates.1.0.0.1.2.nupkg\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkant2002%2Ffstarmsbuildsdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkant2002%2Ffstarmsbuildsdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkant2002%2Ffstarmsbuildsdk/lists"}