apply plugin: 'com.android.library' apply plugin: 'maven-publish' apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle' //To upload to maven central //http://zserge.com/blog/gradle-maven-publish.html //gradle uploadArchives buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } dependencies { //compile fileTree(dir: 'libs', include: '*.jar') compile 'com.android.support:support-v4:23.4.0' } android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } defaultConfig { minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) versionCode Integer.parseInt(project.VERSION_CODE) versionName project.VERSION_NAME } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false } } //Execute "gradle clean jarRelease" to cook jar. android.libraryVariants.all { variant -> def name = variant.buildType.name if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) { return; // Skip debug builds. } def task = project.tasks.create "jar${name.capitalize()}", Jar task.dependsOn variant.javaCompile task.from variant.javaCompile.destinationDir artifacts.add('archives', task); } // To publish to maven local execute "gradle clean build publishToMavenLocal" // To publish to nexus execute "gradle clean build publish" android.libraryVariants publishing { publications { maven(MavenPublication) { artifact "${project.buildDir}/outputs/aar/${project.name}-release.aar" artifactId = POM_ARTIFACT_ID groupId = GROUP version = VERSION_NAME // Task androidSourcesJar is provided by gradle-mvn-push.gradle //artifact androidSourcesJar { // classifier "sources" //} } } repositories { maven { credentials { username 'nexusUser' password 'nexusPass' } url "http://your-nexus-url/" } } }