Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to .NET Standard #131

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"version": 1,
"isRoot": true,
"tools": {
"fake-cli": {
"version": "5.19.1",
"commands": [
"fake"
]
},
"paket": {
"version": "5.243.0",
"commands": [
"paket"
]
}
}
}
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -189,3 +189,7 @@ testoutput/
/tests/IntegrationTests/.ionide/symbolCache.db
/src/FSharp.Azure.StorageTypeProvider/.ionide/symbolCache.db
/.ionide/symbolCache.db-journal

.fake
.ionide
.vs
186 changes: 119 additions & 67 deletions .paket/Paket.Restore.targets

Large diffs are not rendered by default.

Binary file removed .paket/paket.exe
Binary file not shown.
38 changes: 0 additions & 38 deletions .paket/paket.targets

This file was deleted.

26 changes: 23 additions & 3 deletions FSharp.Azure.StorageTypeProvider.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2046
# Visual Studio Version 16
VisualStudioVersion = 16.0.30020.15
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{94066CAA-4417-4C43-A286-40182E920E43}"
ProjectSection(SolutionItems) = preProject
Expand All @@ -16,7 +17,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
RELEASE_NOTES.md = RELEASE_NOTES.md
EndProjectSection
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Azure.StorageTypeProvider", "src\FSharp.Azure.StorageTypeProvider\FSharp.Azure.StorageTypeProvider.fsproj", "{FB7CA8F3-C158-49E9-B816-501741E2921F}"
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Azure.StorageTypeProvider.DesignTime", "src\FSharp.Azure.StorageTypeProvider.DesignTime\FSharp.Azure.StorageTypeProvider.DesignTime.fsproj", "{FB7CA8F3-C158-49E9-B816-501741E2921F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{7CAF8D38-6250-41CB-A65B-ABD760B09281}"
ProjectSection(SolutionItems) = preProject
Expand All @@ -35,6 +36,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{1535
docs\content\tables.fsx = docs\content\tables.fsx
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{9F8608EA-1B89-41C5-9BF4-9A41C736E5FA}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Azure.StorageTypeProvider.Runtime", "src\FSharp.Azure.StorageTypeProvider.Runtime\FSharp.Azure.StorageTypeProvider.Runtime.fsproj", "{5D73633E-3D3F-4B23-8683-8D9447499690}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{6B5F0E19-A946-4FA4-B44A-42DDBCF22454}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "IntegrationTests", "tests\IntegrationTests\IntegrationTests.fsproj", "{8C763412-620B-4F50-9991-ACCABEECF379}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -45,12 +54,23 @@ Global
{FB7CA8F3-C158-49E9-B816-501741E2921F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB7CA8F3-C158-49E9-B816-501741E2921F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB7CA8F3-C158-49E9-B816-501741E2921F}.Release|Any CPU.Build.0 = Release|Any CPU
{5D73633E-3D3F-4B23-8683-8D9447499690}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5D73633E-3D3F-4B23-8683-8D9447499690}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5D73633E-3D3F-4B23-8683-8D9447499690}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5D73633E-3D3F-4B23-8683-8D9447499690}.Release|Any CPU.Build.0 = Release|Any CPU
{8C763412-620B-4F50-9991-ACCABEECF379}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C763412-620B-4F50-9991-ACCABEECF379}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C763412-620B-4F50-9991-ACCABEECF379}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8C763412-620B-4F50-9991-ACCABEECF379}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{FB7CA8F3-C158-49E9-B816-501741E2921F} = {9F8608EA-1B89-41C5-9BF4-9A41C736E5FA}
{15350981-90B9-44A0-B356-776735ACC7F1} = {7CAF8D38-6250-41CB-A65B-ABD760B09281}
{5D73633E-3D3F-4B23-8683-8D9447499690} = {9F8608EA-1B89-41C5-9BF4-9A41C736E5FA}
{8C763412-620B-4F50-9991-ACCABEECF379} = {6B5F0E19-A946-4FA4-B44A-42DDBCF22454}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C68560AB-A7F2-49A3-BEED-B56A8D7074D2}
Expand Down
27 changes: 21 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,30 @@
Azure Storage Type Provider
===========================
# Azure Storage Type Provider

An F# Azure Type Provider which can be used to explore Azure Storage assets quickly and easily.
An F# [Type Provider](https://docs.microsoft.com/en/dotnet/fsharp/tutorials/type-providers/) that can be used to explore Azure Storage assets quickly and easily.

The goal is to create a provider which allows lightweight access to your Azure storage data within the context of e.g. F# scripts or applications to allow CRUD operations quickly and easily.
It allows lightweight access to your Azure storage data within the context of F# scripts or applications to allow CRUD operations quickly and easily.

Support exists reading and writing from Blobs, Tables and Queues, as well as fallback to the standard .NET Azure SDK.

The provider currently does not support .NET Core for the reasons specified [here](https://github.com/fsprojects/AzureStorageTypeProvider/issues/111#issuecomment-417208922).
## Building

[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/github/fsprojects/AzureStorageTypeProvider?svg=true)](https://ci.appveyor.com/project/fsprojectsgit/azurestoragetypeprovider)
Simply run `build.cmd` or `build.sh` if you're on Unix. You can then open this project in Visual Studio Code or Visual Studio.

### Developer build versus release build

This type provider specifies two "build paths" - developer and release. The developer build is the default.

The reason for this is due to how type providers with third-party dependencies work. To have the F# compiler recognize a Type Provider Design Time Component (TPDC), the `.dll` and _all of its dependencies_ must be copied into the `bin/{Configuration}/typeproviders/fsharp41/netstandard2.0/` folder, where `{Configuration}` is either `Debug` or `Release`.

F# editor tooling, including that for Visual Studio, issues a "Design-time build" that will build a project in the Debug configuration. This build does not perform a publish step, so all of the dependencies of a TPDTC will be missing unless they are explicitly copied from a publish step. This publish is done via the `build.cmd`/`build.sh` command by default.

**It is imperative that you run `build.cmd`/`build.sh` before editing this project in editor tooling**.

To reference your changes in the test project, you will need to run `build.cmd`/`build.sh` again.

### CI build

The CI build runs everything in `Release` mode. If you intend on developing the type provider instead of releasing it, do not build in release. If you do that, then you won't get good editor tooling support for the test project that references the type provider. This is an unfortunate consequence of how type providers are architected today, and it is indeed more difficult to develop type providers than normal F# code.

### Maintainer(s)

Expand Down
8 changes: 4 additions & 4 deletions build.cmd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cls
.paket\paket.exe restore
packages\FAKE\tools\FAKE.exe build.fsx %*

@echo off
dotnet tool restore
dotnet paket restore
dotnet fake run build.fsx %*
Loading