mulle-web-developer is a collection of mulle-sde extensions to support development with MulleWeb.
Release Version | Release Notes |
---|---|
RELEASENOTES |
The following examples show how to set up a MulleWeb project with the mulle-sde environment.
Use either mulle-web/webclient-developer
or mulle-web/webserver-developer
as the starting point:
mkdir foo
cd foo
mulle-sde init -m mulle-web/webserver-developer executable
Just follow the instructions mulle-sde prints.
There will be an error because of a missing MulleObjCDecimalLibrary. This is normal.
mulle-sde init -d foolib -m mulle-web/webclient-developer library
cd foolib
mulle-sde craft
mulle-sde init -m mulle-web/webclient-developer none
mulle-sde craft
The install will need about 2 GB of free space.
The initial install will only add mulle-sde and mulle-clang to your system. MulleWeb itself will be fetched by mulle-sde, when you create a new project (see Usage below).
These installation methods are available:
- Packages
- Docker
- Script
OS | Package manager | Command |
---|---|---|
macos | homebrew | brew install mulle-kybernetik/software/mulle-web-developer |
debian | apt | sudo apt-get -y install mulle-web-developer (but see below) |
ubuntu | apt | sudo apt-get -y install mulle-web-developer (but see below) |
As prerequisites there are some very basic packages that need to be installed first. They are usually present on anything but a barebones system.
Package | Comment |
---|---|
wget or curl |
to fetch stuff |
gnupg |
apt-key may require it |
lsb-release |
For the repository source list |
apt-transport-https |
To let apt-get fetch via https |
sudo |
Or run everything as root |
apt-get install apt-transport-https gnupg lsb-release sudo wget
From here on it's assumed, that sudo is installed. If you don't have sudo,
edit out the sudo from the command lines and run everything as root
You can use this one-liner to do all the following steps in one:
wget -qO - https://raw.githubusercontent.com/MulleWeb/mulle-web-developer/release/bin/apt-installer | sudo sh
Otherwise first add the necessary key to apt:
wget -qO - "https://www.mulle-kybernetik.com/dists/debian-admin-pub.asc" | sudo apt-key add -
echo "deb [arch=all] http://www.mulle-kybernetik.com `lsb_release -c -s` main" | sudo tee "/etc/apt/sources.list.d/mulle-kybernetik.com-main.list" > /dev/null
Now you are ready to install mulle-web-developer:
sudo apt-get update
sudo apt-get install mulle-web-developer
There is a Dockerfile in the project. To build and run an ephemeral development container named mulle-web-developer
based on ubuntu, do:
sudo docker build -t mulle-web-developer 'https://raw.githubusercontent.com/MulleWeb/mulle-web-developer/release/Dockerfile'
sudo docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -i -t --rm mulle-web-developer
mulle-sde provides an
installer-all
script to install mulle-web-developer into /usr
(or some other place).
This is suitable for environments without supported package managers like for
instance Fedora or FreeBSD.
Prerequisites | Comment |
---|---|
build-essential |
The usual compiler tools like cc, ar, nm |
curl |
To fetch stuff, or substitute with wget |
cmake |
Shoot for cmake 3.1 or higher |
sudo |
Or run everything as root |
bsdmainutils |
Needed for column . A dependency that should go away... |
less |
Should be optional, but isn't right now |
curl -L -O 'https://raw.githubusercontent.com/mulle-sde/mulle-sde/release/bin/installer-all' && \
chmod 755 installer-all && \
sudo OTHER_PROJECTS="MulleWeb/mulle-web-developer;latest \
MulleFoundation/foundation-developer;latest \
MulleFoundation/mulle-foundation-developer;latest \
mulle-objc/mulle-objc-developer;latest \
mulle-c/mulle-c-developer;latest" \
SDE_PROJECTS="mulle-sde-developer;latest \
mulle-test;latest" \
./installer-all /usr
curl -L -O 'https://raw.githubusercontent.com/mulle-sde/mulle-sde/release/bin/installer-all' && \
chmod 755 installer-all && \
OTHER_PROJECTS="MulleWeb/mulle-web-developer;latest \
MulleFoundation/foundation-developer;latest \
MulleFoundation/mulle-foundation-developer;latest \
mulle-objc/mulle-objc-developer;latest \
mulle-c/mulle-c-developer;latest" \
SDE_PROJECTS="mulle-sde-developer;latest \
mulle-test;latest" \
./installer-all ~ no
All platforms and compilers supported by mulle-c11.
Nat! for Mulle kybernetiK