パッケージをビルドする
GitLabパッケージレジストリを使用して、さまざまなパッケージ形式のパッケージをインストールしてビルドします。
次のパッケージマネージャーがサポートされています:
Composer
my-composer-packageというディレクトリを作成し、そのディレクトリに移動します:mkdir my-composer-package && cd my-composer-packagecomposer 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 --versionConanのバージョンが出力に表示されます:
Conan version 1.20.5CMakeをインストール
C++とConanを使用して開発する場合、利用可能な多くのコンパイラから選択できます。この例では、CMakeビルドシステムジェネレーターを使用します。
CMakeをインストールするには:
インストールが完了したら、以下を実行して、ターミナルでCMakeを使用できることを確認します:
cmake --versionCMakeのバージョンが出力に表示されます。
プロジェクトを作成する
パッケージレジストリをテストするには、C++プロジェクトが必要です。まだお持ちでない場合は、Conanのhello world starter projectをクローンできます。
Conan 1パッケージをビルド
パッケージをビルドするには:
ターミナルを開き、プロジェクトのルートフォルダーに移動します。
conan newを呼び出して、パッケージ名とバージョンを指定して新しいレシピを生成します:conan new Hello/0.1 -tconan 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 --versionConanのバージョンが出力に表示されます:
Conan version 2.17.0Conan 2プロファイルを作成
Conan 2のプロファイルを定義する必要があります。すでにプロファイルを定義している場合は、この手順をスキップしてください。
プロファイルを作成するには、次のコマンドを実行します:
conan profile detectプロファイルをチェックします:
conan profile listコマンドは、出力にプロファイルをリストします:
Profiles found in the cache:
default生成されたプロファイルは、通常、開始するのに十分です。Conanプロファイルの詳細については、Conan 2 profilesを参照してください。
CMakeをインストール
C++とConanを使用して開発する場合、利用可能な多くのコンパイラから選択できます。次の例では、CMakeビルドシステムジェネレーターを使用します。
前提要件:
- CMakeをインストールします。
インストールが完了したら、次のコマンドを使用して、ターミナルでCMakeを使用できることを確認します:
cmake --versionCMakeのバージョンが出力に表示されます。
プロジェクトを作成する
前提要件:
- パッケージレジストリをテストするには、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パッケージをビルド
前提要件:
パッケージをビルドするには:
前のセクションで作成した
helloフォルダーにいることを確認してください。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パッケージをビルド
ターミナルを開き、プロジェクトを格納するディレクトリを作成します。
新しいディレクトリから、この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パッケージを作成
ターミナルを開き、プロジェクトを格納するディレクトリを作成します。
この新しいディレクトリから、このコマンドを実行して新しいパッケージを初期化します:
gradle init出力は次のようになります:
Select type of project to generate: 1: basic 2: application 3: library 4: Gradle plugin Enter selection (default: basic) [1..4]3を入力して、新しいライブラリプロジェクトを作成します。出力は次のようになります:Select implementation language: 1: C++ 2: Groovy 3: Java 4: Kotlin 5: Scala 6: Swift3を入力して、新しいJavaライブラリプロジェクトを作成します。出力は次のようになります:Select build script DSL: 1: Groovy 2: Kotlin Enter selection (default: Groovy) [1..2]1を入力して、Groovy DSLで記述された新しいJavaライブラリプロジェクトを作成するか、2を入力して、Kotlin DSLで記述されたプロジェクトを作成します。出力は次のようになります:Select test framework: 1: JUnit 4 2: TestNG 3: Spock 4: JUnit Jupiter1を入力して、JUnit 4テストライブラリを使用してプロジェクトを初期化します。出力は次のようになります:Project name (default: test):プロジェクト名を入力するか、Enterキーを押してディレクトリ名をプロジェクト名として使用します。
sbt
sbtをインストール
新しいsbtプロジェクトを作成するには、sbtをインストールします。
開発環境にsbtをインストールするには:
scala-sbt.orgの手順に従ってください。
ターミナルから、sbtを使用できることを確認します:
sbt --version
出力は次のようになります:
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
sbt script version: 1.9.8Scalaプロジェクトを作成
ターミナルを開き、プロジェクトを格納するディレクトリを作成します。
新しいディレクトリから、新しいプロジェクトを初期化します:
sbt new scala/scala-seed.g8出力は次のとおりです:
Minimum Scala build. name [My Something Project]: hello Template applied in ./helloプロジェクト名を入力するか、Enterキーを押してディレクトリ名をプロジェクト名として使用します。
build.sbtファイルを開き、sbtドキュメントの説明に従って編集し、プロジェクトをパッケージレジストリに公開します。
NPM
npmをインストール
npmjs.comの手順に従って、ローカル開発環境にNode.jsとnpmをインストールします。
インストールが完了したら、以下を実行して、ターミナルでnpmを使用できることを確認します:
npm --versionnpmのバージョンが出力に表示されます:
6.10.3npmパッケージを作成
空のディレクトリを作成します。
そのディレクトリに移動し、以下を実行して空のパッケージを初期化します:
npm init質問に回答を入力します。パッケージ名が命名規則に従い、レジストリが存在するプロジェクトまたはグループにスコープされていることを確認してください。
Yarn
Yarnをインストール
npmの代替として、classic.yarnpkg.comの手順に従って、ローカル環境にYarnをインストールできます。
インストールが完了したら、以下を実行して、ターミナルでYarnを使用できることを確認します:
yarn --versionYarnのバージョンが出力に表示されます:
1.19.1パッケージを作成
空のディレクトリを作成します。
そのディレクトリに移動し、以下を実行して空のパッケージを初期化します:
yarn init質問に回答を入力します。パッケージ名が命名規則に従い、レジストリが存在するプロジェクトまたはグループにスコープされていることを確認してください。
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をインストール
プロジェクトを作成する
テストプロジェクトを作成します。
ターミナルを開きます。
MyPyPiPackageというディレクトリを作成し、そのディレクトリに移動します:mkdir MyPyPiPackage && cd MyPyPiPackage別のディレクトリを作成して、そこに移動します:
mkdir mypypipackage && cd mypypipackageこのディレクトリに必要なファイルを作成します:
touch __init__.py touch greet.pygreet.pyファイルを開き、以下を追加します:def SayHello(): print("Hello from MyPyPiPackage") return__init__.pyファイルを開き、以下を追加します:from .greet import SayHelloコードをテストするには、
MyPyPiPackageディレクトリで、Pythonプロンプトを起動します。pythonこのコマンドを実行します:
>>> 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 MyPyPiPackagePyPIパッケージを作成
プロジェクトを作成したら、パッケージを作成できます。
ターミナルで、
MyPyPiPackageディレクトリに移動します。pyproject.tomlファイルを作成します:touch pyproject.tomlこのファイルには、パッケージに関するすべての情報が含まれています。このファイルの詳細については、
pyproject.tomlの作成を参照してください。GitLabはPythonの正規化された名前(PEP-503)に基づいてパッケージを識別するため、パッケージ名がこれらの要件を満たしていることを確認してください。詳細については、インストールセクションを参照してください。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 = {}ファイルを保存します。
パッケージビルドライブラリをインストールします:
pip install buildパッケージをビルドします:
python -m build
出力は、新しく作成されたdistフォルダーに表示されます:
ls dist出力は次のように表示されるはずです:
mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gzこれで、パッケージをパッケージレジストリに公開する準備ができました。