Skip to content
Merged

V7 #11

Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/package_version.env
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PI_MAJOR_VERSION=7
PI_MINOR_VERSION=0
PI_BUILD_VERSION=0
PI_MINOR_VERSION=1
PI_BUILD_VERSION=1
PI_DEPENDENCIES_SUFFIX=-*
16 changes: 8 additions & 8 deletions .github/workflows/build-test-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ on:
description: 'The package deployment suffix'
required: true
options:
- preview
- er
- rc
- release
default: preview
default: er
registry:
type: choice
description: 'The package registry'
Expand Down Expand Up @@ -59,9 +59,9 @@ jobs:
continue-on-error: false

# Build Number
# Establish a unique build number for current run YYMMDD{RUN_NUMBER}{RUN_ATTEMPT} e.g. 2201032602
# Establish a unique build number for current run YYMMDD{RUN_NUMBER}{RUN_ATTEMPT}
- name: Build Number
run: echo "PI_BUILD_NUMBER=$(date +'%-d%-m%y')${{ github.run_number }}" >> $GITHUB_ENV
run: echo "PI_BUILD_NUMBER=$(date +'%y%m%d')${{ github.run_number }}${{ github.run_attempt }}" >> $GITHUB_ENV
continue-on-error: false

# Setup preview package versions based on trigger
Expand All @@ -71,11 +71,11 @@ jobs:
run: echo "PI_CI_PACKAGE_VERSION=${{ env.PI_MAJOR_VERSION }}.${{ env.PI_MINOR_VERSION }}.${{ env.PI_BUILD_VERSION }}-rc.${{ env.PI_BUILD_NUMBER }}" >> $GITHUB_ENV
continue-on-error: false

# Setup preview package versions
# Format: <package>.2.3.6-preview.2201032602
# Setup engineering package versions
# Format: <package>.2.3.6-er.2201032602
- name: Preview metadata
if: ${{ github.event.inputs.suffix == 'preview' }}
run: echo "PI_CI_PACKAGE_VERSION=${{ env.PI_MAJOR_VERSION }}.${{ env.PI_MINOR_VERSION }}.${{ env.PI_BUILD_VERSION }}-preview.${{ env.PI_BUILD_NUMBER }}" >> $GITHUB_ENV
if: ${{ github.event.inputs.suffix == 'er' }}
run: echo "PI_CI_PACKAGE_VERSION=${{ env.PI_MAJOR_VERSION }}.${{ env.PI_MINOR_VERSION }}.${{ env.PI_BUILD_VERSION }}-er.${{ env.PI_BUILD_NUMBER }}" >> $GITHUB_ENV
continue-on-error: false

# Setup rc package versions
Expand Down
22 changes: 11 additions & 11 deletions NOTICE.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# NOTICE

_Last updated: April 4, 2025_
_Last updated: April 21, 2026_

This project utilizes the following open-source frameworks, tools, and libraries:
This project uses the following open-source frameworks, tools, and libraries:

> **Note:** Only direct dependencies are listed below. Transitive dependencies of NuGet packages are not explicitly included.
> **Note:** Only direct dependencies are listed. Transitive NuGet dependencies are not included.

We extend our sincere thanks to the developers and maintainers of these open-source components for their valuable contributions to the community.
We thank the developers and maintainers of these components for their contributions.

## Frameworks
- .NET Framework 4.8
- .NET Standard 2.0
- .NET Standard 2.1
- .NET 8 and later
- .NET Framework 4.6.1+
- .NET 8+

## Libraries
- [xUnit](https://xunit.net/) — Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
- [coverlet.collector](https://www.nuget.org/packages/coverlet.collector) — Licensed under the [MIT License](https://opensource.org/licenses/MIT)
- [FluentAssertions v7](https://www.nuget.org/packages/FluentAssertions) — Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
- [Report Generator](https://github.com/danielpalme/ReportGenerator) — Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
- [Moq](https://github.com/moq/moq4) — Licensed under the [BSD-3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
- [xUnit](https://github.com/xunit/xunit) — [License](https://github.com/xunit/xunit/blob/main/LICENSE)
- [coverlet.collector](https://github.com/coverlet-coverage/coverlet) — [License](https://github.com/coverlet-coverage/coverlet/blob/master/LICENSE)
- [FluentAssertions](https://github.com/fluentassertions/fluentassertions) — [License](https://github.com/fluentassertions/fluentassertions/blob/master/LICENSE)
- [ReportGenerator](https://github.com/danielpalme/ReportGenerator) — [License](https://github.com/danielpalme/ReportGenerator/blob/main/LICENSE.txt)
- [DocFX](https://github.com/dotnet/docfx) — [License](https://github.com/dotnet/docfx/blob/main/LICENSE)
57 changes: 0 additions & 57 deletions Shared.All.Solution.sln

This file was deleted.

17 changes: 17 additions & 0 deletions Shared.All.Solution.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Solution>
<Folder Name="/build/">
<File Path="build/props/Package.props" />
<File Path="build/props/Test.props" />
<File Path="global.json" />
<File Path="HISTORY.md" />
<File Path="NOTICE.md" />
<File Path="README.md" />
</Folder>
<Folder Name="/src/">
<Project Path="src/OneImlx.Shared/OneImlx.Shared.csproj" />
<Project Path="src/OneImlx.Test/OneImlx.Test.csproj" />
</Folder>
<Folder Name="/test/">
<Project Path="test/OneImlx.Shared.Tests/OneImlx.Shared.Tests.csproj" />
</Folder>
</Solution>
21 changes: 5 additions & 16 deletions build/props/Test.props
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,12 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageReference Include="coverlet.collector" Version="6.0.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="FluentAssertions" Version="8.10.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.5.1" />
<PackageReference Include="coverlet.collector" Version="10.0.1" />
<PackageReference Include="xunit.v3" Version="3.2.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>

<!--
Do not upgrade. This is the last version (7.x.x) with Apache 2.0 license.
-->
<ItemGroup>
<PackageReference Include="FluentAssertions" Version="[7.2.0]" />
</ItemGroup>
</Project>

2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "10.0.100",
"version": "10.0.203",
"allowPrerelease": false,
"rollForward": "latestMajor"
}
Expand Down
23 changes: 15 additions & 8 deletions src/OneImlx.Shared/Licensing/ProductCatalog.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
/*
Copyright © 2019-2025 Perpetual Intelligence L.L.C. All rights reserved.
// Copyright © 2019-2026 Perpetual Intelligence L.L.C. All rights reserved.
// For license, terms, and data policies, go to:
// https://terms.perpetualintelligence.com/articles/intro.html

For license, terms, and data policies, go to:
https://terms.perpetualintelligence.com/articles/intro.html
*/

using System.Collections.Generic;
using OneImlx.Shared.Infrastructure;
using System.Collections.Generic;

namespace OneImlx.Shared.Licensing
{
Expand Down Expand Up @@ -55,6 +52,10 @@ public static string GetPlanDisplayName(string product, string plan)
{
return "Corporate";
}
case ProductCatalog.TerminalPlanExtension:
{
return "Extension";
}
default:
{
return "Custom";
Expand Down Expand Up @@ -134,6 +135,11 @@ public static bool IsValidPlan(string product, string plan)
/// </summary>
public const string TerminalPlanSolo = "urn:oneimlx:terminal:plan:solo";

/// <summary>
/// The extension plan for <see cref="TerminalFramework"/>.
/// </summary>
public const string TerminalPlanExtension = "urn:oneimlx:terminal:plan:extension";

/// <summary>
/// A mapping of products to their available license plans.
/// </summary>
Expand All @@ -148,6 +154,7 @@ public static bool IsValidPlan(string product, string plan)
TerminalPlanSmb,
TerminalPlanEnterprise,
TerminalPlanCorporate,
TerminalPlanExtension,
TerminalPlanCustom
}
}
Expand All @@ -161,4 +168,4 @@ public static bool IsValidPlan(string product, string plan)
{ TerminalFramework, "Cross-Platform Terminal Framework (OneImlx.Terminal)" }
};
}
}
}
4 changes: 2 additions & 2 deletions src/OneImlx.Shared/OneImlx.Shared.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

<ItemGroup>
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="System.Text.Json" Version="10.0.0" />
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.14.0" />
<PackageReference Include="System.Text.Json" Version="10.0.8" />
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.18.0" />
</ItemGroup>
</Project>
2 changes: 1 addition & 1 deletion src/OneImlx.Shared/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
The shared package for Perpetual Intelligence® frameworks, AI, and developer tools.
The shared package for Perpetual Intelligence® LLC frameworks, AI, and developer tools.

For more information see our [GitHub](https://github.com/perpetualintelligence/shared).
27 changes: 8 additions & 19 deletions src/OneImlx.Test/FluentAssertions/AssemblyFluentAssertions.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
/*
Copyright © 2019-2025 Perpetual Intelligence L.L.C. All rights reserved.

For license, terms, and data policies, go to:
https://terms.perpetualintelligence.com/articles/intro.html
*/
// Copyright © 2019-2026 Perpetual Intelligence L.L.C. All rights reserved.
// For license, terms, and data policies, go to:
// https://terms.perpetualintelligence.com/articles/intro.html

using System;
using System.Collections.Generic;
Expand All @@ -13,7 +10,7 @@
using System.Runtime.CompilerServices;
using FluentAssertions;
using FluentAssertions.Execution;
using FluentAssertions.Reflection;
using FluentAssertions.Types;
using OneImlx.Shared.Infrastructure;

namespace OneImlx.Test.FluentAssertions
Expand All @@ -32,10 +29,7 @@ public static AndConstraint<AssemblyAssertions> HaveTypesInRootNamespace(this As
{
var assembly = assertions.Subject;
var actualNamespace = assembly.GetName().Name ?? throw new InvalidOperationException("Assembly name null");

Execute.Assertion
.ForCondition(actualNamespace == rootNamespace)
.FailWith($"Assembly '{assembly.GetName().Name}' does not have root namespace '{rootNamespace}'.");
actualNamespace.Should().Be(rootNamespace, $"Assembly '{assembly.GetName().Name}' should have root namespace '{rootNamespace}'");

var types = assembly.GetTypes().Where(e => !IsCompilerGenerated(e));
var invalidTypes = types.Where(e =>
Expand Down Expand Up @@ -81,13 +75,8 @@ public static AndConstraint<AssemblyAssertions> HaveTypesInValidLocations(this A
var testDir = Path.Combine(rootPath, "test");
var srcDir = Path.Combine(rootPath, "src");

Execute.Assertion
.ForCondition(Directory.Exists(testDir))
.FailWith("'test' directory not found. path={0}", rootPath);

Execute.Assertion
.ForCondition(Directory.Exists(srcDir))
.FailWith("'src' directory not found. path={0}", rootPath);
Directory.Exists(testDir).Should().BeTrue("'test' directory not found. path={0}", rootPath);
Directory.Exists(srcDir).Should().BeTrue("'src' directory not found. path={0}", rootPath);

IEnumerable<string?> namespaces = assembly.GetTypes()
.Where(e => !IsCompilerGenerated(e))
Expand Down Expand Up @@ -276,4 +265,4 @@ private static bool IsDelegate(Type type)
return type.IsSubclassOf(typeof(Delegate));
}
}
}
}
Loading
Loading