DUICUO

この記事では、GitLab を使用して Maven リポジトリを設定する方法について説明します。

序文

会社の既存の GitLab コード管理リポジトリを利用して、Maven リポジトリを設定する予定です。

追記:社内に十分なサーバーリソースがある場合は、Nexus を使用して Maven リポジトリを構築することをご検討ください。これにより、Maven リポジトリ全体の管理がより合理的かつ効率的になります。

ターゲット

参照用の実装を使用することで、AAR ファイルと JAR ファイルを無計画に公開するという歴史に終止符を打つことができます。

Glilab でプロジェクトにパブリック権限を設定すると、他の外部クライアントも Maven リポジトリを使用できるようになります。

実装手順

1. パッケージ構成

Android Studio環境バージョン

 Android Studio 4.2.1
ビルド:Gradle:4.2.1

JAR または AAR にパッケージ化する必要があるプロジェクトの Maven スクリプトを構成します。

プロジェクトの build.gradle ファイルと同じディレクトリに新しいgitlab.gradleファイルを作成します。

次のコードを追加します。

プラグインを適用: 'maven'

アップロードアーカイブ{
リポジトリ.mavenDeployer {
def mavenDirPath = file ( '../maven' ) // 相対パス。コンパイルされたコードは親ディレクトリのmavenフォルダに保存されます。
def mavenDirPath = file ( 'D:\\appmaven' ) // 絶対パス。コンパイルされたコードは、ドライブ D の appmaven フォルダーに保存されます。
リポジトリ( url : "file://${mavenDirPath.absolutePath}" )
pom.プロジェクト{
groupId "cn.zinyan.demo" // パッケージ名
artifactId "Key" // モジュールの名前
version '1.1.1' // バージョン番号
構成後、パッケージ名によってアドレスの最初の項目が決定され、アーティファクト ID によって 2 番目の項目が決定され、バージョンによって 3 番目の項目 (バージョン番号) が決定されます。
//実装 'cn.zinyan.demo:Key:1.1.1'
}
}
}

// javadoc.jar および sources.jar ライブラリを生成しない場合は、次のコードを省略できます。
定義ソースディレクトリ
if (プロジェクト.hasProperty ( "android" )) {
sourceDirs = android.sourceSets.main.java.srcDirs
}それ以外{
sourceDirs = sourceSets.main.java.srcDirs
}

タスクjavadocs (タイプ: Javadoc ) {
ソース=ソースディレクトリ
}
//ドキュメントを生成する
タスクjavadocsJar (: Jar ) {

// classifier='javadoc' // 古い構文で、現在は非推奨です。以下の構文を使用することをお勧めします。
archiveClassifier.set ( 'javadoc' )
javadocs .destinationDirから
}
//ソースを生成する
タスクソースJarタイプJar ){
// classifier='sources' // 古い構文で、現在は非推奨です。以下の構文の使用を推奨します。
archiveClassifier.set ( 'sources' )
ソースディレクトリから
}

アーティファクト{
アーカイブjavadocsJar
アーカイブソースJar
}

build.gradleファイルでgitlab.gradleファイルを参照します。

メソッドを追加: apply from: 'gitlab.gradle'

次に、右側の Gradle パネルで[Tasks] -> [upload] -> [uploadArchives]に移動します。

クリックしてコマンドを実行すると、対応するコンパイル済みコードがローカルに生成されます。

上記のコマンドは、AARおよびJARライブラリのコンパイルを直接サポートします。システムは、libファイルの種類に応じて適切なファイルを自動的に生成します。

2. コードをアップロードする

すべてのコンパイル済み AAR ファイルと JAR ファイルを GI 経由で直接アップロードできます。

これには、aven-metadata.xml、pom、javadoc、ソースなどのファイルが含まれます。

3. GitLab の Maven ライブラリを使用します。

(1)Mavenは公開されています。

GitLab 上の Maven リポジトリ プロジェクトが公開されている場合は、Maven も公開されます。

他の人は、それを呼び出すために Maven リポジトリのアドレスのみを必要とします。

すべてのプロジェクト{
リポジトリ{
メイヴン{
URL 「https://リポジトリアドレス + プロジェクト名/ブランチへの直接リンク/」
}
}

この URL は通常GitLabにあります。

パブリック プロジェクトへのパスは次のようになります: https://domain_address/Group_name/project_name/-/raw/branch_name/。

このプロジェクトがあなたのものであり、グループの一部ではない場合は、グループ名をユーザー名に変更する必要があります。

非常に簡単な方法があります。

gitLab リポジトリにアクセスし、pop.xml など、コミットした XML ファイルの 1 つを開きます。

ブラウザで「https」で始まりパッケージ名で終わるURLが、Maven用に設定する必要があるアドレスです。IDEAは残りのパッケージ名パスを自動的に追加して更新します。

(2)Mavenは非公開です。

GitLab がプライベートで、特定のグループのユーザーのみが使用できる場合。

Maven アドレスをインポートする場所に、対応するアクセス アカウントとトークンを追加する必要があります。

Zhihu (zhihu.com) の記事「GitLab リポジトリを使用してプライベート Maven リポジトリを構築する」を参照できます。

4. Giteeリポジトリの使用例

たとえば、Gitee にシンプルな Maven リポジトリを設定しました。

すべてのプロジェクト{
リポジトリ{
メイヴン{
URL 'https://gitee.com/zinyan/maven/raw/master/'
}
}
実装「com.zinyan.util:general:1.0.0」