Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
7a08ccf
Create Nuget packages
TobiasNickelWycliff Jul 8, 2020
369f11b
Fix InitializeIcuAttribute
ermshiperete Jul 28, 2020
9dd5631
Update readme
ermshiperete Jul 28, 2020
543886c
Cleanup visibility of internal classes in SIL.LCModel.Build.Tasks
ermshiperete Aug 3, 2020
468265e
Improve nuget package descriptions
ermshiperete Aug 3, 2020
e0f7f08
Include .props file in SIL.LCModel.Build.Tasks nuget package
ermshiperete Aug 3, 2020
de48b97
[SIL.LCModel.Build.Tasks] Embed dependencies in nuget package
ermshiperete Aug 3, 2020
f22385e
[SIL.LCModel.Build.Tasks] Embed Newtonsoft.Json as well
ermshiperete Aug 3, 2020
a034e75
Package SIL.LCModel.Core.Tests
ermshiperete Aug 4, 2020
a1b9038
Remove x64/x86 from solution
ermshiperete Aug 4, 2020
2b72646
Include content files in SIL.LCModel nuget package
ermshiperete Aug 4, 2020
3f3b7f4
Remove unnecessary references
TobiasNickelWycliff Aug 5, 2020
913e3f6
Make SIL.LCModel.Utils.Tests packable
TobiasNickelWycliff Aug 5, 2020
6162baf
Update reference of SIL.Core to version 8.0.0-beta0160
TobiasNickelWycliff Aug 7, 2020
a006738
Add SIL.LCModel.props file to nuget package
ermshiperete Aug 5, 2020
2e69889
Fix build scripts
ermshiperete Aug 6, 2020
2780c39
Include SIL.LCModel.Core.config file in package
ermshiperete Aug 7, 2020
e7972ff
Include KernelInterfaces files in SIL.LCModel.Core in nuget package
ermshiperete Aug 7, 2020
8bf064b
Add item for KernelInterfaces files
ermshiperete Aug 7, 2020
061f938
Update dependencies
ermshiperete Oct 5, 2020
2148419
Improve reliability of unit tests
ermshiperete Oct 5, 2020
078b018
[BuildTasks] Improve IDLImp error and warning reporting
ermshiperete Oct 14, 2020
c2baf6c
[BuildTasks] Update SIL.IdlImporter package
ermshiperete Oct 14, 2020
1b2126e
[Core] Also include *.json file in nuget package
ermshiperete Oct 14, 2020
8745ba0
[Core] Fix location of *.json file when packaging
ermshiperete Oct 14, 2020
a4c6b7b
[Core] Define item for *.json file
ermshiperete Oct 14, 2020
dca57b8
[Core] Improve content of SilLcModelCoreKernelInterfaces item
ermshiperete Oct 14, 2020
3444916
[BuildTasks] Add HandGeneratedDir attribute to LcmGenerate
ermshiperete Oct 16, 2020
d53812a
[LCModel] Include handgeneration config files in nuget package
ermshiperete Oct 16, 2020
aa7782e
[BuildTasks] Fix previous commit
ermshiperete Oct 16, 2020
aa8f5aa
[BuildTasks] Update NVelocity dependency
ermshiperete Oct 16, 2020
365e4ee
[BuildTasks] Include NVelocity.dll in nuget package
ermshiperete Oct 16, 2020
39b26ec
[Core] Fix .props file
ermshiperete Nov 6, 2020
bb55e66
Add IcuData files and property to the NuGet package
jasonleenaylor Dec 11, 2020
82ce6a5
Copy the .txt files correctly into the expected folders
jasonleenaylor Dec 17, 2020
4efdcf0
Don't automatically copy files from Icu4c
ermshiperete Dec 18, 2020
e8ec7fa
Updated to use latest beta versions of libpalaso DLLs
tombogle Dec 18, 2020
ce281a0
Don't copy files from Icu4c.Win.Fw to output directory (#169)
ermshiperete Dec 18, 2020
3b0c85d
Always use the latest palaso dependencies
papeh Dec 18, 2020
c3c9b72
Merge pull request #168 from sillsdev/upgrade-to-latest-libpalaso-bet…
tombogle Jan 6, 2021
8d7222a
Copy packages to the local nuget repository (#170)
papeh Jan 6, 2021
9f9c5f7
Deprecated some properties that are in SIL.Core
ermshiperete Jan 19, 2021
749c90f
Update NUnit to 3.13
ermshiperete Jan 20, 2021
20be60c
Update GitVersionTask
ermshiperete Jan 21, 2021
c613d34
Enable verbose mode for Icu.Wrapper in tests
ermshiperete Jan 22, 2021
5518b49
Add AppVeyor configuration file
ermshiperete Jan 28, 2021
daedead
Update to latest icu4c nuget package (#177)
jasonleenaylor Feb 2, 2021
35a6935
Avoid automatic copying of icu libs for clients (#181)
jasonleenaylor Feb 5, 2021
4970f3f
Update dependencies
ermshiperete Apr 26, 2021
e4fa6f4
Merge branch 'develop' into feature/nuget
ermshiperete Apr 26, 2021
3b9ad95
Update copyright year
ermshiperete Apr 27, 2021
2fe782e
Fix GitVersion.yml
ermshiperete Apr 27, 2021
95f0c20
Update dependency
ermshiperete Apr 27, 2021
3a1f66d
Fix merge errors
ermshiperete Apr 27, 2021
fbf192d
Merge branch 'develop' into feature/nuget
ermshiperete Jul 13, 2021
36f4c96
Update GitVersion.MsBuild
ermshiperete Jul 13, 2021
6aa059b
Fix failing tests on Linux
ermshiperete Jul 14, 2021
2575a16
Use Mono 6
ermshiperete Jul 15, 2021
8f3710d
Update readme
ermshiperete Jul 14, 2021
f1235fa
Merge branch 'develop' into feature/nuget
ermshiperete Aug 13, 2021
449eb42
Adjustments for `develop` branch
ermshiperete Aug 9, 2021
abc7267
Merge remote-tracking branch 'origin/develop' into develop
ermshiperete Sep 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Change Log

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

<!-- Available types of changes:
### Added
### Changed
### Fixed
### Deprecated
### Removed
### Security
-->

## [Unreleased]

### Changed

- Create nuget packages
- [SIL.LCModel.Build.Tasks] `IdlImp` task now reports errors and warnings through msbuild logger
instead of console
- [SIL.LCModel.Build.Tasks] `LcmGenerate` task now allows to specify location that contains
`HandGenerated.xml` and `IntPropTypeOverrides.xml` files (`HandGeneratedDir` property)

### Deprecated

- [SIL.LCModel.Utils] `MiscUtils.RunProcess` is deprecated in favor of
`ProcessExtensions.RunProcess`
- [SIL.LCModel.Utils] `MiscUtils.IsWindows`, `MiscUtils.IsUnix`, `MiscUtils.IsMac`,
`MiscUtils.IsMono`, and `MiscUtils.IsDotNet` are deprecated in favor of the corresponding
`Process.Is*` properties

[Unreleased]: https://github.com/sillsdev/liblcm/compare/v9.0.0...develop
19 changes: 0 additions & 19 deletions CommonAssemblyInfo.cs

This file was deleted.

7 changes: 7 additions & 0 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyPackage" AfterTargets="Pack" Condition="'$(LOCAL_NUGET_REPO)'!='' AND '$(IsPackable)'=='true'">
<Copy SourceFiles="$(PackageOutputPath)/$(PackageId).$(PackageVersion).nupkg"
DestinationFolder="$(LOCAL_NUGET_REPO)"/>
</Target>
</Project>
27 changes: 27 additions & 0 deletions GitVersion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
mode: ContinuousDeployment
increment: Patch
assembly-versioning-scheme: MajorMinor
branches:
master:
tag: beta
regex: (origin/)?(master)
is-mainline: true
develop:
tag: unstable
regex: (origin/)?develop
is-mainline: true
hotfix:
tag: beta
regex: (origin/)?hotfix[/-]
increment: Patch
prevent-increment-of-merged-branch-version: false
track-merge-target: false
tracks-release-branches: false
is-release-branch: false
pull-request:
mode: ContinuousDeployment
tag: PR
feature:
regex: feature[/-]
mode: ContinuousDeployment
tag: alpha
145 changes: 17 additions & 128 deletions LCM.sln

Large diffs are not rendered by default.

72 changes: 41 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,65 @@
LCModel Library
===============
# LCModel Library

Description
-----------
## Description

The library for the SIL Language and Culture Model.
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.

Instructions
------------
The liblcm library is the core [FieldWorks](https://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.

## Instructions

1. Install Required Software
- git
- Visual Studio 2017 or MonoDevelop

- git
- Visual Studio 2019 (with C++), MonoDevelop, or JetBrains Rider

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

- Open a terminal (or git bash on Windows) and cd into a desired directory.
- Run `git clone https://github.com/sillsdev/liblcm.git`

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

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

**On Linux**
- Run `build.sh` to build the liblcm library.
On Windows:

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

On Linux:

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

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

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:
```bash
build.(cmd|sh) (Debug|Release)
```

build.(cmd|sh) Debug Build True
## Debugging

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

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

Tests
-----
## Tests

**On Linux**
### Linux

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

**On Windows with ReSharper**

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