Skip to content
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

WIP: Modernize build #96

Closed
wants to merge 8 commits into from
Closed

WIP: Modernize build #96

wants to merge 8 commits into from

Conversation

rmunn
Copy link
Collaborator

@rmunn rmunn commented May 22, 2020

WIP to make LfMerge buildable from scratch with .NET Core SDK 3.x or higher. Uses .NET Core local tools for the build tools (like GitVersion) necessary to build, so building is as simple as doing dotnet tool restore followed by appropriate build, test, etc. commands. For simplicity, I've created a build.sh script (and will create a build.cmd script) that does the same thing.


This change is Reviewable

rmunn added 8 commits May 18, 2020 14:59
This will allow us to write the build process in a full .NET language
(specifically, F# using the https://fake.build/ tool) rather than being
constrained by the limitations of MSBuild's XML format.
This converts from NuGet packages.config files scattered all over the
project to a single paket.dependencies file at the root, and
paket.references files on a per-directory basis. Advantages:

- Single source of truth for package version restrictions
- Paket can work out version numbers in project references, allowing
  easier upgrades to package dependencies
- Paket file format is plain text, not XML. Easier to read & modify
GitVersionTask.alt is outdated (4.0.2-alpha) and no longer needed since
the official GitVersionTask package is on version 5.3.3 by now.
Also create a FKAE (https://fake.build/) script for calling
GitVersionTool and building the package version number used in the
Jenkins build.
The .NET Core SDK doesn't know to look for Mono assemblies on Linux, so
a FrameworkPathOverride is needed to make sure it finds them.
A recent change to FlexBridge includes using ###.### format for branch
numbers in Mercurial (e.g., 7500002.7000072 instead of 7000072). This is
causing some test failures in our SynchronizeAction tests, which don't
handle this change correctly. Until the tests can be brought up-to-date
with the latest changes in FlexBridge, we can just use a pinned version
from before that change was introduced.
@rmunn
Copy link
Collaborator Author

rmunn commented Aug 19, 2022

Superseded by #278 and #284, which have now been merged and released.

@rmunn rmunn closed this Aug 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant