15below / build.tools Goto Github PK
View Code? Open in Web Editor NEWBuild.Tools
License: MIT License
Build.Tools
License: MIT License
Is it possible to restore all solution-level and project-level NuGet packages with predefined command of Build.Tools?
Thanks.
Hello again,
We have our project YaccConstructor on TeamCity server.
I tried to execute .bat file that contains all steps of building our project.
The first step is restoring all packages using Build.Tools. After that I got the following error in log:
error FS0082: Could not resolve this reference. Could not locate the assembly "System.IO.Compression.dll"
It seems, that there is no such dll on the server. So I included it
on my own and got the next error:
error FS0193: internal error: Could not load type 'System.IO.Compression.CompressionLevel' from assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
Is this dll really nesessary for Build.Tools or for Fake from @forki? And do you know how to solve this problem?
Thanks!
Hello,
I have a little problem with loading fsx scripts. I have your repo locally on my computerwith all scripts and my own script in the same directory. My script use one of yours (#load Core.fsx) and FakeLib.dll (#r @"Fake/FakeLib.dll"). But it works only if my scripts is next to yours. If I want my script to be in the other directory I get an error "Assembly reference Fake/FakeLib.dll was not found or is invalid" (if the path to FakeLib.dll and to Core.fsx is correct). No dout, it's true because there is no such dll file, as my script is in the new directory. But I don' know how to solve problems with paths..
What should I do to put my own scripts in the directory that I want?
Thanks!
For clean an build FAKE/build.tools generate next commands for my project and my server:
msbuild YaccConstructor.WithoutTests.sln /t:Clean /m:4 /v:q /p:Optimize="True" /p:DebugSymbols="True" /p:Configuration="Release" /logger:Fake.MsBuildLogger+TeamCityLogger,"D:\projects\YC\tmp\recursive-ascent\tools\Build.Tools\Fake\FakeLib.dll" /logger:Fake.MsBuildLogger+ErrorLogger,"D:\projects\YC\tmp\recursive-ascent\tools\Build.Tools\Fake\FakeLib.dll"
msbuild YaccConstructor.WithoutTests.sln /t:Build /m:4 /v:q /p:Optimize="True" /p:DebugSymbols="True" /p:Configuration="Release" /logger:Fake.MsBuildLogger+TeamCityLogger,"D:\projects\YC\tmp\recursive-ascent\tools\Build.Tools\Fake\FakeLib.dll" /logger:Fake.MsBuildLogger+ErrorLogger,"D:\projects\YC\tmp\recursive-ascent\tools\Build.Tools\Fake\FakeLib.dll"
Clean is success, but on build I get error:
MSBUILD : error MSB4166: Child node "4" exited prematurely. Shutting down. Diagnostic information may be found in files in the temporary files directory named
MSBuild_*.failure.txt.
Content of *failure.txt:
UNHANDLED EXCEPTIONS FROM PROCESS 6164:
=====================
26.03.2014 12:11:43
Microsoft.Build.Shared.InternalErrorException: MSB0001: Internal MSBuild Error: Node 4 does not have a provider.
at Microsoft.Build.CommandLine.MSBuildApp.BuildProject(String projectFile, String[] targets, String toolsVersion, Dictionary`2 globalProperties, ILogger[] loggers, LoggerVerbosity verbosity, DistributedLoggerRecord[] distributedLoggerRecords, Boolean needToValidateProject, String schemaFile, Int32 cpuCount, Boolean enableNodeReuse, TextWriter preprocessWriter, Boolean debugger, Boolean detailedSummary)
at Microsoft.Build.CommandLine.MSBuildApp.Execute(String commandLine)
at Microsoft.Build.CommandLine.MSBuildApp.Main()
===================
Seems, that it is a MSBuild problem, because if I manually specify /m:1 or remove last of two specified loggers (and set /m:4) then all works. May be it is possible to provide interface to specify /m or specify only one logger.
Thanks.
May be is error in Fake lib but I'm not shure.
I whant ot compile my solution with next comand line:
..\tools\Build.Tools\Fake\FAKE.exe ..\tools\Build.Tools\Core.fsx "tools=..\tools\Build.Tools" "target=Solution:Build" "solution=YaccConstructor.WithoutTests.sln"
Packages restore target finished successfully and the next I get this error:
Finished Target: Packaging:Restore
C:\Program Files (x86)\Git\bin\git.exe status
Running build failed.
Error:
System.ArgumentException: The input sequence was empty.
Parameter name: source
at Microsoft.FSharp.Collections.SeqModule.Head[T](IEnumerable`1 source)
at Fake.Git.Information.getBranchName(String repositoryDir) in D:\BuildAgent-01\work\7c94b030153a768a\src\app\FakeLib\Git\Information.fs:line 10
at FSI_0003.Versioning.constructVersions(FSharpMap`2 config, String file) in D:\projects\YC\recursive-ascent\tools\Build.Tools\Versioning.fsx:line 24
at FSI_0003.Versioning.updateAssemblyInfo(FSharpMap`2 config, String file) in D:\projects\YC\recursive-ascent\tools\Build.Tools\Versioning.fsx:line 53
at [email protected](String file) in D:\projects\YC\recursive-ascent\tools\Build.Tools\Versioning.fsx:line 71
at Microsoft.FSharp.Collections.SeqModule.Iterate[T](FSharpFunc`2 action, IEnumerable`1 source)
at [email protected](Unit arg10@) in D:\projects\YC\recursive-ascent\tools\Build.Tools\Core.fsx:line 35
at Fake.TargetHelper.runTarget@245(String targetName) in D:\BuildAgent-01\work\7c94b030153a768a\src\app\FakeLib\TargetHelper.fs:line 256
I can provide any additional information if required.
Thanks.
Where exactly should I put my [something].Tests.dll?
At first all Test dll were in output directory. We have our own output directory for all dll files, not standard such as [something].Tests/bin/Release/[something].Tests.dll. But it didn't work.
After that I changed output directory to standard, but got the same result.
May be some key words must be in line:
tools\Fake\FAKE.exe tools\Core.fsx "tools=tools" "solution=src\MySolution.sln"
Thanks!
As part of converting our repositories to use paket, I'd like to create a paket branch of build.tools (having support for both combined is proving increasingly awkward).
Given that paket itself supports github references by branch, my current thinking is that the repository being built will contain a copy of the paket bootstrapper, and then this repository will be referenced as a normal paket dependency. There will be no need to include any binaries here as those can be grabbed by paket as well as part of the install.
At first I'll leave master assuming that nuget will be used, but this probably means that once we have finished the conversion process we will discontinue nuget support (while obviously offering instructions on how to upgrade, given we'll be fairly expert at it by then).
I think this gives us a number of advantages:
Does the idea seem to sane to everyone, or are there any concerns/questions?
cc @Yewridge @kolektiv @kjnilsson @zzdtri
Is it possible to restore all solution-level and project-level NuGet packages with predefined command of Build.Tools?
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.