Skip to content

Releases: Mbprogramming/Tools

Source To PlantUML First try

06 Nov 11:11

Choose a tag to compare

Source to PlantUML

This project provides a tool to generate PlantUML diagrams from C#, C++ and Typescript source code or MS-SQL databases. It supports various language features and can be customized to fit different project structures.

Features

  • Class and ER diagrams
  • Support for generics, Inline classes, Parameter properties
  • Customizable output

Prerequisites

  • LLVM is used for analyzing CPP files. It must be installed and added to the PATH environment variable.
  • Node.js is used for TypeScript analysis. Both Node.js and npm must be installed and accessible.
  • A suitable client is required for MS-SQL.
  • Roslyn is used for source code analysis for C#.

Usage

sourcetoplantuml.exe -?

creates this help output

Description:
  Source to PlantUML Helper

Nutzung:
  SourceToPlantUML [command] [options]

Optionen:
  -?, -h, --help  Show help and usage information
  --version       Versionsinformationen anzeigen

Befehle:
  create <outputfile>  Parse the directory and all subdirs and create a class diagram or connect to DB Schema and
                       create a ER diagram.
  list                 List all classes, interfaces, structs, unions, enums, tables and views with or without namespace.

Create Command

Description:
  Parse the directory and all subdirs and create a class diagram or connect to DB Schema and create a ER diagram.

Nutzung:
  SourceToPlantUML create <outputfile> [options]

Argumente:
  <outputfile>  The PlantUML output file

Optionen:
  -l, --language <language>                    The source code language. Supported values are CSharp, CPP, Typescript
                                               and TSQL. [default: CSharp]
  -q, --silent                                 Silent mode
  -s, --sourcedir <sourcedir>                  The source directory
  -x, --connectionstring <connectionstring>    The database connection string
  -n, --usenamespace                           Use namespace as package.
  -i, --includenamespaces <includenamespaces>  List of namespaces to include
  -e, --exclude <exclude>                      List of directories or files (glob pattern) to exclude
  -p, --startpoint <startpoint>                The starting point for structure analysis
  -c, --includedirs <includedirs>              List of directories for include files
  -a, --interactive                            Interactive mode
  -t, --stylesheet <stylesheet>                A style sheet file
  -m, --showmemberusage                        Show member usage in the diagram.
  -?, -h, --help                               Show help and usage information

List Command

Description:
  List all classes, interfaces, structs, unions, enums, tables and views with or without namespace.

Nutzung:
  SourceToPlantUML list [options]

Optionen:
  -l, --language <language>                    The source code language. Supported values are CSharp, CPP, Typescript
                                               and TSQL. [default: CSharp]
  -q, --silent                                 Silent mode
  -s, --sourcedir <sourcedir>                  The source directory
  -x, --connectionstring <connectionstring>    The database connection string
  -n, --usenamespace                           Use namespace as package.
  -i, --includenamespaces <includenamespaces>  List of namespaces to include
  -e, --exclude <exclude>                      List of directories or files (glob pattern) to exclude
  -p, --startpoint <startpoint>                The starting point for structure analysis
  -c, --includedirs <includedirs>              List of directories for include files
  -?, -h, --help                               Show help and usage information

Contributing

Contributions are welcome! Please submit a pull request or open an issue for any bugs or feature requests.

First Release with basic command set

08 Jan 19:53

Choose a tag to compare

FtpCmdline

FtpCmdline Code Documentation

Usage

Ctrl + C to cancel current execution.

The system try to close all resources correctly.

Command Overview

FtpCmdline.exe --help

Description:
  FTP Helper

Usage:
  FtpCmdline [command] [options]

Options:
  -h, --host <host> (REQUIRED)  The FTP host
  -u, --user <user>             The FTP user
  -p, --pwd <pwd>               The FTP pwd
  --log                         Show log output [default: False]
  --version                     Show version information
  -?, -h, --help                Show help and usage information

Commands:
  list      List path content on host.
  info      Get Server Infos.
  delete    Delete file or directory on host.
  rename    Rename file or directory on host.
  upload    Upload file or directory to host.
  download  Download file or directory from host.
  clear     Clear items in folder.

Command list options

FtpCmdline.exe list --help

Description:
  List path content on host.

Usage:
  FtpCmdline list [options]

Options:
  --path <path> (REQUIRED)      The path to start []
  -r, --recursive               Go down the directory tree recursivly [default: False]
  -e, --exclude <exclude>       Exclude items in this list
  -t, --tree                    Show only directory tree [default: False]
  -h, --host <host> (REQUIRED)  The FTP host
  -u, --user <user>             The FTP user
  -p, --pwd <pwd>               The FTP pwd
  --log                         Show log output [default: False]
  -?, -h, --help                Show help and usage information

Command list samples

FtpCmdline.exe list --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp

/transfer_ftp/CVService
/transfer_ftp/CVService/app_offline.htm
/transfer_ftp/CVService/IONOSPublish
/transfer_ftp/CVService/IONOSPublish/_app_offline.htm
/transfer_ftp/CVService/Templates
/transfer_ftp/CVService/Templates/ReportTemplate.json
/transfer_ftp/CVService/Templates/Template.docx
Found 7 items

FtpCmdline.exe list --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp --recursive --tree

CVService
├── IONOSPublish
└── Templates
Found 3 items

Command info options

FtpCmdline.exe info --help

Description:
  Get Server Infos.

Usage:
  FtpCmdline info [options]

Options:
  -h, --host <host> (REQUIRED)  The FTP host
  -u, --user <user>             The FTP user
  -p, --pwd <pwd>               The FTP pwd
  --log                         Show log output [default: False]
  -?, -h, --help                Show help and usage information

Command info sample

FtpCmdline.exe info --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70

WindowsServerIIS
Windows

Command delete options

FtpCmdline.exe delete --help

Description:
  Delete file or directory on host.

Usage:
  FtpCmdline delete [options]

Options:
  --path <path> (REQUIRED)      The path to start []
  -h, --host <host> (REQUIRED)  The FTP host
  -u, --user <user>             The FTP user
  -p, --pwd <pwd>               The FTP pwd
  --log                         Show log output [default: False]
  -?, -h, --help                Show help and usage information

Command delete samples

FtpCmdline.exe delete --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp/willi.jpg

File deleted

FtpCmdline.exe delete --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp/Willi

File or Directory not exists

Command rename options

FtpCmdline.exe rename --help

Description:
  Rename file or directory on host.

Usage:
  FtpCmdline rename [options]

Options:
  --path <path> (REQUIRED)            The path to start []
  -n, --newPath <newPath> (REQUIRED)  The path renamed to []
  -h, --host <host> (REQUIRED)        The FTP host
  -u, --user <user>                   The FTP user
  -p, --pwd <pwd>                     The FTP pwd
  --log                               Show log output [default: False]
  -?, -h, --help                      Show help and usage information

Command rename samples

FtpCmdline.exe rename --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp/HALogs --newPath /transfer_ftp/HALogsOld

Directory renamed

FtpCmdline.exe rename --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp/HALogs --newPath /transfer_ftp/HALogsOld

File or Directory not exists

Command upload options

FtpCmdline.exe upload --help

Description:
  Upload file or directory to host.

Usage:
  FtpCmdline upload [options]

OOptions:
  --path <path> (REQUIRED)      The path to start []
  -l, --localPath <localPath>   The local path to upload []
  -s, --skip                    Skip (true) or overwrite (false) existing files [default: True]
  -h, --host <host> (REQUIRED)  The FTP host
  -u, --user <user>             The FTP user
  -p, --pwd <pwd>               The FTP pwd
  --log                         Show log output [default: False]
  -?, -h, --help                Show help and usage information

Command upload sample

FtpCmdline.exe upload --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp/willi.jpg --localPath c:\temp\willi.jpg

File uploaded

Command download options

FtpCmdline.exe download --help

Description:
  Download file or directory from host.

Usage:
  FtpCmdline download [options]

Options:
  --path <path> (REQUIRED)      The path to start []
  -l, --localPath <localPath>   The local path to upload []
  -s, --skip                    Skip (true) or overwrite (false) existing files [default: True]
  -h, --host <host> (REQUIRED)  The FTP host
  -u, --user <user>             The FTP user
  -p, --pwd <pwd>               The FTP pwd
  --log                         Show log output [default: False]
  -?, -h, --help                Show help and usage information

Command download sample

FtpCmdline.exe download --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --localPath c:\temp\HAServer --path /transfer_ftp/HAServer

Directory downloaded

Command clear options

FtpCmdline.exe clear --help

Description:
  Clear items in folder.

Usage:
  FtpCmdline clear [options]

Options:
  --path <path> (REQUIRED)      The path to start []
  -r, --recursive               Go down the directory tree recursivly [default: False]
  -e, --exclude <exclude>       Exclude items in this list
  -h, --host <host> (REQUIRED)  The FTP host
  -u, --user <user>             The FTP user
  -p, --pwd <pwd>               The FTP pwd
  --log                         Show log output [default: False]
  -?, -h, --help                Show help and usage information

Command clear sample

FtpCmdline.exe clear --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp/CVService --recursive true --exclude /Templates --exclude app_offline.htm

676 files to delete
17 directories to delete
Delete 692 of 693 items

FtpCmdline.exe list --host 192.168.5.67 --user mb@ehrke-bach.de --pwd Katharina@70 --path /transfer_ftp/CVService --recursive true

/transfer_ftp/CVService/app_offline.htm
/transfer_ftp/CVService/IONOSPublish
/transfer_ftp/CVService/IONOSPublish/_app_offline.htm
/transfer_ftp/CVService/Templates
/transfer_ftp/CVService/Templates/ReportTemplate.json
/transfer_ftp/CVService/Templates/Template.docx
Found 6 items