GradlepublishToMavenLocalがjarをローカルのMavenリポジトリにコピーしない

クォーク

これが私の完全なbuild.gradleです

buildscript {
    ext.kotlinVersion = '1.3.10'
    ext.dokkaVersion = '0.9.17'
    repositories { mavenLocal() }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokkaVersion"
    }
}

plugins {
    id 'com.github.hierynomus.license' version '0.15.0'
    id 'io.codearte.nexus-staging' version '0.11.0'
    id 'maven-publish'
}

group = 'org.jetbrains.xodus'
version = hasProperty('xodusVersion') ? project.xodusVersion : ''
def isSnapshot = version.endsWith('SNAPSHOT')
def isDailyBuild = hasProperty('dailyBuild') ? project.dailyBuild : false
def mavenPublishUrl = hasProperty('mavenPublishUrl') ? project.mavenPublishUrl : ''
def mavenPublishUsername = hasProperty('mavenPublishUsername') ? project.mavenPublishUsername : ''
def mavenPublishPassword = hasProperty('mavenPublishPassword') ? project.mavenPublishPassword : ''
def signingKeyId = hasProperty('signingKeyId') ? project.signingKeyId : ''
def signingPassword = hasProperty('signingPassword') ? project.signingPassword : ''
def signingSecretKeyRingFile = hasProperty('signingSecretKeyRingFile') ? project.signingSecretKeyRingFile : '../key.gpg'

static def shouldDeploy(project) {
    return project.version.length() > 0 && !(project.name in ['benchmarks', 'samples'])
}

task wrapper(type: Wrapper) {
    gradleVersion = '3.5.1'
}

defaultTasks 'assemble'

// Use nexus-staging-plugin to workaround https://issues.sonatype.org/browse/OSSRH-5454
nexusStaging {
    username = mavenPublishUsername
    password = mavenPublishPassword
    delayBetweenRetriesInMillis = 30000
    stagingProfileId = "89ee7caa6631c4"
}

subprojects {
    apply plugin: 'license'
    apply plugin: 'java'
    apply plugin: 'kotlin'
    apply plugin: 'maven'
    apply plugin: 'signing'
    apply plugin: 'org.jetbrains.dokka'

    sourceCompatibility = 1.7
    compileJava.options.encoding = 'UTF-8'
    group = rootProject.group
    version = rootProject.version
    archivesBaseName = rootProject.name + '-' + project.name

    license {
        header rootProject.file('license/copyright.ftl')
        strictCheck true
        ext.inceptionYear = 2010
        ext.year = Calendar.getInstance().get(Calendar.YEAR)
        ext.owner = 'JetBrains s.r.o.'
        include "**/*.kt"
        include "**/*.java"
        mapping {
            kt = 'JAVADOC_STYLE'
        }
    }

    repositories {
        mavenCentral()
        mavenLocal()
    }

    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12'
        testCompile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25'
    }

    // tests for most of sub-projects run with database encryption turned on
    if (!(project.name in ['benchmarks', 'compress', 'crypto', 'openAPI', 'samples', 'utils'])) {
        test {
            systemProperty 'exodus.cipherId', 'jetbrains.exodus.crypto.streamciphers.ChaChaStreamCipherProvider'
            systemProperty 'exodus.cipherKey', '000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f'
            systemProperty 'exodus.cipherBasicIV', '314159262718281828'
            // uncomment the following line to run tests in-memory
            //systemProperty 'exodus.log.readerWriterProvider', 'jetbrains.exodus.io.inMemory.MemoryDataReaderWriterProvider'
        }
        dependencies {
            testCompile project(':crypto')
        }
    }

    tasks.withType(JavaCompile) {
        options.encoding = 'UTF-8'
    }

    jar {
        manifest {
            attributes 'Implementation-Title': archivesBaseName, 'Implementation-Version': version
        }
    }

    test {
        minHeapSize = '1g'
        maxHeapSize = '1g'
        //jvmArgs = ['-ea', '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=2808']
        //testLogging.showStandardStreams = true
    }

    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        duplicatesStrategy 'exclude'
        includeEmptyDirs false
        from javadoc.destinationDir
    }
    javadoc.failOnError = false
    // work around for Java 8 javadoc which is too strict
    if (JavaVersion.current().isJava8Compatible()) {
        tasks.withType(Javadoc) {
            options.addStringOption('Xdoclint:none', '-quiet')
        }
    }

    task sourceJar(type: Jar) {
        classifier = 'sources'
        duplicatesStrategy 'exclude'
        includeEmptyDirs false
        from project.sourceSets.main.java
        from project.sourceSets.main.kotlin
    }

    // configuring projects with Kotlin sources
    dependencies {
        compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
        compile 'io.github.microutils:kotlin-logging:1.5.4'
    }
    compileKotlin {
        kotlinOptions {
            languageVersion = '1.2'
            apiVersion = '1.2'
        }
    }
    compileTestKotlin {
        kotlinOptions {
            languageVersion = '1.2'
            apiVersion = '1.2'
        }
    }
    dokka {
        jdkVersion = 7
        packageOptions {
            reportUndocumented = false
        }
    }
    task dokkaJavadoc(type: org.jetbrains.dokka.gradle.DokkaTask) {
        outputFormat = 'javadoc'
        outputDirectory = "$buildDir/javadoc"
    }
    javadocJar {
        dependsOn dokkaJavadoc
        from dokkaJavadoc.outputDirectory
    }

    artifacts {
        archives jar, javadocJar, sourceJar
    }

    if (!isSnapshot && signingKeyId.length() > 0) {
        ext.'signing.keyId' = signingKeyId
        ext.'signing.password' = signingPassword
        ext.'signing.secretKeyRingFile' = signingSecretKeyRingFile
    }

    afterEvaluate { project ->
        if (shouldDeploy(project)) {
            uploadArchives {
                repositories {
                    mavenDeployer {

                        beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

                        if (isDailyBuild) {
                            repository(url: "https://api.bintray.com/maven/jetbrains/xodus/" + archivesBaseName + "/;publish=1") {
                                authentication(userName: mavenPublishUsername, password: mavenPublishPassword)
                            }
                        } else {
                            repository(url: mavenPublishUrl) {
                                authentication(userName: mavenPublishUsername, password: mavenPublishPassword)
                            }
                        }

                        pom.project {
                            name 'Xodus'
                            description 'Xodus is pure Java transactional schema-less embedded database'
                            packaging 'jar'
                            url 'https://github.com/JetBrains/xodus'

                            scm {
                                url 'https://github.com/JetBrains/xodus'
                                connection 'scm:git:https://github.com/JetBrains/xodus.git'
                                developerConnection 'scm:git:https://github.com/JetBrains/xodus.git'
                            }

                            licenses {
                                license {
                                    name 'The Apache Software License, Version 2.0'
                                    url 'http://www.apache.org/license/LICENSE-2.0.txt'
                                    distribution 'repo'
                                }
                            }

                            developers {
                                developer {
                                    id 'JetBrains'
                                    name 'JetBrains Team'
                                    organization 'JetBrains s.r.o'
                                    organizationUrl 'http://www.jetbrains.com'
                                }
                            }
                        }
                    }
                }
            }
            signing {
                required { !isSnapshot && signingKeyId.length() > 0 && gradle.taskGraph.hasTask('uploadArchives') }
                sign configurations.archives
            }
        }
    }
}

jarがローカルのMavenフォルダーにコピーされるのを妨げている構成/設定に何が欠けている可能性がありますか?

ダニエレ

ビルドはmavenプラグインを使用します。gradlew installローカルリポジトリに公開するために使用する必要がありますgradle.maven.pluginのドキュメントを参照してください

githubからxodusプロジェクトをビルドしてみました。おそらく、そこからjarが作成されていないため、「サンプル」プロジェクトにブレークをインストールします。とにかく、そのモジュールをインストールする必要はありません(サンプルコードのみが含まれています)。だからあなたは使うことができますgradlew clean install -x :samples:install

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jenkinsがローカルの.m2リポジトリからjarを取得しないMavenビルド

分類Dev

MavenがプロジェクトビルドJARをローカルリポジトリにインストールしないようにする方法

分類Dev

Mavenコンパイルがローカルリポジトリの依存関係を認識しない

分類Dev

ローカルmavenリポジトリの追加がオプションではないmavenプロジェクト(コンパイル、ビルド、パッケージ)にサードパーティのjarをどのように含めますか?

分類Dev

ローカルリポジトリを使用しないMaven

分類Dev

gradleを使用してjarをローカルのMavenリポジトリにアップロードします

分類Dev

m2eがローカルリポジトリ内のJARを検出しない

分類Dev

私のMavenローカルリポジトリにjarファイルを保持する必要があります

分類Dev

スタンドアロンjarをローカルのMavenリポジトリにインポートする

分類Dev

ローカルのgitリポジトリを別のサーバーにコピーしますか?

分類Dev

ローカルコピーを維持しながら、デフォルトの追跡されていないファイルをgitリポジトリに保持するにはどうすればよいですか?

分類Dev

Maven:ローカルjarをターゲットディレクトリにコピーします

分類Dev

Android StudioがローカルのMavenリポジトリーを見つけられない

分類Dev

Gradleを使用したローカルリポジトリのようなMaven

分類Dev

カスタムjarをMavenローカルリポジトリに追加します

分類Dev

ビルドする前に、jarをMavenローカルリポジトリに追加します

分類Dev

ローカルのバージョン管理されていないコピーを削除せずに、SVNリモートリポジトリからディレクトリ/ファイルを削除します

分類Dev

ローカルのMavenリポジトリを使用するとJavadocが表示されない

分類Dev

Maven依存関係の中央リポジトリにjarがなく、アーティファクトがないためにMavenビルドが失敗します

分類Dev

ローカルのMavenリポジトリから.jarファイルを取得します

分類Dev

Mavenは生成されたjarをローカルリポジトリに入れていません

分類Dev

mavenリポジトリからjarファイルをダウンロードするためにwgetが機能しない

分類Dev

Maven2にリソースをビルドディレクトリにコピーさせるが、それらをJARにバンドルしない

分類Dev

githubローカルリポジトリを別のコンピューターにコピーするにはどうすればよいですか?

分類Dev

特定のGitHubリポジトリからローカルGitリポジトリにマージすると、ローカルリポジトリにコミットされていない変更が生じるのはなぜですか?

分類Dev

ローカルコンピューターポリシーエディターがレジストリ設定をサポートしないのはなぜですか?

分類Dev

リポジトリのURLを変更しながらjarを再ダウンロードする方法をMaven

分類Dev

Gitlab:リポジトリのローカルコピーをクラウド上のコードの現在のバージョンに戻します

分類Dev

Maven がローカル リポジトリ アーティファクトを見つけられない

Related 関連記事

  1. 1

    jenkinsがローカルの.m2リポジトリからjarを取得しないMavenビルド

  2. 2

    MavenがプロジェクトビルドJARをローカルリポジトリにインストールしないようにする方法

  3. 3

    Mavenコンパイルがローカルリポジトリの依存関係を認識しない

  4. 4

    ローカルmavenリポジトリの追加がオプションではないmavenプロジェクト(コンパイル、ビルド、パッケージ)にサードパーティのjarをどのように含めますか?

  5. 5

    ローカルリポジトリを使用しないMaven

  6. 6

    gradleを使用してjarをローカルのMavenリポジトリにアップロードします

  7. 7

    m2eがローカルリポジトリ内のJARを検出しない

  8. 8

    私のMavenローカルリポジトリにjarファイルを保持する必要があります

  9. 9

    スタンドアロンjarをローカルのMavenリポジトリにインポートする

  10. 10

    ローカルのgitリポジトリを別のサーバーにコピーしますか?

  11. 11

    ローカルコピーを維持しながら、デフォルトの追跡されていないファイルをgitリポジトリに保持するにはどうすればよいですか?

  12. 12

    Maven:ローカルjarをターゲットディレクトリにコピーします

  13. 13

    Android StudioがローカルのMavenリポジトリーを見つけられない

  14. 14

    Gradleを使用したローカルリポジトリのようなMaven

  15. 15

    カスタムjarをMavenローカルリポジトリに追加します

  16. 16

    ビルドする前に、jarをMavenローカルリポジトリに追加します

  17. 17

    ローカルのバージョン管理されていないコピーを削除せずに、SVNリモートリポジトリからディレクトリ/ファイルを削除します

  18. 18

    ローカルのMavenリポジトリを使用するとJavadocが表示されない

  19. 19

    Maven依存関係の中央リポジトリにjarがなく、アーティファクトがないためにMavenビルドが失敗します

  20. 20

    ローカルのMavenリポジトリから.jarファイルを取得します

  21. 21

    Mavenは生成されたjarをローカルリポジトリに入れていません

  22. 22

    mavenリポジトリからjarファイルをダウンロードするためにwgetが機能しない

  23. 23

    Maven2にリソースをビルドディレクトリにコピーさせるが、それらをJARにバンドルしない

  24. 24

    githubローカルリポジトリを別のコンピューターにコピーするにはどうすればよいですか?

  25. 25

    特定のGitHubリポジトリからローカルGitリポジトリにマージすると、ローカルリポジトリにコミットされていない変更が生じるのはなぜですか?

  26. 26

    ローカルコンピューターポリシーエディターがレジストリ設定をサポートしないのはなぜですか?

  27. 27

    リポジトリのURLを変更しながらjarを再ダウンロードする方法をMaven

  28. 28

    Gitlab:リポジトリのローカルコピーをクラウド上のコードの現在のバージョンに戻します

  29. 29

    Maven がローカル リポジトリ アーティファクトを見つけられない

ホットタグ

アーカイブ