diff --git a/ConsumePlugin/ConsumePlugin.fsproj b/ConsumePlugin/ConsumePlugin.fsproj index 7b45ed4..23b423b 100644 --- a/ConsumePlugin/ConsumePlugin.fsproj +++ b/ConsumePlugin/ConsumePlugin.fsproj @@ -5,7 +5,7 @@ false - + @@ -28,7 +28,7 @@ - + diff --git a/ConsumePlugin/JsonRecord.fs b/ConsumePlugin/JsonRecord.fs index 6cf041a..371e2df 100644 --- a/ConsumePlugin/JsonRecord.fs +++ b/ConsumePlugin/JsonRecord.fs @@ -6,7 +6,7 @@ module Literals = [] let something = "something" -[] +[] type InnerType = { [] @@ -14,7 +14,7 @@ type InnerType = } /// My whatnot -[] +[] type JsonRecordType = { /// A thing! diff --git a/ConsumePlugin/PureGymDto.fs b/ConsumePlugin/PureGymDto.fs index 79bad17..3c22a1f 100644 --- a/ConsumePlugin/PureGymDto.fs +++ b/ConsumePlugin/PureGymDto.fs @@ -6,7 +6,7 @@ open System open System.Text.Json.Serialization /// Describes the opening hours of a given gym. -[] +[] type GymOpeningHours = { /// If this is true, there should be no OpeningHours (but nothing enforces that). @@ -23,7 +23,7 @@ type GymOpeningHours = this.OpeningHours |> String.concat ", " /// How a human can authenticate with a gym when they physically try to enter it -[] +[] type GymAccessOptions = { /// This gym has PIN entry pads @@ -33,7 +33,7 @@ type GymAccessOptions = } /// Where a gym is on the Earth -[] +[] type GymLocation = { /// Measured in degrees @@ -45,7 +45,7 @@ type GymLocation = } /// The postal address of a gym -[] +[] type GymAddress = { /// E.g. "Canterbury Court" @@ -80,7 +80,7 @@ type GymAddress = |> String.concat "\n" /// Metadata about a physical gym -[] +[] type Gym = { // The following fields are returned but are always null @@ -135,7 +135,7 @@ Opening hours: %s{string this.GymOpeningHours} """ /// A human member of PureGym -[] +[] type Member = { /// This member's ID. This is a fairly large number. @@ -171,7 +171,7 @@ type Member = } /// Statistics for how many people are currently at a gym -[] +[] type GymAttendance = { /// This appears always to be just equal to TotalPeopleInGym, but a string. @@ -216,7 +216,7 @@ type MemberActivityThisMonth = } /// Don't use this type. It's public because System.Text.Json can't do private types. -[] +[] type MemberActivityDto = { [] @@ -243,7 +243,7 @@ type MemberActivityDto = LastRefreshed = this.LastRefreshed } -[] +[] type SessionsAggregate = { /// Number of gym "activities" within some query-defined time period; presumably this is like classes? @@ -256,7 +256,7 @@ type SessionsAggregate = } /// The DTO for gym info returned from the Sessions endpoint. -[] +[] type VisitGym = { // Omitting Location, GymAccess, ContactInfo, TimeZone because these were all null for me @@ -269,7 +269,7 @@ type VisitGym = } /// Summary of a single visit to a gym. -[] +[] type Visit = { // Omitted Name because it always was null for me @@ -289,7 +289,7 @@ type Visit = $"%s{this.Gym.Name}: %s{startTime} (%i{this.Duration} minutes)" /// Aggregate statistics for gym visits across a time period. -[] +[] type SessionsSummary = { /// Aggregate stats for gym visits within the query-dependent time period. @@ -302,7 +302,7 @@ type SessionsSummary = override this.ToString () = $"%i{this.Total.Visits} visits, totalling %i{this.Total.Duration} minutes" -[] +[] type Sessions = { Summary : SessionsSummary diff --git a/ConsumePlugin/RecordFile.fs b/ConsumePlugin/RecordFile.fs index 71ad2d7..91ef943 100644 --- a/ConsumePlugin/RecordFile.fs +++ b/ConsumePlugin/RecordFile.fs @@ -5,7 +5,7 @@ type ParseState = | AwaitingValue of string /// My whatnot -[] +[] type RecordType = { /// A thing! diff --git a/Directory.Build.props b/Directory.Build.props index 045d450..8da1c60 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -5,6 +5,8 @@ [UNDEFINED] true true + true + FS3559 diff --git a/MyriadPlugin.Test/MyriadPlugin.Test.fsproj b/MyriadPlugin.Test/MyriadPlugin.Test.fsproj index 6a6e9c1..30a1efa 100644 --- a/MyriadPlugin.Test/MyriadPlugin.Test.fsproj +++ b/MyriadPlugin.Test/MyriadPlugin.Test.fsproj @@ -26,7 +26,7 @@ - + diff --git a/MyriadPlugin.Test/TestSurface.fs b/MyriadPlugin.Test/TestSurface.fs index ba65dcd..a526321 100644 --- a/MyriadPlugin.Test/TestSurface.fs +++ b/MyriadPlugin.Test/TestSurface.fs @@ -1,7 +1,7 @@ namespace MyriadPlugin.Test open NUnit.Framework -open MyriadPlugin +open WoofWare.Myriad.Plugins open ApiSurface [] diff --git a/MyriadPlugin/SurfaceBaseline.txt b/MyriadPlugin/SurfaceBaseline.txt deleted file mode 100644 index 1efb926..0000000 --- a/MyriadPlugin/SurfaceBaseline.txt +++ /dev/null @@ -1,8 +0,0 @@ -MyriadPlugin.JsonParseAttribute inherit System.Attribute -MyriadPlugin.JsonParseAttribute..ctor [constructor]: unit -MyriadPlugin.JsonParseGenerator inherit obj, implements Myriad.Core.IMyriadGenerator -MyriadPlugin.JsonParseGenerator..ctor [constructor]: unit -MyriadPlugin.RemoveOptionsAttribute inherit System.Attribute -MyriadPlugin.RemoveOptionsAttribute..ctor [constructor]: unit -MyriadPlugin.RemoveOptionsGenerator inherit obj, implements Myriad.Core.IMyriadGenerator -MyriadPlugin.RemoveOptionsGenerator..ctor [constructor]: unit \ No newline at end of file diff --git a/MyriadPlugin/AstHelper.fs b/WoofWare.Myriad.Plugins/AstHelper.fs similarity index 99% rename from MyriadPlugin/AstHelper.fs rename to WoofWare.Myriad.Plugins/AstHelper.fs index 6a18733..f8e3ff1 100644 --- a/MyriadPlugin/AstHelper.fs +++ b/WoofWare.Myriad.Plugins/AstHelper.fs @@ -1,4 +1,4 @@ -namespace MyriadPlugin +namespace WoofWare.Myriad.Plugins open Fantomas.FCS.Syntax open Fantomas.FCS.SyntaxTrivia diff --git a/MyriadPlugin/JsonParseGenerator.fs b/WoofWare.Myriad.Plugins/JsonParseGenerator.fs similarity index 99% rename from MyriadPlugin/JsonParseGenerator.fs rename to WoofWare.Myriad.Plugins/JsonParseGenerator.fs index d454357..ee346b8 100644 --- a/MyriadPlugin/JsonParseGenerator.fs +++ b/WoofWare.Myriad.Plugins/JsonParseGenerator.fs @@ -1,4 +1,4 @@ -namespace MyriadPlugin +namespace WoofWare.Myriad.Plugins open System open System.Text diff --git a/MyriadPlugin/RemoveOptionsGenerator.fs b/WoofWare.Myriad.Plugins/RemoveOptionsGenerator.fs similarity index 99% rename from MyriadPlugin/RemoveOptionsGenerator.fs rename to WoofWare.Myriad.Plugins/RemoveOptionsGenerator.fs index 4a64625..ea5cdc1 100644 --- a/MyriadPlugin/RemoveOptionsGenerator.fs +++ b/WoofWare.Myriad.Plugins/RemoveOptionsGenerator.fs @@ -1,4 +1,4 @@ -namespace MyriadPlugin +namespace WoofWare.Myriad.Plugins open System open Fantomas.FCS.Syntax diff --git a/WoofWare.Myriad.Plugins/SurfaceBaseline.txt b/WoofWare.Myriad.Plugins/SurfaceBaseline.txt new file mode 100644 index 0000000..cc20d17 --- /dev/null +++ b/WoofWare.Myriad.Plugins/SurfaceBaseline.txt @@ -0,0 +1,8 @@ +WoofWare.Myriad.Plugins.JsonParseAttribute inherit System.Attribute +WoofWare.Myriad.Plugins.JsonParseAttribute..ctor [constructor]: unit +WoofWare.Myriad.Plugins.JsonParseGenerator inherit obj, implements Myriad.Core.IMyriadGenerator +WoofWare.Myriad.Plugins.JsonParseGenerator..ctor [constructor]: unit +WoofWare.Myriad.Plugins.RemoveOptionsAttribute inherit System.Attribute +WoofWare.Myriad.Plugins.RemoveOptionsAttribute..ctor [constructor]: unit +WoofWare.Myriad.Plugins.RemoveOptionsGenerator inherit obj, implements Myriad.Core.IMyriadGenerator +WoofWare.Myriad.Plugins.RemoveOptionsGenerator..ctor [constructor]: unit \ No newline at end of file diff --git a/MyriadPlugin/MyriadPlugin.fsproj b/WoofWare.Myriad.Plugins/WoofWare.Myriad.Plugins.fsproj similarity index 95% rename from MyriadPlugin/MyriadPlugin.fsproj rename to WoofWare.Myriad.Plugins/WoofWare.Myriad.Plugins.fsproj index b76443f..b89368f 100644 --- a/MyriadPlugin/MyriadPlugin.fsproj +++ b/WoofWare.Myriad.Plugins/WoofWare.Myriad.Plugins.fsproj @@ -1,31 +1,32 @@ - - - - net6.0 - true - Patrick Stevens - Copyright (c) Patrick Stevens 2023 - Provides some Myriad compile-time code generation plugins. - git - MIT - README.md - myriad;fsharp;source-generator;source-gen;json - true - FS3559 - - - - - - - - - - - - - - - - - + + + + net6.0 + true + Patrick Stevens + Copyright (c) Patrick Stevens 2023 + Provides some Myriad compile-time code generation plugins. + git + MIT + README.md + myriad;fsharp;source-generator;source-gen;json + true + FS3559 + WoofWare.Myriad.Plugins + + + + + + + + + + + + + + + + + diff --git a/MyriadPlugin/version.json b/WoofWare.Myriad.Plugins/version.json similarity index 80% rename from MyriadPlugin/version.json rename to WoofWare.Myriad.Plugins/version.json index 636a54e..5b7dc86 100644 --- a/MyriadPlugin/version.json +++ b/WoofWare.Myriad.Plugins/version.json @@ -1,5 +1,5 @@ { - "version": "0.2", + "version": "1.0", "publicReleaseRefSpec": [ "^refs/heads/main$" ], diff --git a/Myriad.sln b/WoofWare.Myriad.sln similarity index 90% rename from Myriad.sln rename to WoofWare.Myriad.sln index 91f50c3..c717cd8 100644 --- a/Myriad.sln +++ b/WoofWare.Myriad.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "ConsumePlugin", "ConsumePlugin\ConsumePlugin.fsproj", "{0D174482-9CB2-448A-8BA8-846FAEC65579}" EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "MyriadPlugin", "MyriadPlugin\MyriadPlugin.fsproj", "{DB86C53B-4090-4791-884B-024C5759855F}" +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "WoofWare.Myriad.Plugins", "WoofWare.Myriad.Plugins\WoofWare.Myriad.Plugins.fsproj", "{DB86C53B-4090-4791-884B-024C5759855F}" EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "MyriadPlugin.Test", "MyriadPlugin.Test\MyriadPlugin.Test.fsproj", "{13370CA7-2A80-4B4D-8DEB-F1AA77F206C4}" EndProject diff --git a/flake.nix b/flake.nix index 4c425a2..6325e40 100644 --- a/flake.nix +++ b/flake.nix @@ -48,8 +48,8 @@ src = ./nix/fetchDeps.sh; pname = pname; binPath = pkgs.lib.makeBinPath [pkgs.coreutils dotnet-sdk (pkgs.nuget-to-nix.override {inherit dotnet-sdk;})]; - projectFiles = toString ["./MyriadPlugin/MyriadPlugin.fsproj" "./ConsumePlugin/ConsumePlugin.fsproj"]; - testProjectFiles = ["./MyriadPlugin.Test/MyriadPlugin.Test.fsproj"]; + projectFiles = toString ["./WoofWare.Myriad.Plugins/WoofWare.Myriad.Plugins.fsproj" "./ConsumePlugin/ConsumePlugin.fsproj"]; + testProjectFiles = ["./WoofWare.Myriad.Plugins.Test/WoofWare.Myriad.Plugins.Test.fsproj"]; rids = pkgs.lib.concatStringsSep "\" \"" runtimeIds; packages = dotnet-sdk.packages; storeSrc = pkgs.srcOnly { @@ -63,7 +63,7 @@ name = "argument-helpers"; version = version; src = ./.; - projectFile = "./MyriadPlugin/MyriadPlugin.fsproj"; + projectFile = "./WoofWare.Myriad.Plugins/WoofWare.Myriad.Plugins.fsproj"; nugetDeps = ./nix/deps.nix; doCheck = true; dotnet-sdk = dotnet-sdk; diff --git a/runmyriad.sh b/runmyriad.sh index f14aef4..b9d45b1 100755 --- a/runmyriad.sh +++ b/runmyriad.sh @@ -2,8 +2,8 @@ dotnet \ "/Users/patrick/.nuget/packages/myriad.sdk/0.8.3/build/../tools/net6.0/any/Myriad.dll" \ - --inputfile "/Users/patrick/Documents/GitHub/MyriadPlugin/ConsumePlugin/RecordFile.fs" \ - --outputfile "/Users/patrick/Documents/GitHub/MyriadPlugin/ConsumePlugin/Generated.fs" \ - --configfile "/Users/patrick/Documents/GitHub/MyriadPlugin/ConsumePlugin/myriad.toml" \ - --contextfile "/Users/patrick/Documents/GitHub/MyriadPlugin/ConsumePlugin/obj/myriad.context.toml" \ - --plugin "/Users/patrick/Documents/GitHub/MyriadPlugin/MyriadPlugin/bin/Debug/net8.0/MyriadPlugin.dll" + --inputfile "/Users/patrick/Documents/GitHub/WoofWare.Myriad.Plugins/ConsumePlugin/RecordFile.fs" \ + --outputfile "/Users/patrick/Documents/GitHub/WoofWare.Myriad.Plugins/ConsumePlugin/Generated.fs" \ + --configfile "/Users/patrick/Documents/GitHub/WoofWare.Myriad.Plugins/ConsumePlugin/myriad.toml" \ + --contextfile "/Users/patrick/Documents/GitHub/WoofWare.Myriad.Plugins/ConsumePlugin/obj/myriad.context.toml" \ + --plugin "/Users/patrick/Documents/GitHub/WoofWare.Myriad.Plugins/WoofWare.Myriad.Plugins/bin/Debug/net8.0/WoofWare.Myriad.Plugins.dll"