Uh oh!
There was an error while loading. Please reload this page.
Proposed way to include packages like XPlot and FSCharting - #61
Conversation
This approach looks like it has a lot of potential. When I attempt to load this with Visual Studio 2015 I get get failures for duplicate items. I've taken a look at IfSharp.Kernel.fsproj and you're doing something with custom elements: <NoneInclude=".\helpers\XPlot.Plotly.fsx">
<!-- Copied in a post build event -->
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>and <HelperInclude=".\helpers\XPlot.Plotly.fsx" />does this work for you on other platforms? Could you perhaps just copy the whole helpers directory instead? |
…revent files showing twice in MonoDevelop
npmurphy
commented
Apr 17, 2016
It worked fine for me using FAKE, but I see in MonoDevelop that the files show up twice in the Project explorer. |
cgravill
commented
May 5, 2016
Great, when testing it on windows I got a crash against msbuild. I was able to resolve this by updating the F# Compiler Service. I sent you a PR npmurphy#5 When I try running <CopySourceFiles="@(CopyHelpers)"DestinationFolder="$(OutDir)" />should that be aiming for the IfSharpConsole output directory instead? |
| source https://www.nuget.org/api/v2 | ||
| nuget FSharp.Data.TypeProviders | ||
| nuget XPlot.Plotly No newline at end of file |
There was a problem hiding this comment.
It's almost like you could have all of FsLab (http://fslab.org) as a dependency. Not quite sure of the ramifications of that though!
There was a problem hiding this comment.
@dsyme I'm open to including more. I checked and FsLab comes down as about 100MB.
There's a bit of question of how to let the user change versions. At the moment we've been saying they need to go edit this paket.dependencies file. Perhaps if we add helper functions to let users alter the dependencies inside the notebook? Then Paket will make fetch as needed.
Upgrade the FCS due to crash on start
… script only make console
npmurphy
commented
May 5, 2016
@cgravill Yes it should. I have fixed that. |
npmurphy
commented
May 5, 2016
https://github.com/npmurphy/IfSharp/tree/fscharting_ripout |
cgravill
commented
May 6, 2016
OK, I'll merge this then we can look at the other improvements. |
Bug #53 seems to be caused by incompatible .Net versions.
Bug #52 is caused by hard coding a specific version of FSCharting into IfSharp.
This pull request is a suggestion to fix both these problems by using Paket in the installation directory.
Paket can provide the correct version of the libraries for the users framework as well as the latest versions via nuget or github.
This also acts as a kind of light-weight plugin system. To add support for a new library one adds it to the paket.dependancies file and adds an fsx script to load the dlls and add helper functions.
I have demonstrated the idea in this PR with XPlot.Plotly.
The user runs
#load XPlot.Plotly.fsxin their notebook (similar to%matplotlib inlinein IPython) and the namespace is populated with the functions needed to use XPlot.Plotly (InitialiseNotebookandShow).After IfSharp installation the user should run
./paket/paket.bootstrapper.exefrom their installation directory.Then
paket.exe installto download the latest packages to their installation folder.In future these commands could be run automatically on the first run of
ifsharp.exeor some "magic"%paketcommands could be added to the IfSharp Kernel.I have also prepared a similar solution for FSCharting, the library has been removed from the Kernel and is added back to the kernel at runtime by an fsx script.