Skip to content

Commit

Permalink
Include core quantities in Atmoos namespace (#83)
Browse files Browse the repository at this point in the history
  • Loading branch information
atmoos authored May 18, 2024
2 parents 15d3946 + 53c1676 commit f1d9572
Show file tree
Hide file tree
Showing 138 changed files with 666 additions and 350 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/publish-library.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Publish Library to NuGet

on:
workflow_call:
inputs:
tag-prefix:
required: true
type: string
project-path:
required: true
type: string

env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
DotNetVersion: 8.0.x

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DotNetVersion }}
- uses: tedd/publish-nuget-neo@v1
with:
NUGET_KEY: ${{secrets.PUSH_NEW_QUANTITY_VERSION}}
PROJECT_FILE_PATH: ${{inputs.project-path}}
TAG_COMMIT: true
TAG_FORMAT: ${{inputs.tag-prefix}}/v*
29 changes: 7 additions & 22 deletions .github/workflows/publish-quantities.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,12 @@ on:
types: [closed]
branches: [ "main" ]
paths:
- '**/Quantities.csproj'

env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
Prefix: 'quantities'
Project: 'source/Quantities/Quantities.csproj'
DotNetVersion: 8.0.x
- '**/Atmoos.Quantities.csproj'

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DotNetVersion }}
- uses: tedd/publish-nuget-neo@v1
with:
NUGET_KEY: ${{secrets.PUSH_NEW_QUANTITY_VERSION}}
PROJECT_FILE_PATH: ${{env.Project}}
TAG_COMMIT: true
TAG_FORMAT: ${{env.Prefix}}/v*
publish-quantities:
uses: ./.github/workflows/publish-library.yml
with:
project-path: 'source/Atmoos.Quantities/Atmoos.Quantities.csproj'
tag-prefix: 'quantities'
secrets: inherit
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
</div>
<!-- markdownlint-enable MD033 MD041 -->

# Quantities
# Atmoos Quantities

A library to safely handle various types of quantities, typically physical quantities.

Expand All @@ -26,7 +26,7 @@ Usage is designed to be intuitive:
Somewhere in your project, define this global static using directive:

```csharp
global using static Quantities.Systems;
global using static Atmoos.Quantities.Systems;
```

Then, use quantities intuitively:
Expand Down
2 changes: 1 addition & 1 deletion source/.editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
[*]
charset = utf-8-bom
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
insert_final_newline = true

# XML project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
Expand Down
14 changes: 14 additions & 0 deletions source/Atmoos.Quantities.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project>
<!-- Build info common to all projects within the quantities project -->

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup Condition="$(IsPackable)">
<InternalsVisibleTo Include="$(AssemblyName).Test" />
</ItemGroup>

</Project>
25 changes: 25 additions & 0 deletions source/Atmoos.Quantities.Pack.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<Project>
<!-- Packaging info common to all projects within the quantities project -->

<PropertyGroup>
<Authors>Thomas Kägi</Authors>
<Copyright>Thomas Kägi</Copyright>
<PackageIcon>icon.png</PackageIcon>
<PackageProjectUrl>https://github.com/atmoos/Quantities</PackageProjectUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>units, quantities, measures, measurements, unitsofmeasure, units-of-measure, units-of-measurement, conversion, unit-conversion, units-measures-converter</PackageTags>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageReleaseNotes>Please see: https://github.com/atmoos/Quantities/releases</PackageReleaseNotes>
<PackageReadmeFile>readme.md</PackageReadmeFile>
</PropertyGroup>

<ItemGroup>
<None Include="readme.md" Pack="true" PackagePath="\"/>
<None Include="$(RootDirectory)assets\images\nuget.png" Pack="true" PackagePath="\icon.png"/>
</ItemGroup>

<ItemGroup>
<PackageReference Include="DotNet.ReproducibleBuilds" Version="1.1.1" PrivateAssets="All"/>
</ItemGroup>

</Project>
21 changes: 21 additions & 0 deletions source/Atmoos.Quantities.Test.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<Project>
<!-- Test info common to all test projects within the quantities project -->

<PropertyGroup>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="xunit" Version="2.8.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="6.0.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace Quantities.Test;
namespace Atmoos.Quantities.Test;

public class AllocationFreeTest
{
Expand Down
10 changes: 10 additions & 0 deletions source/Atmoos.Quantities.Test/Atmoos.Quantities.Test.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="../Atmoos.Quantities.Build.props" />
<Import Project="../Atmoos.Quantities.Test.props" />

<ItemGroup>
<ProjectReference Include="..\Atmoos.Quantities\Atmoos.Quantities.csproj" />
<ProjectReference Include="..\Atmoos.Quantities.TestTools\Atmoos.Quantities.TestTools.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Quantities.Core.Numerics;
using Atmoos.Quantities.Core.Numerics;

namespace Quantities.Test;
namespace Atmoos.Quantities.Test;
public static class Convenience
{
// construct polynomials such that they are not simplified upon construction.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Quantities.Dimensions;
using Atmoos.Quantities.Dimensions;

namespace Quantities.Test;
namespace Atmoos.Quantities.Test;

internal static class Dim<TSelf>
where TSelf : IDimension
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Quantities.Dimensions;
using Atmoos.Quantities.Dimensions;
using Xunit.Sdk;

namespace Quantities.Test.Dimensions;
namespace Atmoos.Quantities.Test.Dimensions;

// xUnit has a bug that causes it to compare
// types that implement IEnumerable<TSelf> recursively
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Quantities.Dimensions;
using Atmoos.Quantities.Dimensions;

namespace Quantities.Test.Dimensions;
namespace Atmoos.Quantities.Test.Dimensions;

public class ProductTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Quantities.Dimensions;
using Atmoos.Quantities.Dimensions;

namespace Quantities.Test.Dimensions;
namespace Atmoos.Quantities.Test.Dimensions;

public class ScalarTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Quantities.Dimensions;
using Atmoos.Quantities.Dimensions;

namespace Quantities.Test.Dimensions;
namespace Atmoos.Quantities.Test.Dimensions;

public class UnitTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
using Atmoos.Sphere.Text;
using Quantities.TestTools;
using Atmoos.Quantities.TestTools;

using static Atmoos.Sphere.Text.LineTags;
using static Quantities.TestTools.Extensions;
using static Atmoos.Quantities.TestTools.Extensions;

namespace Quantities.Test.Infrastructure;
namespace Atmoos.Quantities.Test.Infrastructure;

[Trait(AutoGenerate, Kind.Documentation)]
public class ReadmeUpdates
{
private static readonly FileInfo readme = RepoDir.FindFile(Path.Combine("source", "Quantities", "readme.md"));
private static readonly FileInfo readme = RepoDir.FindFile(Path.Combine("source", "Atmoos.Quantities", "readme.md"));

[Fact]
public void ExportAllQuantities()
{
var tag = Markdown.Code("text quantities");
var allQuantities = typeof(IQuantity<>).ExportAllImplementations().OrderBy(q => q.Name);
readme.InsertSection(tag, Export.Section("Quantities", allQuantities, String.Empty));
readme.InsertSection(tag, Export.Section("Atmoos.Quantities", allQuantities, String.Empty));
}

[Fact]
public void ExportAllUnits()
{
var mark = Markdown.Code("text units");
readme.InsertSection(mark, Export.AllUnits("Units", typeof(Metre).Assembly));
readme.InsertSection(mark, Export.AllUnits("Atmoos.Quantities.Units", typeof(Metre).Assembly));
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Quantities.Core.Numerics;
using Atmoos.Quantities.Core.Numerics;

namespace Quantities.Test.Measures;
namespace Atmoos.Quantities.Test.Measures;

internal static class Expect<TResult>
where TResult : IMeasure
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using Quantities.Dimensions;
using Quantities.Measures;
using Quantities.Units;
using Quantities.Units.Si.Metric;
using Atmoos.Quantities.Dimensions;
using Atmoos.Quantities.Measures;
using Atmoos.Quantities.Units;
using Atmoos.Quantities.Units.Si.Metric;

namespace Quantities.Test.Measures;
namespace Atmoos.Quantities.Test.Measures;

public class InversionTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using Quantities.Measures;
using Quantities.Units.Si.Metric;
using Atmoos.Quantities.Measures;
using Atmoos.Quantities.Units.Si.Metric;

using static Quantities.Core.Numerics.Polynomial;
using static Atmoos.Quantities.Core.Numerics.Polynomial;

namespace Quantities.Test.Measures;
namespace Atmoos.Quantities.Test.Measures;

public class MeasureDivisionTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
using Quantities.Dimensions;
using Quantities.Measures;
using Quantities.Units;
using Quantities.Units.Si.Metric;
using Atmoos.Quantities.Dimensions;
using Atmoos.Quantities.Measures;
using Atmoos.Quantities.Units;
using Atmoos.Quantities.Units.Si.Metric;

using static Quantities.Core.Numerics.Polynomial;
using static Atmoos.Quantities.Core.Numerics.Polynomial;

namespace Quantities.Test.Measures;
namespace Atmoos.Quantities.Test.Measures;

public class MeasureMultiplicationTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using Quantities.Measures;
using Quantities.Units.Imperial.Temperature;
using Quantities.Units.Si.Derived;
using Quantities.Units.Si.Metric;
using Atmoos.Quantities.Measures;
using Atmoos.Quantities.Units.Imperial.Temperature;
using Atmoos.Quantities.Units.Si.Derived;
using Atmoos.Quantities.Units.Si.Metric;

namespace Quantities.Test.Measures;
namespace Atmoos.Quantities.Test.Measures;

public class PolynomialConversionTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using Quantities.Dimensions;
using Quantities.Measures;
using Quantities.Units;
using Atmoos.Quantities.Dimensions;
using Atmoos.Quantities.Measures;
using Atmoos.Quantities.Units;

namespace Quantities.Test.Measures;
namespace Atmoos.Quantities.Test.Measures;

public class QuantityTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace Quantities.Test.Numerics;
namespace Atmoos.Quantities.Test.Numerics;

using Quantities.Core.Numerics;
using Atmoos.Quantities.Core.Numerics;


public class AlgorithmsTest
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using Quantities.Core.Numerics;
using Atmoos.Quantities.Core.Numerics;

using static System.Math;
using static Quantities.Test.Convenience;
using static Atmoos.Quantities.Test.Convenience;

namespace Quantities.Test.Numerics;
namespace Atmoos.Quantities.Test.Numerics;

public class PolynomialTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace Quantities.Test.Prefixes;
namespace Atmoos.Quantities.Test.Prefixes;

public class BinaryPrefixTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace Quantities.Test.Prefixes;
namespace Atmoos.Quantities.Test.Prefixes;

public class BinaryPrefixesTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace Quantities.Test.Prefixes;
namespace Atmoos.Quantities.Test.Prefixes;

public class MetricPrefixTest
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using Xunit.Sdk;

namespace Quantities.Test.Prefixes;
namespace Atmoos.Quantities.Test.Prefixes;

public class MetricPrefixesTest
{
Expand Down
Loading

0 comments on commit f1d9572

Please sign in to comment.