Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 14 18:22
    matthid commented #2587
  • Apr 14 18:00
    matthid commented #2586
  • Apr 14 18:00
    matthid synchronize #2579
  • Apr 14 18:00

    matthid on next

    Porting TypeScript module to FA… fix call to ts compiler Merge pull request #2586 from F… (compare)

  • Apr 14 18:00
    matthid closed #2586
  • Apr 14 16:08
    yazeedobaid edited #2587
  • Apr 14 16:08
    yazeedobaid edited #2587
  • Apr 14 14:43
    yazeedobaid synchronize #2586
  • Apr 14 14:42
    yazeedobaid synchronize #2587
  • Apr 13 15:30
    yazeedobaid opened #2587
  • Apr 09 15:14
    yazeedobaid opened #2586
  • Apr 09 14:22
    lucasteles commented #2562
  • Apr 09 13:29
    lucasteles edited #2563
  • Apr 09 08:20
    yazeedobaid commented #2562
  • Apr 08 17:29
    lucasteles commented #2562
  • Apr 07 20:47
    lucasteles synchronize #2562
  • Apr 07 20:45
    lucasteles synchronize #2562
  • Apr 06 17:05
    yazeedobaid commented #2584
  • Apr 06 16:26
    UnoSD commented #2575
  • Apr 06 16:15
    matthid synchronize #2579
Matthias Dittrich
@matthid
remove --version
DavidSSL
@DavidSSL
Thank you
DavidSSL
@DavidSSL
I use fakeusing dotnet tool install fake-cli --too-path to install fake. I also have my nuget packages defined in build.fsx as above. Now let's say I add a new Nuget package, what is the prescribed way to get the new package because running fake run build doesn't do it. I know that deleting build.fsx.lock and running the previous command will work but I was wondering if there is a better way
Matthias Dittrich
@matthid
deleting the file is the way to do it, we could have a command to to it but currently there is none implemented :)
DavidSSL
@DavidSSL
Ok got it
Matthias Dittrich
@matthid
By the way this was already discussed here: fsharp/FAKE#2100
DavidSSL
@DavidSSL
My googlefu wasn't powerful enough :(
Matthias Dittrich
@matthid
To be honest it took me quite a while to find it as well, even knowing that it existed somewhere :D
DavidSSL
@DavidSSL
:D
Masashi Fujita
@objectx
CreateProcess.warnOnExitCode have a signature string -> CreateProcess<unit> -> CreateProcess<unit>. Is it intended?
I think this caused by the eprintf "%s" msg line. Type inference engine fills the <_> with <unit>.
Matthias Dittrich
@matthid
@objectx Probably not intended
BahKoo
@BahKoo
My MSBuild.build targets are significantly faster when I set DisableInternalBinLog to true but I don't understand what I'm losing by disabling this. Does anyone know?
Masashi Fujita
@objectx
I've created the fsharp/FAKE#2534 for relaxing CreateProcess.warnOnExitCode usage.
Andreas Vilinski
@vilinski

I have a library targeting appnetcore3.1 in a private nuget feed. Having trouble using it from fake.
the source line in paket.dependencies looks like this:

// [ FAKE GROUP ]
group Build
    storage none
    source https://jfrog.private.com/artifactory/api/nuget/nuget-repo username: "%ARTIFACTORY_USER%" password: "%ARTIFACTORY_USER_PASS%"
    nuget Fake.DotNet.Cli
    nuget Fake.IO.FileSystem
    nuget Fake.Core.Target
    nuget MyLib // <- libray from private nuget source

I suspect the package handling in fake is outsorced to paket. It actually wors for me in another solution.
The problem with fake is - the resulting intellisense_lazy.fsx file doesn't include my library and fake complains about unknown namespace in open statement in the build script. I have no clue why it should not work out of the box...
Is there any way how I can diagnose this?

Andreas Vilinski
@vilinski
I think it is also not yet usable with "nuget: MyLib" from F# preview?
Matthias Dittrich
@matthid
@vilinski You need to target netstandard2.0
Andreas Vilinski
@vilinski
@matthid I can't - there are some apis used, not included in netstandard2.0.
Matthias Dittrich
@matthid
The current situation is that you then cannot use it in fake or need to add a workaround (for example using reflection)
Tomas Jansson
@mastoj

Hello. Trying to run some xunit tests, but I get this error:

Script reported an error:
-> BuildFailedException: Target 'Test' failed.
-> One or more errors occurred. (trying to start a .NET process on a non-windows platform, but mono could not be found. Try to set the MONO environment variable or add mono to the PATH.)
-> trying to start a .NET process on a non-windows platform, but mono could not be found. Try to set the MONO environment variable or add mono to the PATH.

My target looks like:

open Fake.Core
open Fake.DotNet
open Fake.DotNet.Testing
open Fake.IO.Globbing.Operators
open Fake.IO.FileSystemOperators
open System.IO

Target.create "Test" (fun _ ->
    Trace.log " --- Running tests --- "
    !! (testDir @@ "**/Release/bin/*.Tests.dll")
    |> XUnit2.run (fun p -> { p with HtmlOutputPath = Some (testDir @@ "xunit.html") })
)

Isn't that supposed to run on dotnet core?

Tomas Jansson
@mastoj
I figured I could use DotNet.test, but how do I get the html output if I use that?
kariem-ali
@kariem-ali
Hi everyone!
I am trying to run tests targeting multiple test frameworks (nunit, vstest, xunit) as part of the same target. They all have failing tests. I want them all to run, but it seems whichever runs first (with failing tests) causes Fake to shortcircuit and report a failed build without running the other tests targeting the other frameworks. Is there a way to make fake run them all? (I am running Fake 4 on full .NET framework)
using:
Fake.DotNet.Testing.VSTest
Fake.DotNet.Testing.NUnit3
kariem-ali
@kariem-ali
Fake.DotNet.Testing.XUnit2
Andreas Vilinski
@vilinski
Hi, does anybody know how to solve the error here? Can't build a project anymore. I have latest fake-cli and paket:
There was a problem while setting up the environment:
-> Error during parsing of '/home/bla/myrepo/paket.lock'.
-> failed to parse line '      System.Text.Json (>= 5.0) - restriction: || (>= net461) (&& (< net5.0) (>= netstandard2.1)) (&& (>= netstandard2.0) (< netstandard2.1))' (invalid parameter 'net5.0' after >= or < in '< net5.0) (>= netstandard2.1)) (&& (>= netstandard2.0) (< netstandard2.1))') (Could not parse 'framework: restriction: || (>= net461) (&& (< net5.0) (>= netstandard2.1)) (&& (>= netstandard2.0) (< netstandard2.1))' as key/value pairs.)
        -  invalid parameter 'net5.0' after >= or < in '< net5.0) (>= netstandard2.1)) (&& (>= netstandard2.0) (< netstandard2.1))'
        -  Could not parse 'framework: restriction: || (>= net461) (&& (< net5.0) (>= netstandard2.1)) (&& (>= netstandard2.0) (< netstandard2.1))' as key/value pairs.
        -> invalid delimiter at position 22
mecusorin
@mecusorin_twitter
@vilinski this is a paket message, nothing to do with fake. Try again in fsprojects/Paket gitter channel
mecusorin
@mecusorin_twitter
@vilinski most probably, Paket doesn't recognize the net5.0 from the restrictions tokens
Andreas Vilinski
@vilinski
thank you
yes, the problem is surely related to net5.0. But the installed paket tool has no problem with producing and parsing paket.lock file.
can it be fake-cli uses own, older paket version, different from installed one?
latest alpha of fake-cli did it, don't know why
Return null
@VoidAsync_twitter
It looks like Fake is referencing Paket 5.251, I think Paket 6 is needed for .net5 support
But I could be wrong - Paket 5.250 release notes say allow net5.0 moniker
Return null
@VoidAsync_twitter
But I am seeing similar issues as Andreas. Dotnet Paket tool works fine, but seeing crash from Paket.Lockfile.Parse being called from Fake.Runtime\FakeRuntime.fs
Florian Verdonck
@nojaf
How does <== work again for targets?
Cody Johnson
@Shmew
It defines the list of targets as needing to run before the target to the left
Florian Verdonck
@nojaf
Gotcha, thanks
Justin Wick
@JustinWick
@VoidAsync_twitter: I'm likewise having problems with fake, and it's referencing an old paket, despite the fact that I'm using paket 6.0-beta1.
I even tried upgrading to the latest fake alpha, that did not fix it.
Justin Wick
@JustinWick

I upgraded my project to use net5.0. When I run dotnet fake --version:
FAKE 5 - F# Make (5.20.4-alpha.1642+vsts.cc9c2d6e6d38fde57081cbefcd940f247425f904)
Paket.Core: 5.251.0

When I run dotnet fake build:
\build.fsx (8,5)-(8,9): Error FS0039: The namespace or module 'Fake' is not defined."

Also more errors about 'Farmer' is not defined, 'Target' is not defined, 'Path' is not defined, etc...

I'm using the SAFE Stack Template from here:
https://github.com/SAFE-Stack/SAFE-template

Is it missing some kind of assembly reference I need for 5.0? I changed my paket.dependencies to have group Build use framework "net5.0", maybe that's a mistake?

Ah, that seems to be the issue, Fake doesn't want to run in net5.0 yet, changing it back to netstandard2.0 works.
Damian Reeves
@DamianReeves
Is this still the correct area to ask questions about Fake? No activity since November seems strange
Balinth
@Balinth
This is just not such a widely used tool (which is a shame) that there is always discussion. If you look back, there was a similiar jump from july to october.
Daniel Blendea
@bdaniel7

Hi,
I'm trying to pass the version parameter to DotNet.publish, like

|> DotNet.publish (fun p ->
{ p with
OutputPath = Some publishPath
MSBuildParams = { p.MSBuildParams with
Properties = [ "/p:Version" version ]
}
Configuration = DotNet.BuildConfiguration.fromString "Release" })

but I get an error.

Daniel Blendea
@bdaniel7
Is there a way to send the version to the publish target?
Balinth
@Balinth
Well what is the error? at first sight Properties = [ "/p:Version" version ] is kind of suspect, aren't you missing a comma (meaning one item that is a tuple) or a semi colon (meaning two items)?
seanamosw
@seanamosw
@bdaniel7 Try
    "ProjectPath"
    |> DotNet.publish (fun p ->
        { p with
            OutputPath = Some "OutputPath" }
        |> DotNet.Options.withAdditionalArgs [ "-p:Version=1.0.0" ])
gsuuon
@gsuuon:matrix.org
[m]
Is there any way to get fake to be less noisy? I've passed in quiet verbosity settings to the task, and set a custom trace listener but I still get the command the task executes outputted. Is it possible to just see when a task is ran and if there are errors?
Balinth
@Balinth
@gsuuon:matrix.org you could add the commands as secrets