Cleaned up
This commit is contained in:
parent
32b7a3c01c
commit
3f33035611
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
TARGET=$1
|
|
||||||
|
|
||||||
if [ -z "$TARGET" ]; then
|
|
||||||
echo "The target platform was not provided."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
dotnet publish --self-contained -r "$TARGET"
|
|
||||||
zip -vr "releases/m4g-$TARGET.zip" "bin/Release/net8.0/$TARGET/"
|
|
@ -1,7 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
./scripts/build-executable.sh linux-x64
|
|
||||||
./scripts/build-executable.sh linux-arm
|
|
||||||
./scripts/build-executable.sh linux-arm64
|
|
||||||
./scripts/build-executable.sh osx-x64
|
|
||||||
./scripts/build-executable.sh osx-arm64
|
|
@ -1,21 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
ZIP=$1
|
|
||||||
if [ -z "$ZIP" ]; then
|
|
||||||
echo "The zip file was not provided."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
TARGET=${ZIP//"m4g-"/}
|
|
||||||
TARGET=${TARGET//".zip"/}
|
|
||||||
|
|
||||||
DIR="/tmp/m4g"
|
|
||||||
|
|
||||||
rm -rf "$DIR"
|
|
||||||
unzip "$ZIP" -d "$DIR"
|
|
||||||
|
|
||||||
sudo rm -rf /usr/share/m4g
|
|
||||||
sudo cp -r "$DIR/bin/Release/net8.0/$TARGET" /usr/share/m4g
|
|
||||||
|
|
||||||
sudo unlink /usr/local/bin/m4g 2> /dev/null
|
|
||||||
sudo ln -s /usr/share/m4g/MycroForge.CLI /usr/local/bin/m4g
|
|
@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
ZIP=$1
|
|
||||||
if [ -z "$ZIP" ]; then
|
|
||||||
echo "The zip file was not provided."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
TARGET=${ZIP//"m4g-"/}
|
|
||||||
TARGET=${TARGET//".zip"/}
|
|
||||||
|
|
||||||
DIR="/tmp/m4g"
|
|
||||||
|
|
||||||
rm -rf "$DIR"
|
|
||||||
unzip "$ZIP" -d "$DIR"
|
|
||||||
|
|
||||||
sudo rm -rf /usr/local/bin/m4g
|
|
||||||
sudo cp -r "$DIR/bin/Release/net8.0/$TARGET" /usr/local/bin/m4g
|
|
||||||
mv /usr/share/m4g/MycroForge.CLI /usr/share/m4g/m4g
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
# Make sure to run this script from the MycroForge.CLI directory and prefixed with sudo!
|
|
||||||
# Example:
|
|
||||||
# sudo ./scripts/publish-linux.sh
|
|
||||||
|
|
||||||
dotnet publish --self-contained -r linux-x64
|
|
||||||
sudo rm -rf /usr/share/m4g
|
|
||||||
sudo cp -r bin/Release/net8.0/linux-x64 /usr/share/m4g
|
|
||||||
sudo unlink /usr/local/bin/m4g
|
|
||||||
sudo ln -s /usr/share/m4g/MycroForge.CLI /usr/local/bin/m4g
|
|
32
README.md
32
README.md
@ -1,37 +1,7 @@
|
|||||||
### Dependencies
|
|
||||||
|
|
||||||
- git
|
|
||||||
- Docker
|
|
||||||
- bash (/bin/bash)
|
|
||||||
- Python 3.10.2 (/usr/bin/python3)
|
|
||||||
- python3-pip
|
|
||||||
- python3-venv
|
|
||||||
|
|
||||||
#### Note
|
|
||||||
The MycroForge CLI assumes a linux compatible environment, so on Windows you'll have to use WSL.
|
|
||||||
`Ubuntu-22.04` is the recommended WSL version to use.
|
|
||||||
|
|
||||||
### TODO
|
|
||||||
- Figure out why BashException cannot be caught, can it be due to the differences in scoping?
|
|
||||||
Because the `Bash` class is static and the services calling `Bash.ExecuteAsync` are in the container.
|
|
||||||
Maybe this in combination with the async nature of the whole thing?
|
|
||||||
|
|
||||||
### Install
|
|
||||||
|
|
||||||
Run the install script in the same directory as the downloaded zip. See the example below for linux-x64.
|
|
||||||
|
|
||||||
`sudo ./install.sh m4g-<platform>.zip <platform>`
|
|
||||||
|
|
||||||
### Add DevDisciples NuGet source
|
|
||||||
|
|
||||||
```bash
|
|
||||||
dotnet nuget add source --name devdisciples --username username --password password https://git.devdisciples.com/api/packages/devdisciples/nuget/index.json --store-password-in-clear-text
|
|
||||||
```
|
|
||||||
|
|
||||||
### TODO
|
### TODO
|
||||||
|
|
||||||
- Add a CLI UI library
|
- Add a CLI UI library
|
||||||
- Clean up README files
|
- Clean up README files
|
||||||
- Theme the site with a custom color scheme and icon/logos
|
- Theme the site with a custom color scheme and icon/logos
|
||||||
- Mention assumed knowledge of both FastAPI & SQLAlchemy
|
|
||||||
- Elaborate on terminology and best practices, like meaningful service names (also emphasize common sense?)
|
- Elaborate on terminology and best practices, like meaningful service names (also emphasize common sense?)
|
||||||
|
- Fix bug in HelloWorldCommand.ExecuteAsync
|
||||||
|
@ -42,7 +42,7 @@ My.Dotenv.Plugin
|
|||||||
┗ 📜My.Dotenv.Plugin.csproj
|
┗ 📜My.Dotenv.Plugin.csproj
|
||||||
```
|
```
|
||||||
|
|
||||||
Rename the following files. Also rename the classes in these files, the easiest way in `vscode` is the right click the class name and select the `Rename symbol` action. Note that this action does not (necessarily) rename the files!
|
Rename the following files. Also rename the classes in these files, the easiest way in `vscode` is to right click the class name and select the `Rename symbol` action. Note that this action does not (necessarily) rename the files!
|
||||||
|
|
||||||
```
|
```
|
||||||
HelloWorldCommand.cs => DotenvCommand.cs
|
HelloWorldCommand.cs => DotenvCommand.cs
|
||||||
|
@ -8,12 +8,18 @@ sidebar_position: 2
|
|||||||
|
|
||||||
To use MycroForge, ensure you have the following dependencies installed:
|
To use MycroForge, ensure you have the following dependencies installed:
|
||||||
|
|
||||||
- **bash**
|
- [**bash**](https://www.gnu.org/software/bash/)
|
||||||
- **git**
|
- [**git**](https://git-scm.com/)
|
||||||
- **Python 3.10**
|
- [**Python 3.10**](https://www.python.org/downloads/release/python-3100/)
|
||||||
- **Docker**
|
- [**Docker**](https://www.docker.com/)
|
||||||
- **.NET 8**
|
- [**.NET 8**](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
|
||||||
- **XCode Command Line Tools (MacOS only)**
|
- [**XCode Command Line Tools (MacOS only)**](https://mac.install.guide/commandlinetools/)
|
||||||
|
|
||||||
|
## Prior knowledge
|
||||||
|
|
||||||
|
Since this tool is meant to generate FastAPI & SQLAlchemy code, you should have decent knowledge of both frameworks. If not, then please follow the links below to learn more about them.
|
||||||
|
- [FastAPI](https://fastapi.tiangolo.com/)
|
||||||
|
- [SQLAlchemy](https://www.sqlalchemy.org/)
|
||||||
|
|
||||||
### Adding the Package Registry
|
### Adding the Package Registry
|
||||||
|
|
||||||
@ -61,8 +67,12 @@ You can only add it to the current session by running the following command:
|
|||||||
export PATH="$PATH:/Users/username/.dotnet/tools"
|
export PATH="$PATH:/Users/username/.dotnet/tools"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Known issues
|
### Known issues
|
||||||
|
|
||||||
##### FastAPI swagger blank screen
|
#### FastAPI swagger blank screen (MacOS only)
|
||||||
|
|
||||||
If you see a blank screen when opening the FastAPI Swagger documentation, then make sure you've activated the Safari developer tools.
|
If you see a blank screen when opening the FastAPI Swagger documentation, then make sure you've activated the Safari developer tools.
|
||||||
|
|
||||||
|
#### Database container doesn't start after running `m4g db run`
|
||||||
|
|
||||||
|
If the database, i.e. the mariadb container, doesn't successfully start after running `m4g db run` the first time, then try running it again. This often works, but yeah...it's hacky. However, at the time of writing it's unknown what causes this.
|
||||||
|
Loading…
Reference in New Issue
Block a user