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

Proposal/Quesion: add paket to docs, use fsx paket extension #98

Open
Gastove opened this issue Jan 18, 2021 · 4 comments
Open

Proposal/Quesion: add paket to docs, use fsx paket extension #98

Gastove opened this issue Jan 18, 2021 · 4 comments

Comments

@Gastove
Copy link
Contributor

Gastove commented Jan 18, 2021

So, context: I've been trying to help get the build passing on Linux so I can help with documentation updates. In doing this, I've noticed: there are ergonomics challenges with requiring local-path release DLLs at the top of the script -- like this, taken from codec.fsx:

#r @"../../src/Fleece.SystemJson/bin/Release/netstandard2.1/System.Json.dll"
#r @"../../src/Fleece.SystemJson/bin/Release/netstandard2.1/Fleece.SystemJson.dll"
#r @"../../src/Fleece.SystemJson/bin/Release/netstandard2.1/FSharpPlus.dll"

The challenge here is, any change to the target framework for a library requires updating all the doc scripts, and the scripts themselves can't be loaded by an IDE until a release build is run. This is not insurmountable. And, I haven't actually worked with the F# doc system in use here before; this might be for the best!

This all said: I'd like to suggest the docs instead pull deps from Nuget using the paket, more like:

#r "paket:
nuget System.Json 4.7.1
nuget Fleece.SystemJson 0.9.0
nuget FsharpPlus"

Versions could be pinned or not (I'd have to confirm behaviour, but I assume absent a pin, latest is pulled, which seems reasonable to me).

Thoughs?

@wallymathieu
Copy link
Member

You could use the F#5 functionality as well since this isn't sufficient complexity to warrant paket.

@Gastove
Copy link
Contributor Author

Gastove commented Jan 22, 2021 via email

@Gastove
Copy link
Contributor Author

Gastove commented Jan 23, 2021

Hrm. This will require updating the SDK version in the project global.json to a 5.x release, I think -- unless there's a different or better way to specify F# 5 for the docs. Thoughts?

Gastove added a commit to Gastove/Fleece that referenced this issue Jan 23, 2021
This commit:

- Expands the Codec section for DUs to cover non-data-bearing DUs and DUs with
type-tags.
- Adds a new `further-techniques` doc to cover cases like fields that are
required in JSON but not in an F# data model.
- Updates the index.
- Updates the global.json to SDK version 5.0 to allow F#5 scripting syntax.
- Closes fsprojects#98
@wallymathieu
Copy link
Member

I think it would make sense to change to .net 5 in order to be able to improve the docs.

Gastove added a commit to Gastove/Fleece that referenced this issue Apr 25, 2021
This commit:

- Expands the Codec section for DUs to cover non-data-bearing DUs and DUs with
type-tags.
- Adds a new `further-techniques` doc to cover cases like fields that are
required in JSON but not in an F# data model.
- Updates the index.
- Updates the global.json to SDK version 5.0 to allow F#5 scripting syntax.
- Closes fsprojects#98
Gastove added a commit to Gastove/Fleece that referenced this issue Apr 25, 2021
This commit:

- Expands the Codec section for DUs to cover non-data-bearing DUs and DUs with
type-tags.
- Adds a new `further-techniques` doc to cover cases like fields that are
required in JSON but not in an F# data model.
- Updates the index.
- Updates the global.json to SDK version 5.0 to allow F#5 scripting syntax.
- Closes fsprojects#98
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants