From 43b2c07536009a9f931bf6bb15c8919672ef5239 Mon Sep 17 00:00:00 2001 From: Tristan Milnthorp Date: Tue, 11 Jul 2023 15:27:11 -0400 Subject: [PATCH] =?UTF-8?q?=E2=9A=B0=EF=B8=8FRemove=20checked-in=20tools?= =?UTF-8?q?=20requiring=20Git=20LFS=20(#1052)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitHub currently charges $5 / month due to high bandwidth of downloading tools, of which most tools are not even used except NuGet.exe. Also, checkout requires everyone to have Git LFS plugin installed. ### Changes - Delete checked in Tools folder - Download NuGet.exe in `init.ps1` script to new `.tools` folder - Change `dotnet tool install` to use `.tools` folder - Ignore `.tools` folder in Git - Update init/build/clean scripts to use NuGet.exe in new location --------- Co-authored-by: Andreas Gullberg Larsen --- .gitignore | 4 +- Build/build-functions.psm1 | 28 +- Build/build-pack-nano-nugets.psm1 | 5 +- Build/clean.ps1 | 15 +- Build/init.ps1 | 22 +- CodeGen/Generators/NanoFrameworkGenerator.cs | 4 +- README.md | 2 +- Tools/7-zip/7-zip.chm | Bin 88124 -> 0 bytes Tools/7-zip/7za.exe | 3 - Tools/7-zip/copying.txt | 504 ------------------- Tools/7-zip/license.txt | 30 -- Tools/7-zip/readme.txt | 42 -- Tools/sfk.exe | 3 - UnitsNet.sln | 11 + tools/NuGet.exe | 3 - 15 files changed, 59 insertions(+), 617 deletions(-) delete mode 100644 Tools/7-zip/7-zip.chm delete mode 100644 Tools/7-zip/7za.exe delete mode 100644 Tools/7-zip/copying.txt delete mode 100644 Tools/7-zip/license.txt delete mode 100644 Tools/7-zip/readme.txt delete mode 100644 Tools/sfk.exe delete mode 100644 tools/NuGet.exe diff --git a/.gitignore b/.gitignore index 7d6f61444c..2e6ebec7d0 100644 --- a/.gitignore +++ b/.gitignore @@ -258,6 +258,4 @@ Artifacts # Build server tooling /secure-file -/Tools/reportgenerator.exe -/Tools/.store/ -/Tools/Temp +/.tools/ diff --git a/Build/build-functions.psm1 b/Build/build-functions.psm1 index db7d096642..1f5525757c 100644 --- a/Build/build-functions.psm1 +++ b/Build/build-functions.psm1 @@ -1,14 +1,16 @@ -$root = "$PSScriptRoot\.." +$root = (Resolve-Path "$PSScriptRoot\..").Path $artifactsDir = "$root\Artifacts" -$nugetOutDir = "$root\Artifacts\NuGet" -$logsDir = "$root\Artifacts\Logs" -$testReportDir = "$root\Artifacts\TestResults" -$testCoverageDir = "$root\Artifacts\Coverage" -$nuget = "$root\Tools\NuGet.exe" +$nugetOutDir = "$artifactsDir\NuGet" +$logsDir = "$artifactsDir\Logs" +$testReportDir = "$artifactsDir\TestResults" +$testCoverageDir = "$artifactsDir\Coverage" +$toolsDir = "$root\.tools" + +$nuget = "$toolsDir\NuGet.exe" $vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" $msbuildPath = & $vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath + if ($msbuildPath) { - $msbuild = join-path $msbuildPath 'MSBuild\Current\Bin\MSBuild.exe' $msbuildx64 = join-path $msbuildPath 'MSBuild\Current\Bin\amd64\MSBuild.exe' } @@ -34,11 +36,7 @@ function Start-Build([boolean] $IncludeNanoFramework = $false) { $fileLoggerArg = "/logger:FileLogger,Microsoft.Build;logfile=$logsDir\UnitsNet.msbuild.log" - $appVeyorLoggerDll = "C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" - $appVeyorLoggerNetCoreDll = "C:\Program Files\AppVeyor\BuildAgent\dotnetcore\Appveyor.MSBuildLogger.dll" - $appVeyorLoggerArg = if (Test-Path "$appVeyorLoggerNetCoreDll") { "/logger:$appVeyorLoggerNetCoreDll" } else { "" } - - dotnet build --configuration Release /p:ContinuousIntegrationBuild=true "$root\UnitsNet.sln" $fileLoggerArg $appVeyorLoggerArg + dotnet build --configuration Release /p:ContinuousIntegrationBuild=true "$root\UnitsNet.sln" $fileLoggerArg if ($lastexitcode -ne 0) { exit 1 } if (-not $IncludeNanoFramework) @@ -49,12 +47,12 @@ function Start-Build([boolean] $IncludeNanoFramework = $false) { { write-host -foreground green "Build .NET nanoFramework." $fileLoggerArg = "/logger:FileLogger,Microsoft.Build;logfile=$logsDir\UnitsNet.NanoFramework.msbuild.log" - $appVeyorLoggerArg = if (Test-Path "$appVeyorLoggerDll") { "/logger:$appVeyorLoggerDll" } else { "" } # msbuild does not auto-restore nugets for this project type & "$nuget" restore "$root\UnitsNet.NanoFramework\GeneratedCode\UnitsNet.nanoFramework.sln" + # now build - & "$msbuildx64" "$root\UnitsNet.NanoFramework\GeneratedCode\UnitsNet.nanoFramework.sln" /verbosity:minimal /p:Configuration=Release /p:Platform="Any CPU" /p:ContinuousIntegrationBuild=true $fileLoggerArg $appVeyorLoggerArg + & "$msbuildx64" "$root\UnitsNet.NanoFramework\GeneratedCode\UnitsNet.nanoFramework.sln" /verbosity:minimal /p:Configuration=Release /p:Platform="Any CPU" /p:ContinuousIntegrationBuild=true $fileLoggerArg if ($lastexitcode -ne 0) { exit 1 } } @@ -95,7 +93,7 @@ function Start-Tests { } # Generate a summarized code coverage report for all test projects - & "Tools/reportgenerator.exe" -reports:"$root/Artifacts/Coverage/*.coverage.xml" -targetdir:"$root/Artifacts/Coverage" -reporttypes:HtmlSummary + & "$toolsDir/reportgenerator.exe" -reports:"$testCoverageDir/*.coverage.xml" -targetdir:"$testCoverageDir" -reporttypes:HtmlSummary write-host -foreground blue "Run tests...END`n" } diff --git a/Build/build-pack-nano-nugets.psm1 b/Build/build-pack-nano-nugets.psm1 index 5a3d940f4f..e1981e6ba7 100644 --- a/Build/build-pack-nano-nugets.psm1 +++ b/Build/build-pack-nano-nugets.psm1 @@ -1,6 +1,7 @@ -$root = "$PSScriptRoot\.." +$root = (Resolve-Path "$PSScriptRoot\..").Path $nugetOutDir = "$root\Artifacts\NuGet" -$nuget = "$root\Tools\NuGet.exe" +$toolsDir = "$root\.tools" +$nuget = "$toolsDir\NuGet.exe" function Invoke-BuildNanoNugets { diff --git a/Build/clean.ps1 b/Build/clean.ps1 index e1d6b46077..5136a40f69 100644 --- a/Build/clean.ps1 +++ b/Build/clean.ps1 @@ -1,7 +1,16 @@ # Don't allow using undeclared variables Set-Strictmode -version latest -$root = "$PSScriptRoot\.." +$root = (Resolve-Path "$PSScriptRoot\..").Path +$artifactsDir = "$root\Artifacts" +$toolsDir = "$root\.tools" + +Write-Host -Foreground Blue "Delete .tools" +Remove-Item -Recurse -Force -ErrorAction Ignore "$toolsDir" + +Write-Host -Foreground Blue "Delete Artifacts" +Remove-Item -Recurse -Force -ErrorAction Ignore "$artifactsDir" + Write-Host -Foreground Blue "Delete dirs: bin, obj" [int]$deleteCount = 0 @@ -20,8 +29,8 @@ if ($failedToDeleteDirs) { $failCount = $failedToDeleteDirs.Count Write-Host "" Write-Host -Foreground Red "Failed to delete $failCount dirs:" - $failedToDeleteDirs | %{ + $failedToDeleteDirs | %{ Write-Host -Foreground Red $_.FullName } exit /B 1 -} \ No newline at end of file +} diff --git a/Build/init.ps1 b/Build/init.ps1 index 9cb026c04a..bed427b0dd 100644 --- a/Build/init.ps1 +++ b/Build/init.ps1 @@ -1,17 +1,27 @@ # Don't allow using undeclared variables Set-Strictmode -version latest -$root = "$PSScriptRoot\.." +$root = (Resolve-Path "$PSScriptRoot\..").Path +$nugetPath = "$root/.tools/NuGet.exe" + Write-Host -Foreground Blue "Initializing..." # Ensure temp dir exists -$tempDir = "$root/Tools/Temp" +$tempDir = "$root/.tools/temp_init" [system.io.Directory]::CreateDirectory($tempDir) | out-null -if (-not (Test-Path "$root/Tools/reportgenerator.exe")) { - Write-Host -Foreground Blue "Download dotnet-reportgenerator-globaltool..." - dotnet tool install dotnet-reportgenerator-globaltool --tool-path Tools - Write-Host -Foreground Green "Download dotnet-reportgenerator-globaltool...OK." +# Report generator for unit test coverage reports. +if (-not (Test-Path "$root/.tools/reportgenerator.exe")) { + Write-Host -Foreground Blue "Install dotnet-reportgenerator-globaltool..." + dotnet tool install dotnet-reportgenerator-globaltool --tool-path .tools + Write-Host -Foreground Green "✅ Installed dotnet-reportgenerator-globaltool" +} + +# NuGet.exe for non-SDK style projects, like UnitsNet.nanoFramework. +if (-not (Test-Path "$nugetPath")) { + Write-Host -Foreground Blue "Downloading NuGet.exe..." + Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile $nugetPath + Write-Host -Foreground Green "✅ Downloaded NuGet.exe: $nugetPath" } ################################################### diff --git a/CodeGen/Generators/NanoFrameworkGenerator.cs b/CodeGen/Generators/NanoFrameworkGenerator.cs index c3473713a3..1753235749 100644 --- a/CodeGen/Generators/NanoFrameworkGenerator.cs +++ b/CodeGen/Generators/NanoFrameworkGenerator.cs @@ -137,7 +137,7 @@ public static bool UpdateNanoFrameworkDependencies( { StartInfo = new ProcessStartInfo { - FileName = Path.Combine(rootDir, "Tools/nuget.exe"), + FileName = Path.Combine(rootDir, ".tools/nuget.exe"), Arguments = $"restore {path}\\UnitsNet.nanoFramework.sln", UseShellExecute = false, CreateNoWindow = true, @@ -188,7 +188,7 @@ public static bool UpdateNanoFrameworkDependencies( { StartInfo = new ProcessStartInfo { - FileName = Path.Combine(rootDir, "Tools/nuget.exe"), + FileName = Path.Combine(rootDir, ".tools/NuGet.exe"), Arguments = $"update {path}\\UnitsNet.nanoFramework.sln -PreRelease", UseShellExecute = false, CreateNoWindow = true, diff --git a/README.md b/README.md index e7872947bd..d30ce11c2d 100644 --- a/README.md +++ b/README.md @@ -359,7 +359,7 @@ Read the wiki on [Serializing to JSON, XML and more](https://github.com/angulars ### Continuous Integration -[AppVeyor](https://ci.appveyor.com/project/angularsen/unitsnet) performs the following: +[Azure DevOps](https://dev.azure.com/unitsnet/Units.NET/) performs the following: * Build and test all branches * Build and test pull requests, notifies on success or error * Deploy nugets on master branch, if nuspec versions changed diff --git a/Tools/7-zip/7-zip.chm b/Tools/7-zip/7-zip.chm deleted file mode 100644 index eee875ee210ce3a5f6b8c6eb3de69cbd6928d988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88124 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 z 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 diff --git a/Tools/7-zip/7za.exe b/Tools/7-zip/7za.exe deleted file mode 100644 index 4e864c82dd..0000000000 --- a/Tools/7-zip/7za.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa252e501332b7486a972e7e471cf6915daa681af35c6aa102213921093eb2a3 -size 536064 diff --git a/Tools/7-zip/copying.txt b/Tools/7-zip/copying.txt deleted file mode 100644 index 4c3890127d..0000000000 --- a/Tools/7-zip/copying.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/Tools/7-zip/license.txt b/Tools/7-zip/license.txt deleted file mode 100644 index 2b4c60c1b4..0000000000 --- a/Tools/7-zip/license.txt +++ /dev/null @@ -1,30 +0,0 @@ - 7-Zip Command line version - ~~~~~~~~~~~~~~~~~~~~~~~~~~ - License for use and distribution - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - 7-Zip Copyright (C) 1999-2009 Igor Pavlov. - - 7za.exe is distributed under the GNU LGPL license - - Notes: - You can use 7-Zip on any computer, including a computer in a commercial - organization. You don't need to register or pay for 7-Zip. - - - GNU LGPL information - -------------------- - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA diff --git a/Tools/7-zip/readme.txt b/Tools/7-zip/readme.txt deleted file mode 100644 index 91bb3cd53e..0000000000 --- a/Tools/7-zip/readme.txt +++ /dev/null @@ -1,42 +0,0 @@ -7-Zip Command line version 4.65 -------------------------------- - -7-Zip is a file archiver with high compression ratio. -7za.exe is a standalone command line version of 7-Zip. - -7-Zip Copyright (C) 1999-2009 Igor Pavlov. - -Features of 7za.exe: - - High compression ratio in new 7z format - - Supported formats: - - Packing / unpacking: 7z, ZIP, GZIP, BZIP2 and TAR - - Unpacking only: Z - - Highest compression ratio for ZIP and GZIP formats. - - Fast compression and decompression - - Strong AES-256 encryption in 7z and ZIP formats. - -7za.exe is a free software distributed under the GNU LGPL. -Read license.txt for more information. - -Source code of 7za.exe and 7-Zip can be found at -http://www.7-zip.org/ - -7za.exe can work in Windows 95/98/ME/NT/2000/XP/2003/Vista. - -There is also port of 7za.exe for POSIX systems like Unix (Linux, Solaris, OpenBSD, -FreeBSD, Cygwin, AIX, ...), MacOS X and BeOS: - -http://p7zip.sourceforge.net/ - - - This distributive packet contains the following files: - - 7za.exe - 7-Zip standalone command line version. - readme.txt - This file. - copying.txt - GNU LGPL license. - license.txt - License information. - 7-zip.chm - User's Manual in HTML Help format. - - ---- -End of document diff --git a/Tools/sfk.exe b/Tools/sfk.exe deleted file mode 100644 index ce04b8ad51..0000000000 --- a/Tools/sfk.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:42658b4b0cd11b3b67668711cb099c3c4791804b471c0eb56a6b15564bc56705 -size 1613824 diff --git a/UnitsNet.sln b/UnitsNet.sln index 85d9824e63..d4ed6cb051 100644 --- a/UnitsNet.sln +++ b/UnitsNet.sln @@ -48,6 +48,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{71C6EF60 Build\build-functions.psm1 = Build\build-functions.psm1 Build\build-pack-nano-nugets.psm1 = Build\build-pack-nano-nugets.psm1 Build\init.ps1 = Build\init.ps1 + Build\clean.ps1 = Build\clean.ps1 + Build\bump-version.bat = Build\bump-version.bat + Build\bump-version.sh = Build\bump-version.sh + Build\bump-version-json.bat = Build\bump-version-json.bat + Build\bump-version-json.sh = Build\bump-version-json.sh + Build\codecov.sh = Build\codecov.sh + Build\set-version.psm1 = Build\set-version.psm1 + Build\set-version.sh = Build\set-version.sh + Build\set-version-json.sh = Build\set-version-json.sh + Build\set-version-UnitsNet.ps1 = Build\set-version-UnitsNet.ps1 + Build\set-version-UnitsNet.Serialization.JsonNet.ps1 = Build\set-version-UnitsNet.Serialization.JsonNet.ps1 EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerfTest_Startup", "PerfTests\PerfTest_Startup\PerfTest_Startup.csproj", "{BFF3DD22-0F58-4E79-86CD-662D1A174224}" diff --git a/tools/NuGet.exe b/tools/NuGet.exe deleted file mode 100644 index 81d69159d8..0000000000 --- a/tools/NuGet.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04eb6c4fe4213907e2773e1be1bbbd730e9a655a3c9c58387ce8d4a714a5b9e1 -size 7034784