summaryrefslogtreecommitdiff
path: root/src/_slides/perl6-using-app-assixt-to-improve-module-development.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/_slides/perl6-using-app-assixt-to-improve-module-development.md')
-rw-r--r--src/_slides/perl6-using-app-assixt-to-improve-module-development.md244
1 files changed, 0 insertions, 244 deletions
diff --git a/src/_slides/perl6-using-app-assixt-to-improve-module-development.md b/src/_slides/perl6-using-app-assixt-to-improve-module-development.md
deleted file mode 100644
index b16c979..0000000
--- a/src/_slides/perl6-using-app-assixt-to-improve-module-development.md
+++ /dev/null
@@ -1,244 +0,0 @@
----
-title: "Perl6: Using `App::Assixt` to improve module development"
-event: 14th Dutch Perl Workshop
-date: 2018-07-07
----
-
-# `App::Assixt`
-## Improving module development
-
----
-
-# About me
-
-- Patrick Spek (`TYIL`)
-- https://www.tyil.nl
-- @tyil@mastodon.social
-
-note:
- I have about 10 Perl 6 modules available on CPAN right now. `Config` and
- parser modules, `IRC::Client` plugins, `Hash::Merge`, `Dist::Helper` and
- `App::Assixt`.
-
----
-
-# Why?
-
-- Manually updating JSON is annoying
-- Wanted to ease development
-- Wanted easier way to distribute
-
-note:
- It's my 2nd project in Perl 6, following `Config`.
-
----
-
-# How?
-
-- Uses `Dist::Helper`
-- Updates `META6.json`
-- Creates skeleton files
-
-note:
- `Dist::Helper` is the base that deals with the actual interaction with the
- modules. `App::Assixt` is a CLI frontend with some nice extras to make it
- usable.
-
----
-
-# How do I get it?
-
-```
-$ zef install App::Assixt
-```
-
-note:
- `App::Assixt` is easily available through `CPAN`, and `zef` is able to
- install it cleanly nowadays.
-
----
-
-# Using it
-
-```
-$ assixt help
-```
-
-```
-$ p6man assixt
-```
-
-note:
- - p6man is shipped with `Pod::To::Pager`, still in development!
-
----
-
-# Creating a new project
-
-## Manual
-```
-$ mkdir my-new-perl6-project
-$ cp my-old-project/META6.json my-new-perl6-project/.
-$ $EDITOR my-new-perl6-project/META6.json
-```
-
-## `assixt`
-```
-$ assixt new --name=my-new-perl6-project
-```
-
-note:
- - `assixt new` can also be done without arguments, it will ask for a name
- then
- - additional questions will also be asked to fill out the META6.json
- - `assixt` will add gitlab-ci, travis configuration
- - default changelog
- - gitignore
-
----
-
-# Adding files
-
-## Manual
-```
-$ mkdir -p lib/App/Local
-$ touch lib/App/Local/NewClass.pm6
-$ $EDITOR META6.json
-```
-
-## `assixt`
-```
-$ assixt touch class App::Local::NewClass
-```
-
-- Classes
-- Tests
-- Unit modules
-
----
-
-# Adding a dependency
-
-## Manual
-```
-$ $EDITOR META6.json
-$ zef install Config
-```
-
-## `assixt`
-```
-$ assixt depend Config
-```
-
-note:
- `--no-install` skips the step where `zef` tries to install the module.
-
----
-
-# Bumping the version
-
-## Manual
-```
-$ $EDITOR META6.json
-```
-
-## `assixt`
-```
-$ assixt bump
-```
-
-note:
- - `bump` asks for additional user input to decide whether to bump the patch,
- minor or major level.
- - In a next release, will also update `=VERSION` in pod, and CHANGELOG
- releases.
-
----
-
-# Create a new dist
-
-## Manual
-```
-$ tar czf My-Dist-0.1.2.tar.gz --exclude-vcs-ignores [--exclude...] .
-$ mv !:2 ~/.local/dists/.
-```
-
-## `assixt`
-```
-$ assixt dist
-```
-
----
-
-# Uploading to CPAN
-
-## Manual
-Through your favourite webbrowser
-
-## `assixt`
-```
-$ assixt upload ~/.local/var/assixt/dists/Dist-Helper-0.19.0.tar.gz
-```
-
-note:
- After starting development and testing of `assixt`, I eventually found `mi6`,
- but I stick to `assixt` as it can do much more.
-
----
-
-# `push` shorthand
-
-```
-$ assixt push
-```
-
-- Bump
-- Dist
-- Upload
-
-note:
- Does a `bump`, `dist` and `upload`, one after another.
-
----
-
-# Workflow
-
-```
-$ assixt new Local::App
-$ cd perl6-local-app
-$ assixt depend Config
-$ assixt touch class Local::App::Foo
-$ $EDITOR
-$ assixt push
-```
-
-note:
- Creates a new module directory, make the module depend on `Config`, create a
- class named `Local::App::Foo` and push the module to CPAN.
-
----
-
-# Future plans
-
----
-
-## QA check
-- Will perform QA checks to improve module quality
-- Based on `Release::Checklist` by [Tux]
-- Work In Progress on Github
-
----
-
-## Other ideas
-- `meta`: To update misc dist info, such as the authors
-- `sync-meta`: To synchronize a `META6.json` from an existing module
-- Improve `new`: Also generate a default `README.pod6`
-
-note:
- `sync-meta` is intended to also create a new `META6.json` if none exists
- yet.
-
----
-
-# Questions
-