Ddt - Distribution Development Tool

NAME

Ddt - Distribution Development Tool

SYNOPSIS

$ ddt --license-name=LGPL new Foo::Bar # create Foo-Bar distribution
  $ cd Foo-Bar
  $ ddt build        # build the distribution and re-generate
                     # README.md & META6.json
  $ ddt -C test      # Run tests when files change

Ddt is an authoring and distribution development tool for Raku. It provides scaffolding for generating new distributions, packages, modules, grammers, classes and roles.

WARNING

This project is a technology preview. It may change at any point. The only API which can be considered stable up to the v1.0 is the command line interface.

USAGE

ddt [--license-name=«NAME»] new <module> -- Create new module
  ddt build                                -- Build the distribution and
                                              update README.md
  ddt [-C|--continues] test [<tests> …]    -- Run distribution tests
  ddt release                              -- Make release
  ddt hack <identity> [<dir>]              -- Checkout a Distribution and
                                              start hacking on it
  ddt generate class <name>                -- Generate a class
  ddt generate role <name>                 -- Generate a role
  ddt generate package <name>              -- Generate a package
  ddt generate grammar <name>              -- Generate a grammar
  ddt generate module <name>               -- Generate a module
  ddt generate test <name> [<description>] -- Generate stub test file
  ddt [-v] deps distri                     -- Show all the modules used
  ddt [-u|--update] deps                   -- Update META6.json dependencies
  ddt watch [<cmd>…]                       -- Watch lib/, bin/ & t/ for
                                              changes respecting .gitignore
                                              and execute given cmd

INSTALLATION

# with zef
  > zef install Ddt

Differences to Mi6

  • Support for different licenses via License::Software

  • META6 is generated using META6

  • Meta test

  • Use prove for tests

  • Run tests on changes

  • Extended .gitignore

  • Support for different licenses

  • Support for Distributions with a hyphen in the name

FAQ

  • How can I manage depends, build-depends, test-depends?

Use ddt -u deps

  • Where is the spec of META6.json?

The documentation site describes the current practices pretty well at https://docs.raku.org/language/modules#Distributing_modules. The original design document of META6.json is available at http://design.perl6.org/S22.html.

SEE ALSO

AUTHOR

COPYRIGHT AND LICENSE

  • Copyright © 2015 Shoichi Kaji

  • Copyright © 2016-2017 Bahtiar `kalkin-` Gadimov

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.

Ddt v0.8.1

Distribution Development Tool

Authors

  • Bahtiar `kalkin-` Gadimov
  • Polgár Márton
  • Shoichi Kaji

License

Artistic-2.0

Dependencies

File::FindFile::IgnoreFile::TempJSON::FastLicense::Software:ver<0.3.*>META6Pod::To::MarkdownTest::METAZefZef::ClientZef::ConfigZef::DistributionZef::Identity

Test Dependencies

Provides

  • Ddt
  • Ddt::Distribution
  • Ddt::JSON
  • Ddt::License
  • Ddt::Plugins::Build
  • Ddt::Plugins::Deps
  • Ddt::Plugins::Hack
  • Ddt::Plugins::New
  • Ddt::Plugins::Release
  • Ddt::Plugins::Test
  • Ddt::Plugins::Unit-Generator
  • Ddt::Plugins::Watch
  • Ddt::Template

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.