Closed SharerMax closed 6 years ago
I create a android library use Android Stuido, then I ccoy gradle-mvn-push.gradle to my module gradle.build file, but occour a error when I sync gradle project. I try run uploadArchices task in termin, it is occour a same error.
error message:
Error:Cannot get property 'main' on null object
I fount it stoped at task androidJavadocs
task androidJavadocs(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) }
My gradle file:
apply plugin: 'com.android.library' apply from: 'config.gradle' //apply from: '../gradle-mvn-push.gradle' android { compileSdkVersion project.ext.android.compileSdkVersion buildToolsVersion project.ext.android.buildToolsVersion defaultConfig { minSdkVersion project.ext.android.minSdkVersion targetSdkVersion project.ext.android.targetSdkVersion versionCode project.ext.android.versionCode versionName project.ext.android.versionName testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled true } buildTypes { debug { buildConfigField 'boolean', 'LOGGER_ENABLE', 'true'; minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { buildConfigField 'boolean', 'LOGGER_ENABLE', 'true'; minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } android { lintOptions { abortOnError false } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project.ext.dependencies.appcompat compile project.ext.dependencies.cardview compile project.ext.dependencies.logger compile project.ext.dependencies.okhttp compile project.ext.dependencies.filedownloader // compile project.ext.dependencies.rxjava // compile project.ext.dependencies.retrofit // compile project.ext.dependencies.rxandroid compile project.ext.dependencies.gson // compile project.ext.dependencies.coverter_gson // compile project.ext.dependencies.adapter_rxjava compile project.ext.dependencies.fresco compile project.ext.dependencies.multidex // compile project.ext.dependencies.blurry // compile 'com.jakewharton:butterknife:8.4.0' // apt 'com.jakewharton:butterknife-compiler:8.4.0' // provided project.ext.dependencies.auto_value // annotationProcessor project.ext.apt.auto_value // annotationProcessor project.ext.apt.auto_value_parcel androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:2.2.1' // compile 'com.google.auto.value:auto-value:1.3' } apply plugin: 'maven' //apply plugin: 'signing' def isReleaseBuild() { return VERSION_NAME.contains("SNAPSHOT") == false } def getReleaseRepositoryUrl() { return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL : "http://localhost:8081/nexus/content/repositories/android_release/" } def getSnapshotRepositoryUrl() { return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL : "http://localhost:8081/nexus/content/repositories/android/" } def getRepositoryUsername() { return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : "" } def getRepositoryPassword() { return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : "" } afterEvaluate { project -> uploadArchives { repositories { mavenDeployer { // beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } pom.groupId = GROUP pom.artifactId = POM_ARTIFACT_ID pom.version = VERSION_NAME repository(url: getReleaseRepositoryUrl()) { authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) } snapshotRepository(url: getSnapshotRepositoryUrl()) { authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) } pom.project { name POM_NAME packaging POM_PACKAGING description POM_DESCRIPTION // url POM_URL // scm { // url POM_SCM_URL // connection POM_SCM_CONNECTION // developerConnection POM_SCM_DEV_CONNECTION // } // // licenses { // license { // name POM_LICENCE_NAME // url POM_LICENCE_URL // distribution POM_LICENCE_DIST // } // } // // developers { // developer { // id POM_DEVELOPER_ID // name POM_DEVELOPER_NAME // } // } } } } } // signing { // required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } // sign configurations.archives // } task androidJavadocs(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) } task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { classifier = 'javadoc' from androidJavadocs.destinationDir } task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles } artifacts { archives androidSourcesJar archives androidJavadocsJar } }
os version windows 10 android studio 2.2.3 gradle version 2.14.1 android gradle plugin 2.2.3
@SharerMax It will work with https://github.com/Vorlonsoft/GradleMavenPush. Please read README.md before use it.
Thanks for your replay. I have resolve my problem . The variate android is conflict where ext
I create a android library use Android Stuido, then I ccoy gradle-mvn-push.gradle to my module gradle.build file, but occour a error when I sync gradle project. I try run uploadArchices task in termin, it is occour a same error.
error message:
I fount it stoped at task androidJavadocs
My gradle file:
os version windows 10 android studio 2.2.3 gradle version 2.14.1 android gradle plugin 2.2.3