---
name: "Module::Build::Pluggable::Base"
section: "3pm"
platform: "linux"
package: "libmodule-build-pluggable-perl"
version: "0.10-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Module::Build::Pluggable::Base"
---

# Module::Build::Pluggable::Base(3pm)

Base object for plugins

## NAME

Module::Build::Pluggable::Base - Base object for plugins

## SYNOPSIS

```
    package My::Module::Build::Plugin;
    use parent qw/Module::Build::Pluggable::Base/;
```

## DESCRIPTION

This is a abstract base class for Module::Build::Pluggable.

## METHODS

- $self-\>**builder\_class()** : Str

  Get a class name for Module::Build's subclass.

  You cannot call this method in `"HOOK_prepare"` and **HOOK\_configure** phase.

- $self-\>add\_before\_action\_modifier($action\_name: Str, $callback: Code)

  ```
      $self->add_before_action_modifier('build' => \&code);
  ```

  Add a 'before' action method modifier.

  You need to call this method in `"HOOK_build"` phase.

- $self-\>add\_around\_action\_modifier($action\_name: Str, $callback: Code)

  ```
      $self->add_around_action_modifier('build' => \&code);
  ```

  Add a 'around' action method modifier.

  You need to call this method in `"HOOK_build"` phase.

- $self-\>add\_action($action\_name: Str, $callback: Code)

  Add a new action for Module::Build.

  You need to call this method in `"HOOK_build"` phase.

- $self-\>build\_requires($module\_name:Str\[, $version:Str\])

  Add a build dependencies.

  You need to call this method in `"HOOK_configure"` phase.

- $self-\>configure\_requires($module\_name:Str\[, $version:Str\])

  Add a configure dependencies.

  You need to call this method in `"HOOK_configure"` phase.

- "$self-\>log\_info($msg: Str)"

  Output log in INFO level.

- "$self-\>log\_warn($msg: Str)"

  Output log in WARN level.
