KODEV(1)

NAME
kodev - Kore project management tool

SYNOPSIS
kodev [OPTION] ...

DESCRIPTION
This documentation describes the application management tools for building and running a Kore project. For information regarding the technical interface and C bindings, look to kore(3) where these functions and structures are described. Kore projects may be managed using the following OPTIONS;

create
    Create a new application skeleton with the name that is passed to it. This will create a new directory with all the files required to begin hacking. See the GENERATED FILES section for more information.

build
    Build the application. See the BUILDING section for more information.

run
    Start the application in the foreground. See the RUNNING section for more information.

reload
    Reload the application. This is a shortcut to sending SIGHUP to the parent process (see kore_pid).

info
    Show information about the application configuration. Namely; active flavor, output type, Kore features, Kore source and Kore binary.

clean
    Cleanup the build files.

flavor
    Switch between build flavors with the argument being the new flavor.

help
    Show the help synopsis.

GENERATED FILES
Executing the create command will generate several new files under the directory matching the application name specified.

These files are:

    conf/build.conf
        The build configuration.

    conf/app.conf
        The Kore application configuration.

    src/app.c
        The initial placeholder source code.

    cert/server.pem
        The self-signed auto-generated x509 certificate.

    cert/key.pem
        The key matching the self-signed x509 certificate.

    dh2048.pem
        The 2048-bit DH parameters used by TLS.

Those files are:

    kore.conf
        The Kore application configuration.

    handlers.py
        The initial placeholder python page handler.

    __init__.py
        The python initialization code. Sets up the kore listener, etc.

    cert/server.pem
        The self-signed auto-generated x509 certificate.

    cert/key.pem
        The key matching the self-signed x509 certificate.

    dh2048.pem
        The 2048-bit DH parameters used by TLS.

BUILDING
Executing the build command will build your application. How this happens is instructed by the conf/build.conf configuration file. This file supports the following directives:

    single_binary [yes|no]
        If set to yes the build system will produce a single binary containing both your application code and the Kore code allowing you to distribute your application more easily.

        If set to no the build system will produce a standard dynamically linked library that will be loaded into Kore at runtime.

    kore_source [path]
        Must be set to point to the a Kore source code directory. Used only if single_binary option is set to yes.

        Example: kore_source=/home/joris/src/kore

    kore_flavor [build options]
        Defines the build arguments for building Kore. Used only if single_binary option is set to yes.

        Example: kore_flavor=NOTLS=1

    cflags
        Standard CFLAGS used when compiling the application source code.

    ldflags
        Standard LDFLAGS used when linking the application source code.

Note that the build command obeys the environment variables CC and CXX

RUNNING
Executing the run command will start your application in the foreground.

What binary it executes depends on whether or not the single_binary flag was set in build configuration. If the single_binary flag was enabled the run command will execute the binary produced by the build system. If the single_binary flag was not enabled the run command will execute the $PREFIX/bin/kore binary. In both cases the run command will pass the -fnr command line options to the binary.

EXAMPLES
Changing flavor of the build;

    $ kodev flavor osx

Building your application;

    $ kodev build

REPORTING BUGS, CONTRIBUTING && MORE
If you run into any bugs, have suggestions or patches, please contact me at <joris@coders.se>

More information can be found at <https://kore.io/>

AUTHOR
Kore developed by Joris Vink <joris@coders.se>

Manpage authored by Guy Nankivell <guynankivell@gmail.com>

LICENCE
Usage of this software is provided under the ISC license which may be found, with the source, at <https://github.com/jorisvink/kore>