Skip to content

Commit cf3a952

Browse files
authored
Merge feature/nuget into develop (#191)
Merge `feature/nuget` into `develop`
2 parents b22fb5e + abc7267 commit cf3a952

165 files changed

Lines changed: 5606 additions & 4068 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Change Log
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](http://keepachangelog.com/)
6+
and this project adheres to [Semantic Versioning](http://semver.org/).
7+
8+
<!-- Available types of changes:
9+
### Added
10+
### Changed
11+
### Fixed
12+
### Deprecated
13+
### Removed
14+
### Security
15+
-->
16+
17+
## [Unreleased]
18+
19+
### Changed
20+
21+
- Create nuget packages
22+
- [SIL.LCModel.Build.Tasks] `IdlImp` task now reports errors and warnings through msbuild logger
23+
instead of console
24+
- [SIL.LCModel.Build.Tasks] `LcmGenerate` task now allows to specify location that contains
25+
`HandGenerated.xml` and `IntPropTypeOverrides.xml` files (`HandGeneratedDir` property)
26+
27+
### Deprecated
28+
29+
- [SIL.LCModel.Utils] `MiscUtils.RunProcess` is deprecated in favor of
30+
`ProcessExtensions.RunProcess`
31+
- [SIL.LCModel.Utils] `MiscUtils.IsWindows`, `MiscUtils.IsUnix`, `MiscUtils.IsMac`,
32+
`MiscUtils.IsMono`, and `MiscUtils.IsDotNet` are deprecated in favor of the corresponding
33+
`Process.Is*` properties
34+
35+
[Unreleased]: https://github.com/sillsdev/liblcm/compare/v9.0.0...develop

CommonAssemblyInfo.cs

Lines changed: 0 additions & 19 deletions
This file was deleted.

Directory.Build.targets

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Target Name="CopyPackage" AfterTargets="Pack" Condition="'$(LOCAL_NUGET_REPO)'!='' AND '$(IsPackable)'=='true'">
4+
<Copy SourceFiles="$(PackageOutputPath)/$(PackageId).$(PackageVersion).nupkg"
5+
DestinationFolder="$(LOCAL_NUGET_REPO)"/>
6+
</Target>
7+
</Project>

GitVersion.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
mode: ContinuousDeployment
2+
increment: Patch
3+
assembly-versioning-scheme: MajorMinor
4+
branches:
5+
master:
6+
tag: beta
7+
regex: (origin/)?(master)
8+
is-mainline: true
9+
develop:
10+
tag: unstable
11+
regex: (origin/)?develop
12+
is-mainline: true
13+
hotfix:
14+
tag: beta
15+
regex: (origin/)?hotfix[/-]
16+
increment: Patch
17+
prevent-increment-of-merged-branch-version: false
18+
track-merge-target: false
19+
tracks-release-branches: false
20+
is-release-branch: false
21+
pull-request:
22+
mode: ContinuousDeployment
23+
tag: PR
24+
feature:
25+
regex: feature[/-]
26+
mode: ContinuousDeployment
27+
tag: alpha

LCM.sln

Lines changed: 17 additions & 128 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 41 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,65 @@
1-
LCModel Library
2-
===============
1+
# LCModel Library
32

4-
Description
5-
-----------
3+
## Description
64

75
The library for the SIL Language and Culture Model.
8-
The liblcm library is the core [FieldWorks](github.com/sillsdev/FieldWorks) model for linguistic analyses of languages. Tools in this library provide the ability to store and interact with language and culture data, including anthropological, text corpus, and linguistics data.
96

10-
Instructions
11-
------------
7+
The liblcm library is the core [FieldWorks](https://github.com/sillsdev/FieldWorks) model for
8+
linguistic analyses of languages. Tools in this library provide the ability to store and interact
9+
with language and culture data, including anthropological, text corpus, and linguistics data.
10+
11+
## Instructions
1212

1313
1. Install Required Software
14-
- git
15-
- Visual Studio 2017 or MonoDevelop
14+
15+
- git
16+
- Visual Studio 2019 (with C++), MonoDevelop, or JetBrains Rider
1617

1718
2. Clone the liblcm repository
18-
- Open a terminal (or git bash on Windows) and cd into a desired directory.
19-
- Run `git clone https://github.com/sillsdev/liblcm.git`
19+
20+
- Open a terminal (or git bash on Windows) and cd into a desired directory.
21+
- Run `git clone https://github.com/sillsdev/liblcm.git`
2022

2123
3. Build liblcm
22-
- cd into the directory of the cloned liblcm repository.
2324

24-
**On Windows**, `LCM.sln` can be built from within Visual Studio, or
25-
- Open Visual Studio Developer Command Prompt.
26-
- Run `build.cmd` to build the liblcm library.
25+
- cd into the directory of the cloned liblcm repository.
2726

28-
**On Linux**
29-
- Run `build.sh` to build the liblcm library.
27+
On Windows:
3028

31-
By default, this will build liblcm in the Debug configuration.
32-
To build with a different configuration, use:
29+
- Run the appropriate `vsvars*.bat`. Alternatively, `LCM.sln` can be built from within Visual Studio.
30+
- Run `build.cmd` to build the liblcm library.
31+
32+
On Linux:
3333

34-
build.(cmd|sh) (Debug|Release)
34+
- Run `build.sh` to build the liblcm library.
3535

36-
Debugging
37-
---------
36+
By default, this will build liblcm in the Debug configuration.
37+
To build with a different configuration, use:
3838

39-
The LCModel library depends on multiple libpalaso files that are downloaded automatically by triggering the build script. The option to build liblcm using locally built dependencies is also available to assist with debugging. Copy all of the relevent files from the libpalaso output folder into the lib/downloads folder in liblcm, then build with the command:
39+
```bash
40+
build.(cmd|sh) (Debug|Release)
41+
```
4042

41-
build.(cmd|sh) Debug Build True
43+
## Debugging
4244

43-
Build a 64-bit build with the command:
45+
The LCModel library consumes multiple libpalaso files as NuGet packages. FieldWorks and other
46+
projects consume LCModel as a NuGet package. Several options to debug across NuGet dependencies are
47+
discussed on [this wiki](https://github.com/sillsdev/libpalaso/wiki/Developing-with-locally-modified-nuget-packages).
48+
To publish and consume LCModel through local sources:
4449

45-
build.(cmd|sh) Debug Build False x64
50+
- Set an environment variable `LOCAL_NUGET_REPO` with the path to a folder on your computer (or
51+
local network) to publish locally-built packages
52+
- See [these instructions](https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds)
53+
to enable local package sources
54+
- `build /t:pack` will pack nuget packages and publish them to `LOCAL_NUGET_REPO`
4655

47-
Tests
48-
-----
56+
## Tests
4957

50-
**On Linux**
58+
### Linux
5159

52-
(. environ && cd artifacts/Debug/ && ICU_DATA="IcuData/" nunit-console SIL.LCModel*Tests.dll )
60+
```bash
61+
(. environ && cd artifacts/Debug/net461/ && ICU_DATA="IcuData/icudt54l" nunit-console SIL.LCModel*Tests.dll )
62+
```
5363

5464
**On Windows with ReSharper**
5565

@@ -66,4 +76,4 @@ Tests
6676
4. Execute: "..\..\packages\NUnit.ConsoleRunner.3.9.0\tools\nunit3-console.exe" SIL.LCModel.Tests.dll
6777
(Or specify one of the other SIL.LCModel*Tests.dll)
6878
5. To debug the tests from Visual Studio; Immediately after the tests have started
69-
running "Attach to Process..." and select 'nunit-agent.exe'.
79+
running "Attach to Process..." and select 'nunit-agent.exe'.

0 commit comments

Comments
 (0)