gradle - रिपोजिटरी कंटेनर पर तर्क[] के लिए विधि jcenter() नहीं मिला




bintray (2)

मैं ग्रैडल और बिंट्रे के लिए नया हूं। मैं इस परियोजना को प्रकाशित करना चाहता हूं ताकि यह आसानी से मेवेन और एसबीटी उपयोगकर्ताओं के लिए उपलब्ध हो। मैं इस पैकेज का मूल लेखक नहीं हूं; ऐसा लगता है कि छोड़ दिया गया है ; मैं सिर्फ वर्तमान सिर प्रकाशित करना चाहता हूं।

~/.gradle/gradle.properties कुछ ऐसा है:

bintrayUser=mslinn
bintrayKey=blahblah

build.gradle इस तरह दिखता है .:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
    }
}
apply plugin: 'com.jfrog.bintray'

allprojects {
    apply plugin: 'idea'

    group = 'org.jfrog.example.bintray.gradle'
    version = '1.0'
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'maven-publish'
    apply plugin: 'com.jfrog.bintray'

    sourceCompatibility = 1.6
    targetCompatibility = 1.6

    dependencies {
        testCompile 'junit:junit:4.7'
    }

    // custom tasks for creating source/javadoc jars
    task sourcesJar(type: Jar, dependsOn: classes) {
        classifier = 'sources'
        from sourceSets.main.allSource
    }

    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        from javadoc.destinationDir
    }

    // add javadoc/source jar tasks as artifacts
    artifacts {
        archives sourcesJar //, javadocJar
    }

    repositories {
        jcenter()
    }

    publishing {
        publications {
            mavenJava(MavenPublication) {
                if (plugins.hasPlugin('war')) {
                    from components.web
                } else {
                    from components.java
                }

                artifact sourcesJar {
                    classifier "sources"
                }

                artifact javadocJar {
                    classifier "javadoc"
                }
            }
        }
    }

    bintray {
        user = bintrayUser //this usually comes form gradle.properties file in ~/.gradle
        key = bintrayKey //this usually comes form gradle.properties file in ~/.gradle
        publications = ['mavenJava'] // see publications closure
        pkg { //package will be created if does not exist
            repo = 'Java-WebSocket'
//            userOrg = 'myorg' // an optional organization name when the repo belongs to one of the user's orgs
            name = 'Java-WebSocket'
            desc = 'Current HEAD of abandoned project'
            licenses = ['MIT']
            labels = ['websocket', 'java']
        }
    }
}

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

यहां समस्या है:

$ gradle bintrayUpload

FAILURE: Build failed with an exception.

* Where:
Build file '/var/work/experiments/websockets/Java-WebSocket/build.gradle' line: 3

* What went wrong:
A problem occurred evaluating root project 'Java-WebSocket'.
> Could not find method jcenter() for arguments [] on repository container.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

मैं त्रुटि संदेश को हल करने के बारे में सलाह ढूंढ रहा हूं, और किसी भी सेटअप मुद्दों पर सलाह जो मुझे इस परियोजना को जेसीएन्टर में शामिल करने की संभावना है, इसलिए प्रकाशित बिंट्रे प्रोजेक्ट सभी के लिए उपलब्ध है।


टिप्पणियों में चर्चा को सारांशित करने के लिए:

Gradle संस्करण 1.7 में jcenter() शॉर्टकट जोड़ा। इससे पहले कोई भी संस्करण इस अपवाद के साथ असफल हो जाएगा। आप अभी भी एक सामान्य मैवेन रेपो के रूप में जोड़कर जांसर के साथ काम कर सकते हैं:

repositories {
    maven {
        url "https://jcenter.bintray.com"
    }
    ....
}

मुझे यह एक एंड्रॉइड प्रोजेक्ट में मिला, जिसे gradle-wrapper.properties में gradle-wrapper.properties 4.1 में अपग्रेड करने की आवश्यकता थी।