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

DESCRIPTION

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.