Laden...

Projektvorstellung: PackScan

Erstellt von Palladin007 vor 4 Monaten Letzter Beitrag vor 3 Monaten 396 Views
Palladin007 Themenstarter:in
2.071 Beiträge seit 2012
vor 4 Monaten
Projektvorstellung: PackScan

Hallo zusammen,

Ich möchte Euch mein Projekt PackScan vorstellen, das die Handhabung von NuGet-Paketen erleichtert.

Kurz gesagt, PackScan ist ein Code-Generator, der die project.assets.json ausliest und sowohl die darin enthaltenen Daten als auch die Informationen aus den NuGet-Paketen selbst in Code umwandelt. Darüber hinaus kann es konfiguriert werden, um Texte und Icons aus dem Internet zu holen und in den Code zu integrieren. Dies erleichtert es, alle genutzten Pakete und Lizenzen im Blick zu halten und auf anschauliche Weise in der Anwendung darzustellen – eine Anforderung, die in früheren Projekten von mir aufkam.

Hier die Highlights:

  • Automatische Sammlung von Informationen der verwendeten Pakete.
  • Analyse der Lizenzen und Warnungen bei unerwünschten Lizenzen.
  • Verfügbar als .NET Tool und Source-Generator für MSBuild.
  • Umfangreiche Konfigurationsmöglichkeiten für individuelle Anpassungen und Performance-Optimierung.

Ich freue mich auf eure Meinungen, Vorschläge und Kritik! Bitte hinterlasst eure Kommentare hier oder auf der GitHub-Seite des Projekts.

Beste Grüße

16.788 Beiträge seit 2008
vor 4 Monaten

Hi,

ich find das ne ziemlich gute Idee und ich finds auch ziemlich gut umgesetzt! Respekt.

Angenommen ich würde das nun in mehrere CI-CD Pipelines einbauen, wie hast Du Dir gedacht, dass das Setup zentral gemanaged werden könnte?
Verwende ich dann Env Vars mit Semicolon Values? Oder primär über ein Shared File, das dann in jedem Repo liegt?

Palladin007 Themenstarter:in
2.071 Beiträge seit 2012
vor 4 Monaten

Danke für das Lob 😃

Angenommen ich würde das nun in mehrere CI-CD Pipelines einbauen, wie hast Du Dir gedacht, dass das Setup zentral gemanaged werden könnte?

Das Projekt bietet ja einen SourceGenerator oder ein .NET Tool an, beide können MSBuild-Eigenschaften lesen. Das .NET Tool bietet zusätzlich noch eigene Parameter an, die dann die MSBuild-Eigenschaften überschreiben.

Du könntest deine zentrale Verwaltung der Einstellungen also mit Hilfe einer props-Datei lösen und in jedem Projekt einbinden.

Wenn die mehreren Projekte aber zusammengehören, solltest Du aber nur für das Start-Projekt der Code generiert lassen, da dieses Projekt als einziges alle Referenzen hat. Das Ergebnis kann man dann über Dependency Injection verteilen und dort nutzen, wo man es tatsächlich braucht.

Palladin007 Themenstarter:in
2.071 Beiträge seit 2012
vor 4 Monaten

Ich habe soeben die erste Version hochgeladen.

Palladin007 Themenstarter:in
2.071 Beiträge seit 2012
vor 3 Monaten

Ich habe soeben Version 0.3.0 hochgeladen:

v0.3.0 - 2023-11-13

Hinzugefügt

  • PackScan.Tool-Parameter, um das TargetFramework für das Projekt anzugeben.
  • PackScan.Tool-Parameter, um den RuntimeIdentifier für das Projekt anzugeben.
  • Funktion, um die maximale Größe für heruntergeladene Icons im Format "<Breite>x<Höhe>" festzulegen.

v0.2.1 - 2023-11-06

Behoben

  • Ein Fehler wurde behoben, der Probleme mit spezifischen Plattformversionen verursachte, wie sie in MAUI-Projekten verwendet werden.

v0.2.0 - 2023-11-01

Hinzugefügt

  • Neue Konfigurationsoption, die es ermöglicht, Inhalte nur aus Dateien zu laden, wenn keine URL angegeben ist und umgekehrt.