Grade理解:Artfact


記事の目次
  • 、概念
  • を使用する.
  • .archives
  • を使用する.
  • .カスタムCofigration
  • を使用する.
  • 2.3 mavenプラグインを使用する
  • 2.4 maven-publishプラグインを使用する
  • 一、概念
    Artfact
    部品、ワーク.代表的なのは領域の対象で、それは公開されるファイルとどのように発行される情報を含んでいます.(Jarファイルとそのpomファイルなど)
    PublishArtfact
    一つのプロジェクトを通して生産された一つのアーティファクトです.
    Configrable PublishArtfact
    設定可能なPublishArtfactです.
    アーティファクト{}
    ArtfactHandlerを配置するために使用します.
    アーティファクト{}の内容
    アーティファクトでは、各設定ごとにConfigrable Publish Artfact(dependencies{}のそれぞれが一つのDependencyを生成します.種類によって、異なるサブクラスがあります.)
    二、使う
    2.1 archivesを使用する
    Gradeのbase pluginは、プロジェクトの各configrationにbuild「ConfigurationName」 taskとupload「ConfigurationName」 taskを生成する.
    build、uplad会build、uploadこのconfigrationが持つアーティファクトを実行します.java pluginarchivesのconfigrationがあるように、base pluginは、それに基づいてupladArchivesを生成する.
    だから、一般的にはarchivesでアーティファクトを宣言することができます.
    task gdJar(type: Jar) {
        doLast {
            println "gdJar exec"
        }
    }
    
    artifacts {
        //   gdJar    artifact,   archives   
        archives gdJar
    }
    
    // Gradle       task
    uploadArchives {
        repositories {
            //       maven   
            maven {
                //    build.gradle         
                url "file:myRepoMaven"
            }
        }
    }
    
    upoloadArchives taskを実行すると、gdJarが生成したjarファイルを対応倉庫ディレクトリにアップロードします.
    2.2カスタムConfigrationを使用する
    task gdJar(type: Jar) {
        doLast {
            println "gdJar exec"
        }
    }
    
    artifacts {
        //   gdJar    artifact,   gdArchives   
        gdArchives gdJar
    }
    
    uploadGdArchives {
        repositories {
            //       maven   
            maven {
                //    build.gradle         
                url "file:myRepoMaven"
            }
        }
    }
    
    uplloadGdArchives taskを実行すると、gdJarが生成したjarファイルを対応倉庫ディレクトリにアップロードします.
    2.3 Mavenプラグインを使用するmavenプラグインは、mavenDeployerの構成ブロックを提供しています.gdArchivesというconfigrationを例にしています.
    apply plugin: 'maven'
    
    uploadGdArchives {
        repositories {
            //       maven   
            // maven       mavenDeployer
            mavenDeployer {
                //             
                def url = 'file:myRepoMaven'
                repository(url: url)
            }
        }
    }
    
    uplloadGdArchives taskを実行すると、gdJarが生成したjarファイルを対応倉庫ディレクトリにアップロードします.
    2.4 maven-publishプラグインを使用するmavenプラグインは元々のアーティファクトリリース方式であり、maven-publishプラグインは更新されたものであり、Grandleが提唱するアーティファクト発行方式でもある.maven-publishはリリースのwhat、where、howを定義しています.
    publishing {
        //         ,what
        publications {
            myLibrary(MavenPublication) {
                from components.java
            }
        }
    
        //         ,where
        repositories {
            maven {
                name 'myRepo'
                url "file:myRepoMaven"
            }
        }
    
        // how
        // publications   repositories        task
        // publish「PubName」PublicationTo「RepoName」Repository:
        // publish「MyLibrary」PublicationTo「MyRepo」Repository
    }
    
    publishMyLibraryPublicationToMyRepoRepository taskを実行すると、gdJarが生成したjarファイルを対応する倉庫ディレクトリにアップロードします.