-
Notifications
You must be signed in to change notification settings - Fork 525
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
Suggestions for load script generation #1943
Comments
I agree with most, actually I proposed #1681 and #1680. Defaulting to latest framework sounds like a sane default, however we might not have all dependencies available when framework restrictions are in place. Therefore I'd rather default to the framework restriction we have in place ( |
Yes, that |
/cc @smoothdeveloper |
@dsyme excluding Paket/src/Paket.Core/ScriptGeneration.fs Line 98 in f5f509a
Regarding #1681, I'm not sure it can be done by default, the implementation is kind of costly, on huge Paket/src/Paket.Core/ScriptGeneration.fs Line 46 in f5f509a
I'll try to skip that if the list of dll is only one though, that might be most of the actual cost in many cases. There is also the risk that |
Regarding I'm thinking that file should I've implemented the optimization to reduce time it takes to generate the scripts: #1945 |
Having it at the root level just makes it more discoverable and easier to call - one less thing to think about. |
@smoothdeveloper For example of I'm slightly in favour of file in the root folder too. Could this perhaps be disabled by some option in |
@smoothdeveloper IIRC we talked about adding a switch into the deps file to enable script generation. Are you interested in doing this? I think it would help a lot for scenarios like: https://notebooks.azure.com/library/fsharp-templates/html/fsharp-data-usa-states-example.ipynb |
root directory pollution is becoming an increasing problem as every CI, editor, extension, build tool, and their father, mother, sister and brother has decided they must be at the root to work. I wish people would start adopting the convention that all of this could go in Let's not contribute to this issue by default. @isaacabraham while As far as discoverability goes, an easy way to let people know where the load script is located λ» paket generate-load-scripts
Paket version 4.0.0-alpha030
generating scripts for framework net46
+ load script generated @
+ ./load-scripts/main.fsx is just to tell them where the script was generated
@smoothdeveloper looking backward I'm not sure how to approach it, but moving forward the netstandard library version compatibility is the way to set this But I do agree that at the very least the current convention should really be changed First and foremost why are they called include scripts? It's not a term that's used in common F# or .Net parlance, in oth
^ why does it need to say include twice? ^ this is already kind of a mess, and as more people start using netcore it's only going to get worse. Some conventions that could clean this up would be:
|
@forki thanks for the reminder, I'm going to take a look at it, is @cloudRoutine I agree with mostly all you said, maybe we can break / fix this for paket 4. The root folder pollution is a concern and a |
That would be great! |
I need to come back to that, there is a nasty dependency order in the code though which is going to be painful to integrate this change. |
@dsyme there is a PR #2113 which implements this feature for the v4 alpha, there is also a simple I'll look at doing the (breaking) changes related to folder naming in separate PR at a later time. |
Regarding load-scripts folder organization, so my stance is:
Please review the discussion and provide feedback, I'll try to implement the changes once we have cohesion on the topic. Thanks |
@smoothdeveloper if I could change it today with breaking changes I would like to have the following:
Maybe |
or even just `/projectRoot/.paket/load` and `/projectRoot/.paket/files/` to
reduce path lengths.
…On Fri, Feb 3, 2017 at 1:13 PM Matthias Dittrich ***@***.***> wrote:
@smoothdeveloper <https://github.com/smoothdeveloper> if I could change
it today with breaking changes I would like to have the following:
/projectRoot
/projectRoot/paket.dependencies
/projectRoot/Project/paket.references
/projectRoot/.paket/paket.lock
/projectRoot/.paket/packages/FSharp.Core
/projectRoot/.paket/load-scripts/...
/projectRoot/.paket/paket-files/...
Maybe paket.lock should stay in the root directory to better describe the
philosophy...
You obviously want to gitignore the packages folder, the load-scripts and
paket-files "might" be checked it (to track changes for example), but
generally should not be checked-in
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#1943 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAjCG-uqnpfjblWEaTKx8_eHCNCNmvhtks5rY3xPgaJpZM4KQLJh>
.
|
I like using #load ".paket/load/fsharp.data.fsx" |
I've put a PR #2137 to address remarks regarding script names and location. Note that I've had to keep the nested folder for cases where we specify frameworks, it will generate under the "root" folder (.paket/load) in only those cases:
In practice, generating scripts for different frameworks is useful, many nuget packages have different set of deps/transitive deps according to the framework. Please share suggestions, if you have any, about a way to consistently resolve a default framework in order to always have scripts generated in root folder. |
The changes have been released in latest paket 4 alpha release:
|
I'm using this in my script and wonder if there is a good reason we print "library name loaded". This seems a bit heavy handed and makes using the standard output of scripts less usable due to spurious messages. Would anyone protest if I remove those messages? ( Paket/src/Paket.Core/ScriptGeneration.fs Line 138 in 9afb18d
|
@smoothdeveloper I noticed this too. I do think that should be removed. |
@dsyme, ok removing those |
I think we have solved this. Please let us know if you have further ideas or I missed something (maybe separate issues make sense) |
@sylvanc and I have been using the amazing package-load-script-generation feature. It's fantastic
Here are some suggestions for how it can be adjusted
paket.dependencies
that references all the package loads.paket-build-refs.fsx
#r
on FSharp.Core. I think @tpetricek is adding a separate issue on this.This would make the feature really, really usable. Right now putting things deep in
paket-files
makes things hard.thanks
don
cc @dungpa
The text was updated successfully, but these errors were encountered: