Robert Dailey
a22d6dec33
fix: Log janitor updated to clean up logs in new 'cli' dir
2 years ago
Robert Dailey
e222f547cc
test: Fix config loader test
...
No exception is thrown when a non-empty config results in no usable
configuration.
2 years ago
Robert Dailey
c82894291f
fix: Do not fail on empty service type sections
2 years ago
Robert Dailey
bf9a08c19c
test: Fix broken unit test
2 years ago
Robert Dailey
cffb8d783a
refactor: Convert processors/updaters to pipelines
2 years ago
Robert Dailey
e3d6d4f79a
refactor: Remove DI for IServiceConfiguration in API services
2 years ago
Robert Dailey
bcc65857df
refactor: Split Sonarr/Radarr orthogonally into service-based classes
...
Instead of organizing logic using service, such as Sonarr or Radarr,
organize it using function. So now logic is broken up by Custom Format,
Release Profile, and Quality Size.
2 years ago
Robert Dailey
7dec45a07a
refactor: Eliminate generics for config type
2 years ago
Robert Dailey
289d661247
refactor: Silence warnings in _Layout.cshtml
2 years ago
Robert Dailey
c0bad938d7
feat: Split and restructure CLI logs
2 years ago
Robert Dailey
5adb966aa9
refactor: Add serilog to implicit usings
2 years ago
Robert Dailey
94b000c55f
build: Upgrade nuget packages for tests
2 years ago
Robert Dailey
adeb478777
fix: Exception when either Sonarr or Radarr configs are empty
2 years ago
Robert Dailey
7be4189378
refactor: Code cleanup
2 years ago
Robert Dailey
d66aa8ba44
refactor: Solution-wide code cleanup
2 years ago
Robert Dailey
86eca33eb3
refactor: Move Commands.Shared CS files up a level
...
This is to address a roslyn warning.
2 years ago
Robert Dailey
ce6afa4157
refactor: Fix more analysis issues
2 years ago
Robert Dailey
c226097cb5
refactor: Clone URL is now a Uri object
2 years ago
Robert Dailey
c45860d280
refactor: BaseUrl type is now Uri instead of string
2 years ago
Robert Dailey
7185cc5844
refactor: Fix various analysis issues
2 years ago
Robert Dailey
5d0db006ba
chore(style): Overhaul editorconfig
2 years ago
Robert Dailey
7bc5d407e3
build: Upgrade multiple nuget packages
2 years ago
Robert Dailey
4275336a8a
refactor: Fix unused member variable inspection issue
2 years ago
Robert Dailey
c05d73a84b
refactor: Remove redundant config validation
...
Validation already happens in ConfigParser, then SyncProcessor does not
need to do it as well.
2 years ago
Robert Dailey
8e22a5d561
test: Verify exceptional case for env var parsing
2 years ago
voltron4lyfe
aa523a0e14
feat: Enable referencing environment variables in config
...
Closes #145
Closes #154
2 years ago
Robert Dailey
6e397aefcf
test: Restructure tests
2 years ago
Robert Dailey
b9dc15f6a7
refactor: Relocate secrets yaml behavior to secrets dir
2 years ago
Robert Dailey
6fb1d4ad66
feat: Improved preview output for release profiles
2 years ago
Robert Dailey
964aeb8380
feat: Improved preview output for custom formats
2 years ago
Robert Dailey
fd3d76bc55
refactor: Rename Empty/NotEmpty extension methods
2 years ago
Robert Dailey
61c9dbcbf9
feat: Improved preview output for quality sizes
2 years ago
Robert Dailey
806a0fa64f
refactor: Do not use "empty" for SonarrCommand terms
2 years ago
Robert Dailey
7cdd94e626
fix: Use right deprecation message based on arguments
2 years ago
Robert Dailey
de3bf08543
fix: Update local repo before running commands that need it
2 years ago
Robert Dailey
7a008a6639
feat: CLI Revamp
...
Deprecate old commands: create-config, radarr, sonarr
New commands: config, sync, list
2 years ago
Robert Dailey
3ed9d4c814
chore: Update run configurations in Rider
2 years ago
Robert Dailey
64306db2dc
refactor: Add exception message enricher
...
Allows exception message without a stack trace to be written to the
console, while full exception details are still written to file sinks.
2 years ago
Robert Dailey
d73a888247
fix: Do not print skipped CFs to the console
...
They are too verbose
2 years ago
Robert Dailey
8c7768891e
fix: Better handling of invalid CF cache entries
...
Due to changes in v4.1.1, sometimes invalid cache entries (zero-value)
were written to the cache. These are now treated as invalid and matches
by name will be performed.
Fixes #160
2 years ago
Robert Dailey
18edb84133
test: Use default for argument matcher
2 years ago
Robert Dailey
28fa09f328
fix: Set CF IDs when no cache entry is present
...
Fixes #160
2 years ago
Robert Dailey
7ad4654d85
fix: Remove unredacted request URI from log files on exception
2 years ago
Robert Dailey
fd216c1b60
fix: Service URL is now part of cache directory name
2 years ago
Robert Dailey
5c3da551bb
fix: Detect and warn about conflicting CFs during sync
2 years ago
Robert Dailey
350fd21358
refactor: Overhaul config validation logic
...
- Validation of custom formats in Sonarr v4 is now performed
2 years ago
Robert Dailey
6997f4ca6a
chore: Rider run configuration updates
2 years ago
Robert Dailey
d5cbdb8648
chore: Move test projects to a solution folder
2 years ago
Robert Dailey
fea6575ae8
style: Code cleanup on entire solution
2 years ago
Robert Dailey
3b44964479
feat: Add clear separation between instance logs in console output
2 years ago
Robert Dailey
a4be018c44
feat: More detail output for CF sync changes
2 years ago
Robert Dailey
0830d1d6c8
feat: Re-introduce the CF name field in cache for display purposes
...
The CF name in cache is needed when printing information about deleted
CFs to console output.
2 years ago
Robert Dailey
8023f7f011
fix: Use comments for group headers in custom format listing
2 years ago
Robert Dailey
7358521a7a
fix: Sort CFs alphabetically in CLI listing
2 years ago
Robert Dailey
3f393d9894
chore: Updates to Rider run configurations
2 years ago
Robert Dailey
d71bce4990
fix: Do not perform actual logic when doing preview
...
Fixes #158
2 years ago
Robert Dailey
f7a7902c2c
build: Update several package dependencies
2 years ago
Robert Dailey
08d1ced7b6
refactor: Newline after message, but before exception details
2 years ago
Robert Dailey
b3666ec3cb
refactor: Less verbose error messages
2 years ago
Robert Dailey
eb9898fdd7
refactor: Implement Yaml Behavior system for extending parsing features
...
YamlSerializerFactory continues to grow as we add parsing features to
YAML files. A new behavior system now provides granular sets of features
to the factory. To extend the functionality of the YAML parser,
implement the `IYamlBehavior` interface. It will automatically be
registered to Autofac and injected into `YamlSerializerFactory`.
2 years ago
Robert Dailey
fc0daf631b
refactor: Address analysis issues
2 years ago
Robert Dailey
77603b6c93
refactor: Rename all projects to have Recyclarr prefix
2 years ago
Robert Dailey
bbb2195df2
feat!: Change Sonarr quality definitions config YAML to match Radarr
...
- Shares same syntax as Radarr
- Only Sonarr impacted
- Default behavior of `preferred_ratio` changed.
- Hybrid quality definition removed.
2 years ago
Robert Dailey
ab352f6a4c
fix: Do not warn about empty configs when they aren't really empty
...
This was caused by a logic error that thought that a file was empty just
because it didn't find any configuration data relevant to the current
subcommand. For example, a config file that only has Radarr config in it
when you run `recyclarr sonarr`.
2 years ago
Robert Dailey
ebb33f3328
refactor: Log git error message on clone retry
2 years ago
Robert Dailey
8a124d12f9
fix: Allow empty YAML files to be loaded
...
- Better contextual logging for YAML files
- When there's a syntax error in file parsing, skip that file.
- When validation fails for instance config, skip just that instance.
- If a file is empty, print a warning and skip it.
- Print instance name (instead of URL) in more places.
2 years ago
Robert Dailey
51d0219a1a
refactor: Move RegisterMockFor to extension method
2 years ago
Robert Dailey
c981a555ad
test: Use log context for existing tests
2 years ago
Robert Dailey
9acdf7da14
feat: Improved logging
...
- Handle exceptions better (also write them to serilog)
- Better redaction code
- Less verbose HTTP exception output
- Log more details about git cmd failures
2 years ago
Robert Dailey
94e55b6182
build: Nuget package upgrades
2 years ago
Robert Dailey
c1eb21d9ba
build: Remove System.Private.Uri (no longer used)
...
This was only added to address vulnerability scan, but this package is
no longer implicitly referenced.
2 years ago
Robert Dailey
69aec1450a
build: Move ManagePackageVersionsCentrally to Build.props
2 years ago
Robert Dailey
8d091ff471
build: Upgrade GUI-specific nuget packages
2 years ago
Robert Dailey
2e31dacea9
refactor: Code changes after System.IO.Abstractions upgrade
2 years ago
Robert Dailey
e47e1b2f82
build: Upgrade System.IO.Abstractions
2 years ago
Robert Dailey
f16008d225
refactor: Use better argument handling for git operations
...
Use array of args instead of string concatenations. Simplifies the logic
and also makes quoting args easier / more portable.
2 years ago
Robert Dailey
2b28fb9c73
chore: Update Rider run configurations for .NET 7
2 years ago
Robert Dailey
360f683718
chore: Remove another riderMarkupCache.xml file
2 years ago
Robert Dailey
d04b10f9d0
refactor: Utilize DI for Flurl
...
The goal is to eliminate the need for a "global setup" step for HTTP
communication. This can instead be done in the composition root as part
of the factory to request FlurlClient objects.
2 years ago
Robert Dailey
2a79a50d50
fix: Address multiple issues with the config template
...
- Simplify the comment style for YAML intended to be uncommented by the
user. Now they just need to delete the leading hash and YAML will be
at the appropriate indentation.
- Add additional explanation at the top about how to set up
configuration based on the guide.
- Fix link to the configuration reference.
2 years ago
Robert Dailey
53d7233b1e
build: Remove LangVersion from build props
...
Prefer to use the language version that is enabled by default based on
compatibility with selected target framework.
2 years ago
Robert Dailey
4a9f753423
chore: Delete and ignore riderMarkupCache.xml
...
This file continuously changes which indicates to me it should not be
versioned. This file must be new because there's no documentation
regarding it.
2 years ago
Robert Dailey
dfce05a9e8
build: Update Rider project files
2 years ago
Robert Dailey
969499bf5a
build: Fix for test packages not being assigned to TestLibrary.csproj
2 years ago
Robert Dailey
e5a0302c13
chore: Delete global.json (not needed)
2 years ago
Robert Dailey
6811c2c816
refactor: Do not create the RepoDirectory on start up
...
Let the GitRepositoryFactory do it.
2 years ago
Robert Dailey
794c8733ef
test: Fix CompositionRoot tests
...
Some types do not get registered until later on after
CompositionRoot.Setup() is called. Use IntegrationFixture to fulfill
mock versions of those types.
2 years ago
Robert Dailey
d83edd9e2b
refactor: Add logging to GitRepository / Factory
2 years ago
Robert Dailey
46067dffb0
test: Do not use NotThrow() in composition root test
...
Because Fluent.Assertions does not print the full exception details when
you use `Should().NotThrow()`. See issue:
https://github.com/fluentassertions/fluentassertions/issues/2015
2 years ago
Robert Dailey
b34798eabb
feat!: Remove LibGit2Sharp Library
...
This library was causing numerous issues related to git operations. The
straw that broke the camel's back is that it does not do automatic
garbage collection (`git gc --auto`). So a user's repo directory
continues to grow in size.
The replacement is CliWrap, which is just a simple wrapper library that
allows easy execution of shell commands. Specifically, `git` commands.
BREAKING CHANGE: This change now requires the `git` executable to be
installed by the user if run on a host system. The git executable will
be provided automatically for the docker image.
2 years ago
Robert Dailey
f810749b32
chore: Shared run configs updated for .NET 7.0 paths
2 years ago
Robert Dailey
7fdca11bc4
revert: "chore: Move GitVersion.yml into src dir"
...
This reverts commit 724d2c41aa
.
2 years ago
Robert Dailey
9fc7444f3c
refactor: Fix ASP.NET warning
...
[ASP0012] Suggest using builder.Services instead of ConfigureServices
2 years ago
Robert Dailey
dd8b518735
build: Upgrade all Nuget packages
2 years ago
Robert Dailey
b5a692a710
build: Upgrade to .NET 7.0
2 years ago
Robert Dailey
1d604b141b
feat: Named instances support
...
Use mapping-style instead of array-style for instances in configuration
YAML.
2 years ago
Robert Dailey
4ae54d8f54
fix: Restore compare by name for CFs
...
This is still needed if there already exist CFs in Radarr/Sonarr with
the same name.
2 years ago
Robert Dailey
7bfecdb3f3
build: Add nuget.config
2 years ago
Robert Dailey
3df3bc869e
refactor: Silence unused Version param warning
2 years ago
Robert Dailey
2ed8bdb55e
chore: Jetbrains Rider .idea files
2 years ago