パッケージのビルド

さまざまなパッケージ形式のパッケージをインストールしてビルドする方法を紹介します。

Composer

  1. my-composer-package というディレクトリを作成し、そのディレクトリに移動します:

    mkdir my-composer-package && cd my-composer-package
    
  2. composer init を実行し、プロンプトに答えます。

    namespaceには、GitLabのユーザー名やグループ名など、あなた固有の名前空間を入力します。

    composer.json というファイルが作成されます:

    {
      "name": "<namespace>/composer-test",
      "description": "Library XY",
      "type": "library",
      "license": "GPL-3.0-only",
      "authors": [
        {
          "name": "John Doe",
          "email": "john@example.com"
        }
      ],
      "require": {}
    }
    

Conan

コナンのインストール

前提条件

  • コナンのバージョン1.xをインストールする必要があります。コナンのバージョン2のサポートはエピック8258で提案されています。

conan.ioの指示に従って、Conanパッケージマネージャをローカル開発環境にダウンロードしてください。

インストールが完了したら、ターミナルでConanを使用できることを確認してください:

conan --version

Conan のバージョンが出力されます:

Conan version 1.20.5

CMakeのインストール

C++とConanで開発する場合、多くの利用可能なコンパイラから選択することができます。この例ではCMakeビルド・システム・ジェネレーターを使用します。

CMakeをインストールするには:

  • Mac の場合は、Homebrewを使ってbrew install cmakeを実行してください。
  • その他のオペレーティングシステムでは、cmake.orgの指示に従ってください。

インストールが完了したら、ターミナルでCMakeを実行し、使用できることを確認します:

cmake --version

CMakeのバージョンが出力されます。

プロジェクトの作成

パッケージ・レジストリをテストするには、C++プロジェクトが必要です。まだ持っていない場合は、Conanhello world starterプロジェクトをクローンしてください。

Conanパッケージのビルド

パッケージをビルドするには

  1. ターミナルを開き、プロジェクトのルート・フォルダーに移動します。
  2. パッケージ名とバージョンを指定してconan new を実行し、新しいレシピを生成します:

    conan new Hello/0.1 -t
    
  3. Conan ユーザーとチャンネルでconan create を実行してレシピのパッケージを作成します:

    conan create . mycompany/beta
    
    note
    インスタンスリモートを使用する場合、特定の命名規則に従う必要があります。

レシピHello/0.1@mycompany/beta を持つパッケージが作成されます。

Conanパッケージの作成と管理の詳細については、Conanドキュメントを参照してください。

Maven

Mavenのインストール

必要な最小バージョンは次のとおりです:

  • Java 11.0.5 以上
  • Maven 3.6 以上

maven.apache.orgの説明に従って、ローカル開発環境用のMavenをダウンロードしてインストールしてください。インストールが完了したら、ターミナルで Maven を実行し、使用できることを確認します:

mvn --version

出力は以下のようになります:

Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T20:00:29+01:00)
Maven home: /Users/<your_user>/apache-maven-3.6.1
Java version: 12.0.2, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.2", arch: "x86_64", family: "mac"

Mavenパッケージのビルド

  1. ターミナルを開き、プロジェクトを格納するディレクトリを作成します。
  2. 新しいディレクトリから、この Maven コマンドを実行して新しいパッケージを初期化します:

    mvn archetype:generate -DgroupId=com.mycompany.mydepartment -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    引数は次のとおりです:

    • DgroupId:パッケージを識別する一意の文字列。Mavenの命名規則に従ってください。
    • DartifactId:DgroupIdの末尾に付加されるJARの名前。
    • DarchetypeArtifactId:プロジェクトの初期構造を作成するために使用されるアーキタイプ。
    • DinteractiveMode:バッチモードでプロジェクトを作成します(オプション)。

このメッセージは、プロジェクトが正常にセットアップされたことを示します:

...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.429 s
[INFO] Finished at: 2020-01-28T11:47:04Z
[INFO] ------------------------------------------------------------------------

コマンドを実行したフォルダに、新しいディレクトリが表示されます。ディレクトリ名は、DartifactId パラメータと一致する必要があります。この場合、my-projectです。

Gradle

Gradleのインストール

新しいGradleプロジェクトを作成する場合、Gradleをインストールする必要があります。gradle.orgの指示に従って、ローカル開発環境用のGradleをダウンロードしてインストールしてください。

ターミナルで Gradle を実行し、使用できることを確認します:

gradle -version

既存の Gradle プロジェクトを使用するには、プロジェクトディレクトリで Linux ではgradlew を、Windows ではgradlew.batを実行してください。

出力は以下のようになります:

------------------------------------------------------------
Gradle 6.0.1
------------------------------------------------------------

Build time:   2019-11-18 20:25:01 UTC
Revision:     fad121066a68c4701acd362daf4287a7c309a0f5

Kotlin:       1.3.50
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          11.0.5 (Oracle Corporation 11.0.5+10)
OS:           Windows 10 10.0 amd64

パッケージの作成

  1. ターミナルを開き、プロジェクトを格納するディレクトリを作成します。
  2. この新しいディレクトリで、以下のコマンドを実行して新しいパッケージを初期化します:

    gradle init
    

    出力は次のようになります:

    Select type of project to generate:
      1: basic
      2: application
      3: library
      4: Gradle plugin
    Enter selection (default: basic) [1..4]
    
  3. 3 と入力して、新しいライブラリプロジェクトを作成します。出力されるはずです:

    Select implementation language:
      1: C++
      2: Groovy
      3: Java
      4: Kotlin
      5: Scala
      6: Swift
    
  4. 3 と入力して、新しい Java Library プロジェクトを作成します。出力は次のようになります:

    Select build script DSL:
      1: Groovy
      2: Kotlin
    Enter selection (default: Groovy) [1..2]
    
  5. Groovy DSLで記述された新しいJavaライブラリ・プロジェクトを作成するには1 、Kotlin DSLで記述されたプロジェクトを作成するには2 。出力は次のようになります:

    Select test framework:
      1: JUnit 4
      2: TestNG
      3: Spock
      4: JUnit Jupiter
    
  6. JUnit 4 テスト・ライブラリを使用してプロジェクトを初期化するには、1 と入力します。出力は次のようになります:

    Project name (default: test):
    
  7. プロジェクト名を入力するか、を押します。 ディレクトリ名をプロジェクト名として使用するには、 を入力します。

npm

npmのインストール

npmjs.comの説明に従って、Node.jsとnpmをローカル開発環境にインストールします。

インストールが完了したら、ターミナルで npm を実行し、使用できることを確認します:

npm --version

npmのバージョンが出力されます:

6.10.3

npm パッケージの作成

  1. 空のディレクトリを作成します。
  2. そのディレクトリに移動し、空のパッケージを初期化します:

    npm init
    
  3. 質問に対する回答を入力してください。パッケージ名が 命名規則に従い、レジストリが存在するプロジェクトまたはグループにスコープされていることを確認してください。

ヤーン

毛糸のインストール

npmの代わりに、classic.yarnpkg.comの指示に従ってYarnをローカル環境にインストールすることができます。

インストールが完了したら、ターミナルでYarnが使えることを確認してください:

yarn --version

Yarnのバージョンが出力されます:

1.19.1

パッケージの作成

  1. 空のディレクトリを作成します。
  2. そのディレクトリに移動し、空のパッケージを初期化します:

    yarn init
    
  3. 質問に対する回答を入力してください。パッケージ名が 命名規則に従い、レジストリが存在するプロジェクトまたはグループにスコープされていることを確認してください。

package.json ファイルが作成されます。

NuGet

NuGetのインストール

Microsoftの指示に従ってNuGetをインストールします。Visual Studioがあれば、NuGetはすでにインストールされているでしょう。

を実行して、NuGet CLIがインストールされていることを確認します:

nuget help

出力は以下のようになります:

NuGet Version: 5.1.0.6013
usage: NuGet <command> [args] [options]
Type 'NuGet help <command>' for help on a specific command.

Available commands:

[output truncated]

PyPI

pipとtwineのインストール

最近のバージョンのpipと twineをインストールしてください。

プロジェクトの作成

テストプロジェクトを作成します。

  1. あなたのターミナルを開きます。
  2. MyPyPiPackage というディレクトリを作成し、そのディレクトリに移動します:

    mkdir MyPyPiPackage && cd MyPyPiPackage
    
  3. 別のディレクトリを作成し、そのディレクトリに移動します:

    mkdir mypypipackage && cd mypypipackage
    
  4. このディレクトリに必要なファイルを作成します:

    touch __init__.py
    touch greet.py
    
  5. greet.py

    def SayHello():
        print("Hello from MyPyPiPackage")
        return
    
  6. __init__.py

    from .greet import SayHello
    
  7. コードをテストするには、MyPyPiPackage ディレクトリで Python プロンプトを起動します。

    python
    
  8. 次のコマンドを実行します:

    >>> from mypypipackage import SayHello
    >>> SayHello()
    

プロジェクトが正常にセットアップされたことを示すメッセージが表示されます:

Python 3.8.2 (v3.8.2:7b3ab5921f, Feb 24 2020, 17:52:18)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from mypypipackage import SayHello
>>> SayHello()
Hello from MyPyPiPackage

PyPIパッケージの作成

プロジェクトを作成したら、パッケージを作成します。

  1. ターミナルで、MyPyPiPackage ディレクトリに移動します。
  2. pyproject.toml

    touch pyproject.toml
    

    このファイルにはパッケージに関するすべての情報が含まれています。このファイルの詳細については、creatingpyproject.toml を参照してください。GitLab はPython の正規化された名前 (PEP-503) に基づいてパッケージを識別するので、パッケージ名がこれらの要件を満たしていることを確認してください。詳細はインストールのセクションを参照してください。

  3. pyproject.toml ファイルを開き、基本情報を追加します:

    [build-system]
    requires = ["setuptools>=61.0"]
    build-backend = "setuptools.build_meta"
       
    [project]
    name = "mypypipackage"
    version = "0.0.1"
    authors = [
        { name="Example Author", email="author@example.com" },
    ]
    description = "A small example package"
    requires-python = ">=3.7"
    classifiers = [
       "Programming Language :: Python :: 3",
       "Operating System :: OS Independent",
    ]
       
    [tool.setuptools.packages]
    find = {}
    
  4. ファイルを保存してください。
  5. パッケージ・ビルド・ライブラリをインストールします:

    pip install build
    
  6. パッケージをビルドします:

    python -m build
    

出力は新しく作成されたdist フォルダーに表示されるはずです:

ls dist

出力は以下のように表示されるはずです:

mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gz

これでパッケージをパッケージレジストリに公開する準備ができました。