Moin zusammen,
Ich stelle heute mein neuestes kleines Projekt vor. Vielleicht findet das in einem eurer Applikationen Verwendung.
Gestartet habe ich das Projekt gestern, da die bereits existierenden Libs entweder nicht cross-plattform-kompatibel waren, oder seit mehreren Jahren outdated sind und z.B. nicht bei mir auf dem Mac liefen.
Da ich hauptsächlich mit C/++ arbeite und viel auf Linux, habe ich diese Funktionalität lieben gelernt und finde dass es sowas auch gerne (gewartet) für dotnet geben sollte.
Name:
getopt.net
Beschreibung:
Diese Lib parst Kommandozeilen-Argumente für dein Programm in einer getopt-ähnlichen Art.
Sprich, anstatt dass man das Argumentparsing immer selber einbaut und ungleiches Verhalten zwischen den Applikationen hat, hat man einen standardisierten Weg, Argumente zu behandeln.
Für alle, die getopt-Argument nicht kennen:
getopt() erlaubt es, kurze Argumente zusammenzufassen und in einem String zu übergeben, sodass Programmaufrufe schneller erledigt sind.
Ein gutes Beispiel ist
Möchte man z.B. ein Tar-Archiv mit Gzip-Komprimierung erstellen, wäre der lange Befehl z.B. so:
Durch die Funktion von getopt, kann man diesen Befehl wie folgt abkürzen:
Natürlich kann man auch die kurzen Optionen einzeln angeben; ganz wie es einem selber beliebt. Getopt bietet die Möglichkeit.
Dafür gibt man im Programmcode einfach eine ShortOpt-Liste und wahlweise eine Longopt-Liste an.
Die genauen Details findet ihr bei mir im GitHub-Repo: github.com/SimonCahill/getopt.net
oder auf meiner Doku-Seite: docs.simonc.eu/docs/getopt.net
Verwendete Programmiersprache(n) und IDE(s):
C# 11, .net 7.0/6.0/4.6 und Visual Studio [für Mac].
Als Testframework wurde MSTest verwendet; ist ebenfalls im Repo dabei.
Systemanforderungen:
Siehe verwendete Programmiersprachen.
Systemveränderungen:
Es werden keine Systemveränderungen vorgenommen, lediglich eine sehr coole Art von Argument-Parsing deinem Programm bereitgestellt
Download(s):
Downloads sind als .tgz, .zip und Source-Code über mein oben verlinktenes GitHub-Repo verfügbar.
Das Paket ist ebenfalls bei NuGet verfügbar: nuget.org/packages/getopt.net-bsd/
Lizenz/Weitergabe:
Diese Bibliothek ist - im Gegensatz zum Original und einiger Ports mit dem BSD 3-Clause lizensiert und nicht über die GPL.
Ihr dürft die Bibliothek auch kommerziell verwenden, solange ihr die Lizenz zusammen mit der Bibliothek und eurem Programm ausliefert.
Lizenzen eurer Programme sind nicht betroffen; sprich auch closed-source-Applikationen können diese Bibliothek verwenden!
Ich stelle heute mein neuestes kleines Projekt vor. Vielleicht findet das in einem eurer Applikationen Verwendung.
Gestartet habe ich das Projekt gestern, da die bereits existierenden Libs entweder nicht cross-plattform-kompatibel waren, oder seit mehreren Jahren outdated sind und z.B. nicht bei mir auf dem Mac liefen.
Da ich hauptsächlich mit C/++ arbeite und viel auf Linux, habe ich diese Funktionalität lieben gelernt und finde dass es sowas auch gerne (gewartet) für dotnet geben sollte.
Name:
getopt.net
Beschreibung:
Diese Lib parst Kommandozeilen-Argumente für dein Programm in einer getopt-ähnlichen Art.
Sprich, anstatt dass man das Argumentparsing immer selber einbaut und ungleiches Verhalten zwischen den Applikationen hat, hat man einen standardisierten Weg, Argumente zu behandeln.
Für alle, die getopt-Argument nicht kennen:
getopt() erlaubt es, kurze Argumente zusammenzufassen und in einem String zu übergeben, sodass Programmaufrufe schneller erledigt sind.
Ein gutes Beispiel ist
tar
.tar
ist eine Applikation, mit der man Tar-Archive erstellen, entpacken und auch auslesen kann.Möchte man z.B. ein Tar-Archiv mit Gzip-Komprimierung erstellen, wäre der lange Befehl z.B. so:
tar --gzip --create --verbose --recursive --file=my_tar.tgz <Dateien und Ordner>
Durch die Funktion von getopt, kann man diesen Befehl wie folgt abkürzen:
tar -cvzRf my_tar.tgz <Dateien und Ordner>
Natürlich kann man auch die kurzen Optionen einzeln angeben; ganz wie es einem selber beliebt. Getopt bietet die Möglichkeit.
Dafür gibt man im Programmcode einfach eine ShortOpt-Liste und wahlweise eine Longopt-Liste an.
Die genauen Details findet ihr bei mir im GitHub-Repo: github.com/SimonCahill/getopt.net
oder auf meiner Doku-Seite: docs.simonc.eu/docs/getopt.net
Verwendete Programmiersprache(n) und IDE(s):
C# 11, .net 7.0/6.0/4.6 und Visual Studio [für Mac].
Als Testframework wurde MSTest verwendet; ist ebenfalls im Repo dabei.
Systemanforderungen:
Siehe verwendete Programmiersprachen.
Systemveränderungen:
Es werden keine Systemveränderungen vorgenommen, lediglich eine sehr coole Art von Argument-Parsing deinem Programm bereitgestellt
Download(s):
Downloads sind als .tgz, .zip und Source-Code über mein oben verlinktenes GitHub-Repo verfügbar.
Das Paket ist ebenfalls bei NuGet verfügbar: nuget.org/packages/getopt.net-bsd/
Lizenz/Weitergabe:
Diese Bibliothek ist - im Gegensatz zum Original und einiger Ports mit dem BSD 3-Clause lizensiert und nicht über die GPL.
Ihr dürft die Bibliothek auch kommerziell verwenden, solange ihr die Lizenz zusammen mit der Bibliothek und eurem Programm ausliefert.
Lizenzen eurer Programme sind nicht betroffen; sprich auch closed-source-Applikationen können diese Bibliothek verwenden!
Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)
Meine Firma: Procyon Systems
Selbstständiger Softwareentwickler & IT-Techniker.
Meine Firma: Procyon Systems
Selbstständiger Softwareentwickler & IT-Techniker.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „siycah“ ()