正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

パッケージをビルドする

GitLabパッケージレジストリを使用して、さまざまなパッケージ形式のパッケージをインストールしてビルドします。

次のパッケージマネージャーがサポートされています:

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

Conan 1をインストール

前提要件:

  • Conanバージョン1.xをインストールする必要があります。

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++プロジェクトが必要です。まだお持ちでない場合は、Conanのhello world starter projectをクローンできます。

Conan 1パッケージをビルド

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

  1. ターミナルを開き、プロジェクトのルートフォルダーに移動します。

  2. conan newを呼び出して、パッケージ名とバージョンを指定して新しいレシピを生成します:

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

    conan create . mycompany/beta

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

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

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

Conan 2

Conan 2をインストール

前提要件:

  • Conanバージョン2.xをインストールする必要があります。ベースとなるConanバージョン2が利用可能になり、今後の改善はepic 8258で追跡できます。

conan.ioの手順に従って、ローカルの開発環境にConanパッケージマネージャーをインストールします。

インストールが完了したら、次のコマンドを実行して、ターミナルでConanを使用できることを確認します:

conan --version

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

Conan version 2.17.0

Conan 2プロファイルを作成

Conan 2のプロファイルを定義する必要があります。すでにプロファイルを定義している場合は、この手順をスキップしてください。

プロファイルを作成するには、次のコマンドを実行します:

conan profile detect

プロファイルをチェックします:

conan profile list

コマンドは、出力にプロファイルをリストします:

Profiles found in the cache:
default

生成されたプロファイルは、通常、開始するのに十分です。Conanプロファイルの詳細については、Conan 2 profilesを参照してください。

CMakeをインストール

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

前提要件:

  • CMakeをインストールします。
    • macOSの場合は、Homebrewをインストールし、brew install cmakeを実行します。
    • 他のオペレーティングシステムの場合は、cmake.orgの手順に従ってください。

インストールが完了したら、次のコマンドを使用して、ターミナルでCMakeを使用できることを確認します:

cmake --version

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

プロジェクトを作成する

前提要件:

  • パッケージレジストリをテストするには、C++プロジェクトが必要です。

ローカルプロジェクトフォルダーに移動し、conan newコマンドを使用して、cmake_libテンプレートで“Hello World” C++ライブラリのサンプルプロジェクトを作成します:

mkdir hello && cd hello
conan new cmake_lib -d name=hello -d version=0.1

より高度な例については、Conan 2 examples projectを参照してください。

Conan 2パッケージをビルド

前提要件:

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

  1. 前のセクションで作成したhelloフォルダーにいることを確認してください。

  2. conan createをConanのユーザー名とチャネルで呼び出して、レシピのパッケージを作成します:

    conan create . --channel=beta --user=mycompany

レシピhello/0.1@mycompany/betaのパッケージが作成されます。

Conanパッケージの作成と管理の詳細については、Creating packagesを参照してください。

Maven

Mavenをインストール

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

  • Java 11.0.5+
  • 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: JARの名前。DgroupIdの末尾に追加されます。
    • 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ライブラリプロジェクトを作成します。出力は次のようになります:

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

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

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

sbt

sbtをインストール

新しいsbtプロジェクトを作成するには、sbtをインストールします。

開発環境にsbtをインストールするには:

  1. scala-sbt.orgの手順に従ってください。

  2. ターミナルから、sbtを使用できることを確認します:

    sbt --version

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

[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
sbt script version: 1.9.8

Scalaプロジェクトを作成

  1. ターミナルを開き、プロジェクトを格納するディレクトリを作成します。

  2. 新しいディレクトリから、新しいプロジェクトを初期化します:

    sbt new scala/scala-seed.g8

    出力は次のとおりです:

    Minimum Scala build.
    
    name [My Something Project]: hello
    
    Template applied in ./hello
  3. プロジェクト名を入力するか、Enterキーを押してディレクトリ名をプロジェクト名として使用します。

  4. build.sbtファイルを開き、sbtドキュメントの説明に従って編集し、プロジェクトをパッケージレジストリに公開します。

NPM

npmをインストール

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

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

npm --version

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

6.10.3

npmパッケージを作成

  1. 空のディレクトリを作成します。

  2. そのディレクトリに移動し、以下を実行して空のパッケージを初期化します:

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

Yarn

Yarnをインストール

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をインストール

最新バージョンのPiptwineをインストールします。

プロジェクトを作成する

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

  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

    このファイルには、パッケージに関するすべての情報が含まれています。このファイルの詳細については、pyproject.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

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