Skip to main content

Package generator for C/C++ projects.

Project description

Welcome to DAT !

Accelerate the development of your C/C++ project.

Hit the star for support. New features will be added.

Generate your package:

dat_new

Use it:

dat_flow

DAT is setting up the following for you:

  • a standard repository structure
  • the Conan package flow
  • use any build tool you want
  • the starter package generated with dat new contains a basic Bazel build with GTest integrated
  • release the package in Artifactory
  • documentation with Mkdocs
  • through extensions, testing and running your package (check the extensions folder)

Create your own templates and generate your own packages using DAT.

Although a work in progress, DAT provides already the basics to start using it and benefit from increased development efficiency.

Write your own templates and use them:

dat new -n <package_name> -t <your_template_file> -d <destination>

Check https://github.com/demorgan104/dat-templates.git for samples.



Getting started

Install DAT in your python environment

Clone DAT:
    git clone https://github.com/demorgan104/dat
    
Make sure your Python version is 3.9.0

Create a python virtual environment:
    python -m venv ./venv

Activate the virtual environment
    Windows:
      venv/Scripts/activate
    Macos:
      source venv/bin/activate

Install DAT:
    python setup.py install

Test the setup:
    dat -h

Using DAT

Typical usage:

  • Generate a package:

    dat new -n dat_hello

  • Change the directory to your package:

    cd dat_hello

  • Build your package:

    This step requires the installation of Bazel: https://docs.bazel.build/versions/4.1.0/install.html

    dat build

  • Test the package:

    dat test

    This test is for both testing that the package can be used by other packages and executing the unit tests.

  • Check the documentation:

    dat document

  • Run the application (this works for desktop apps only of course):

    dat run

  • Releasing to artifactory:

    For this you need to setup an artifactory server. You can use the following repo for the demo: https://github.com/demorgan104/dat-infrastructure

    Clone this repo and navigate to artifactory directory. There you can run: docker-compose up

    DAT is for the moment configured to work with that and there is no portable configuration available. Feel free to open a pull request for that or modify the source code :)

    Then you can use: dat release



DAT Commands

NAME DESCRIPTION
dat new Create a new ready to use package
dat build Build a package
dat release Release a package
dat test Test your package
dat run Run your executable
dat document Check your documentation




DAT Repositories

NAME DESCRIPTION LINK
dat Dat main repository https://github.com/demorgan104/dat
dat-infrastructure Dat package infrastructure repo https://github.com/demorgan104/dat-infrastructure
dat-templates Templates for DAT https://github.com/demorgan104/dat-templates.git

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dat-build-1.2.6.tar.gz (25.9 kB view details)

Uploaded Source

File details

Details for the file dat-build-1.2.6.tar.gz.

File metadata

  • Download URL: dat-build-1.2.6.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.9

File hashes

Hashes for dat-build-1.2.6.tar.gz
Algorithm Hash digest
SHA256 9f3571c40e4706c409d1393957b94cbbf846f9435d7587e6593936d42ce477a5
MD5 896007cd2ee8df3091bb816931e3cdb4
BLAKE2b-256 5057f81ff42494a0eb24dc08a96abec1415397158195ab68fdf57ab166bd4b1e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page