linux-packaging:makedeb

Full name:

be.hobbiton.maven:linux-packaging-maven-plugin:1.2.1:makedeb

Description:

Create a Debian package.

Binds to the package lifecycle phase for artifacts of type deb

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • Since version: 1.0.0.

Required Parameters

Name Type Since Description
<outputDirectory> File 1.1.0 Directory containing the generated DEB.
Default value is: ${project.build.directory}.
<resourcesDirectory> File 1.1.0 The directory where the resources are to be found
Default value is: ${project.build.outputDirectory}.

Optional Parameters

Name Type Since Description
<architecture> String 1.1.0 The application's Architecture
Default value is: all.
<artifacts> ArtifactPackageEntry[] 1.0.0 The dependent artifacts that should be packaged.
<artifacts>
  <artifact>
    <groupId>be.hobbiton.app</groupid>
    <artifactId>hiapp</artifactid>
    <type>war</type>
    <classifier>jdk8</classifier>
    <destination>/opt/hiapp/</destination>
  </artifact>
</artifacts>

type is optional, default value = jar classifier is optional, default no classifier


<attributes> AttributeSelector[] 1.1.0 Change file and folder attributes using an Ant or Regex style file matcher
<folders>
  <folder>
    <expression>/etc/hiapp/*</expression>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
    <config>true</config>
  </folder>
</folders>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0755
config marks the matching files as conffile, it is optional, default false
one of username, groupname or mode should be specified or config should be true


<defaultDirectoryMode> String 1.0.0 The mode to use for folders when there's no explicit mode set. Specified using octal notation.
Default value is: 0755.
<defaultFileMode> String 1.0.0 The mode to use for files when there's no explicit mode set. Specified using octal notation.
Default value is: 0644.
<defaultGroupname> String 1.0.0 The group name to use for files and folders when there's no explicit group name set
Default value is: root.
<defaultUsername> String 1.0.0 The username to use for files and folders when there's no explicit username set
Default value is: root.
<dependencies> Dependencies 1.2.0 Add the project's dependencies
<dependencies>
    <destination>/opt/lib/</destination>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
    <type>maven</type>
</dependencies>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0755
type is optional, default value = maven
type can be:

  • maven: maven repo style directories
  • flat: all files in the destination directory

<depends> String 1.1.0 The application's Debian package level dependencies
<description> String 1.0.0 The extended description
Default value is: ${project.description}.
<descriptionSynopsis> String 1.0.0 The short description
Default value is: ${project.name}.
<finalName> String 1.0.1 Name of the generated DEB.
Default value is: ${project.build.finalName}.
<folders> FolderEntry[] 1.0.0 The folders that should be created and packaged.
<folders>
  <folder>
    <path>/var/log/hiapp/</path>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
  </folder>
</folders>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0755


<homepage> String 1.1.0 The application's homepage
Default value is: ${project.url}.
<links> LinkEntry[] 1.2.0 The Symbolic links that should be created and packaged.
<links>
  <link>
    <path>/var/opt/data</path>
    <path>../../data</path>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
  </link>
</links>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0644


<maintainer> String 1.0.0 The maintainer information, if not specified the first developer from the developer list is used or when that fails the value of the user.name system property
<packageName> String 1.1.0 The application's Package name
Default value is: ${project.artifactId}.
<priority> String 1.1.0 The application's priority
<section> String 1.1.0 The application's section
<version> String 1.1.0 The application's version, for SNAPSHOT versions, the SNAPSHOT part is replaced with a sortable timestamp to avoid unexpected upgrade behaviour
Default value is: ${project.version}.

Parameter Details

<architecture>

The application's Architecture
  • Type: java.lang.String
  • Since: 1.1.0
  • Required: No
  • Default: all

<artifacts>

The dependent artifacts that should be packaged.
<artifacts>
  <artifact>
    <groupId>be.hobbiton.app</groupid>
    <artifactId>hiapp</artifactid>
    <type>war</type>
    <classifier>jdk8</classifier>
    <destination>/opt/hiapp/</destination>
  </artifact>
</artifacts>

type is optional, default value = jar classifier is optional, default no classifier

  • Type: be.hobbiton.maven.lipamp.plugin.ArtifactPackageEntry[]
  • Since: 1.0.0
  • Required: No

<attributes>

Change file and folder attributes using an Ant or Regex style file matcher
<folders>
  <folder>
    <expression>/etc/hiapp/*</expression>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
    <config>true</config>
  </folder>
</folders>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0755
config marks the matching files as conffile, it is optional, default false
one of username, groupname or mode should be specified or config should be true

  • Type: be.hobbiton.maven.lipamp.plugin.AttributeSelector[]
  • Since: 1.1.0
  • Required: No

<defaultDirectoryMode>

The mode to use for folders when there's no explicit mode set. Specified using octal notation.
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • Default: 0755

<defaultFileMode>

The mode to use for files when there's no explicit mode set. Specified using octal notation.
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • Default: 0644

<defaultGroupname>

The group name to use for files and folders when there's no explicit group name set
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • Default: root

<defaultUsername>

The username to use for files and folders when there's no explicit username set
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • Default: root

<dependencies>

Add the project's dependencies
<dependencies>
    <destination>/opt/lib/</destination>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
    <type>maven</type>
</dependencies>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0755
type is optional, default value = maven
type can be:

  • maven: maven repo style directories
  • flat: all files in the destination directory
  • Type: be.hobbiton.maven.lipamp.plugin.Dependencies
  • Since: 1.2.0
  • Required: No

<depends>

The application's Debian package level dependencies
  • Type: java.lang.String
  • Since: 1.1.0
  • Required: No

<description>

The extended description
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • Default: ${project.description}

<descriptionSynopsis>

The short description
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No
  • Default: ${project.name}

<finalName>

Name of the generated DEB.
  • Type: java.lang.String
  • Since: 1.0.1
  • Required: No
  • Default: ${project.build.finalName}

<folders>

The folders that should be created and packaged.
<folders>
  <folder>
    <path>/var/log/hiapp/</path>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
  </folder>
</folders>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0755

  • Type: be.hobbiton.maven.lipamp.plugin.FolderEntry[]
  • Since: 1.0.0
  • Required: No

<homepage>

The application's homepage
  • Type: java.lang.String
  • Since: 1.1.0
  • Required: No
  • Default: ${project.url}

<links>

The Symbolic links that should be created and packaged.
<links>
  <link>
    <path>/var/opt/data</path>
    <path>../../data</path>
    <username>hiuser</username>
    <groupname>wheel</groupname>
    <mode>0700</mode>
  </link>
</links>

username is optional, default value = root
groupname is optional, default value = root
mode is optional, default value = 0644

  • Type: be.hobbiton.maven.lipamp.plugin.LinkEntry[]
  • Since: 1.2.0
  • Required: No

<maintainer>

The maintainer information, if not specified the first developer from the developer list is used or when that fails the value of the user.name system property
  • Type: java.lang.String
  • Since: 1.0.0
  • Required: No

<outputDirectory>

Directory containing the generated DEB.
  • Type: java.io.File
  • Since: 1.1.0
  • Required: Yes
  • Default: ${project.build.directory}

<packageName>

The application's Package name
  • Type: java.lang.String
  • Since: 1.1.0
  • Required: No
  • Default: ${project.artifactId}

<priority>

The application's priority
  • Type: java.lang.String
  • Since: 1.1.0
  • Required: No

<resourcesDirectory>

The directory where the resources are to be found
  • Type: java.io.File
  • Since: 1.1.0
  • Required: Yes
  • Default: ${project.build.outputDirectory}

<section>

The application's section
  • Type: java.lang.String
  • Since: 1.1.0
  • Required: No

<version>

The application's version, for SNAPSHOT versions, the SNAPSHOT part is replaced with a sortable timestamp to avoid unexpected upgrade behaviour
  • Type: java.lang.String
  • Since: 1.1.0
  • Required: No
  • Default: ${project.version}