- 
                Notifications
    
You must be signed in to change notification settings  - Fork 112
 
Development
        João Mário Lago edited this page Mar 11, 2024 
        ·
        21 revisions
      
    - Code-style
- Code-style is defined on the 
eslintconfiguration file. What passes it is considered valid. New rules can/will come with time. - Exception to the rule above are variables names. While all other identifiers should follow the Google Javascript conventions, variables should use snake_case, to make them compatible with external APIs.
 
 - Code-style is defined on the 
 - Files-naming
- Vue files use PascalCase while other files (e.g.: .ts) uses camel_case.
 
 
- Install docker
- Each operating system has a different way, but it's recommended to install the latest version, check the docker installation instructions.
 - Make sure you follow the instructions to manage docker as a non-root-user.
 
 
- Install docker buildx
 - Enable docker experimental features
- You can check that with 
docker version - For more information check docker experimental README
 
 - You can check that with 
 - Create a node to for armv7 with the correct configuration
docker buildx create --use --platform=linux/arm/v7 --buildkitd-flags '--allow-insecure-entitlement network.host --allow-insecure-entitlement security.insecure' --name arm-builder
 - Pull latest changes to avoid building everything from scratch
docker pull --platform linux/arm/v7 bluerobotics/blueos-core:master
 - Go inside the core folder
 - Build it
- Be aware that crosscompiling the core image will take some time in a good computer.
 docker buildx build --allow security.insecure --platform linux/arm/v7 . -t yourdockerhubuser/blueos-core:yournewtag --push --build-arg VITE_APP_GIT_DESCRIBE=$(git describe --long --always --dirty --all) --output type=registry --progress=plain
You can replace
yournewtagwith$(git rev-parse --abbrev-ref HEAD)to create images based on your development branch name 
- Navigate to http://blueos.local:8081 and the new tag should show in VersionChooser when using your remote name
 
You can access it via: sudo docker exec -it blueos-core /usr/bin/tmux
- To develop the frontend first install yarn on your system.
 - Go to the frontend folder with 
cd core/frontend - Install the necessary packages with 
yarn install - Now just do your changes and try them with 
yarn serve 
You can also lint your code anytime with yarn lint
Is know that qemu-arm-static version 5.2.0 has DNS problems, so git clone step may fail, for more information check this builx issue.
- Check qemu-arch-extra