PAC Project Root

A pure Java implementation of tools for building Arch Linux packages.

Лицензия

Лицензия

Группа

Группа

com.github.gino0631
Идентификатор

Идентификатор

pac-root
Последняя версия

Последняя версия

1.0
Дата

Дата

Тип

Тип

pom
Описание

Описание

PAC Project Root
A pure Java implementation of tools for building Arch Linux packages.
Ссылка на сайт

Ссылка на сайт

https://github.com/gino0631/pac
Система контроля версий

Система контроля версий

https://github.com/gino0631/pac

Скачать pac-root

Имя Файла Размер
pac-root-1.0.pom 5 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.gino0631/pac-root/ -->
<dependency>
    <groupId>com.github.gino0631</groupId>
    <artifactId>pac-root</artifactId>
    <version>1.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.gino0631/pac-root/
implementation 'com.github.gino0631:pac-root:1.0'
// https://jarcasting.com/artifacts/com.github.gino0631/pac-root/
implementation ("com.github.gino0631:pac-root:1.0")
'com.github.gino0631:pac-root:pom:1.0'
<dependency org="com.github.gino0631" name="pac-root" rev="1.0">
  <artifact name="pac-root" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.gino0631', module='pac-root', version='1.0')
)
libraryDependencies += "com.github.gino0631" % "pac-root" % "1.0"
[com.github.gino0631/pac-root "1.0"]

Зависимости

test (1)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12

Модули Проекта

  • pac-core
  • pac-maven-plugin

PAC

Build Status Maven Central

A pure Java implementation of tools for building Arch Linux packages.

Requirements

  • Maven 3
  • Java 8

Usage

The tools consist of a Java library and plugins for build systems (currently, only Maven is supported).

Maven plugin

The first step is to add the plugin to your project:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
        <plugin>
          <groupId>com.github.gino0631</groupId>
          <artifactId>pac-maven-plugin</artifactId>
          <version>...</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>com.github.gino0631</groupId>
        <artifactId>pac-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>create-arch-package</id>
            <phase>package</phase>
            <goals><goal>package</goal></goals>
            <configuration>
              <root>${project.build.directory}/product/linux-noarch</root>
              ...
              <permissionSets>
                ...
              </permissionSets>
            </configuration>
          </execution>
        </executions>
      </plugin>
    ...
    </plugins>
    ...
  </build>
  ...
</project>

The most important configuration parameter is root, which specifies the directory containing the payload to be installed. Its contents should be relative to the root directory on a target system.

The following parameters are required, but they have reasonable default values, so it is necessary to specify them only to change the defaults:

<packageName>${project.artifactId}</packageName>
<packageVersion>${project.artifact.selectedVersion.majorVersion}.${project.artifact.selectedVersion.minorVersion}.${project.artifact.selectedVersion.incrementalVersion}</packageVersion>
<releaseNumber>1</releaseNumber>
<architecture>any</architecture>

Other optional parameters allow to further define the properties of the package:

<description>...</description>
<url>...</url>
<packager>...</packager>
<licenses>
  <license>...</license>
</licenses>
<depends>
  <depend>...</depend>
</depends>
<optDepends>
  <optDepend>...</optDepend>
</optDepends>

Refer to PKGBUILD(5) and makepkg.conf(5) manual pages for information about their meanings and possible values.

By default, all installed files and directories will have 0644 and 0755 permissions set accordingly. To change this, use permissionSets, for example:

<permissionSets>
  <permissionSet>
    <includes>
      <include>**/*.sh</include>
    </includes>
    <fileMode>0755</fileMode>
  </permissionSet>
</permissionSets>

The permissionSets are processed in the order they are specified, and every permissionSet that matches (according to its include and exclude patterns) sets fileMode, directoryMode, uid and gid (if they are specified) on the file or directory in question.

Standalone library

Add a dependency on com.github.gino0631:pac-core to your project, and use PackageBuilder class.

Версии библиотеки

Версия
1.0