diff --git a/android-startup/bintray.gradle b/android-startup/bintray.gradle new file mode 100644 index 0000000..6e644a7 --- /dev/null +++ b/android-startup/bintray.gradle @@ -0,0 +1,62 @@ +apply plugin: 'com.jfrog.bintray' + +version = libraryVersion + +if (project.hasProperty("android")) { // Android libraries + task sourcesJar(type: Jar) { + archiveClassifier.convention('sources') + archiveClassifier.set('sources') + from android.sourceSets.main.java.srcDirs + } + + task javadoc(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + } +} else { // Java libraries + task sourcesJar(type: Jar, dependsOn: classes) { + archiveClassifier.convention('sources') + archiveClassifier.set('sources') + from sourceSets.main.allSource + } +} + +task javadocJar(type: Jar, dependsOn: javadoc) { + archiveClassifier.convention('javadoc') + archiveClassifier.set('javadoc') + from javadoc.destinationDir +} + +artifacts { +// archives javadocJar + archives sourcesJar +} + +// Bintray +Properties properties = new Properties() +properties.load(project.rootProject.file('local.properties').newDataInputStream()) + +bintray { + user = properties.getProperty("bintray.user") + key = properties.getProperty("bintray.apikey") + + configurations = ['archives'] + pkg { + repo = bintrayRepo + name = bintrayName + desc = libraryDescription + websiteUrl = siteUrl + vcsUrl = gitUrl + licenses = allLicenses + publish = true + publicDownloadNumbers = true + version { + desc = libraryDescription + gpg { + sign = true //Determines whether to GPG sign the files. The default is false + passphrase = properties.getProperty("bintray.gpg.password") + //Optional. The passphrase for GPG signing' + } + } + } +} \ No newline at end of file diff --git a/android-startup/build.gradle b/android-startup/build.gradle index 96a8d03..7ff2996 100644 --- a/android-startup/build.gradle +++ b/android-startup/build.gradle @@ -1,6 +1,7 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +apply from: 'maven.gradle' android { compileSdkVersion Versions.compile_sdk_version diff --git a/android-startup/install.gradle b/android-startup/install.gradle new file mode 100644 index 0000000..cdb363c --- /dev/null +++ b/android-startup/install.gradle @@ -0,0 +1,42 @@ +apply plugin: 'com.github.dcendents.android-maven' + +group = publishedGroupId // Maven Group ID for the artifact + +install { + repositories.mavenInstaller { + // This generates POM.xml with proper parameters + pom { + project { + packaging 'aar' + groupId publishedGroupId + artifactId artifact + + // Add your description here + name libraryName + description libraryDescription + url siteUrl + + // Set your license + licenses { + license { + name licenseName + url licenseUrl + } + } + developers { + developer { + id developerId + name developerName + email developerEmail + } + } + scm { + connection gitUrl + developerConnection gitUrl + url siteUrl + + } + } + } + } +} \ No newline at end of file diff --git a/android-startup/maven.gradle b/android-startup/maven.gradle new file mode 100644 index 0000000..2935250 --- /dev/null +++ b/android-startup/maven.gradle @@ -0,0 +1,21 @@ +ext { + bintrayRepo = 'maven' + bintrayName = 'android-startup' + publishedGroupId = 'com.rousetime.android' + libraryName = 'android-startup' + artifact = 'android-startup' + libraryDescription = 'The Android Startup library provides a straightforward, performant way to initialize components at application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization' + siteUrl = 'https://github.com/idisfkj/android-startup' + gitUrl = 'https://github.com/idisfkj/android-startup.git' + libraryVersion = '1.0.0' + developerId = 'idisfkj' + developerName = 'idisfkj' + developerEmail = 'idisfkj@gmail.com' + licenseName = 'The Apache Software License, Version 2.0' + licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + allLicenses = ["Apache-2.0"] +} + +apply from: 'install.gradle' +apply from: 'bintray.gradle' + diff --git a/build.gradle b/build.gradle index 6ab1255..bab2a8f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,8 @@ buildscript { dependencies { classpath Dependencies.build_gradle classpath Dependencies.kotlin_gradle_plugin + classpath Dependencies.gradle_bintray_plugin + classpath Dependencies.android_maven_gradle_plugin // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index efdc4d6..d8b53b6 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -20,6 +20,9 @@ object Versions { const val ext_junit = "1.1.1" const val espresso_core = "3.2.0" const val constraint_layout = "1.1.3" + + const val gradle_bintray_plugin = "1.6" + const val android_maven_gradle_plugin = "1.5" } object Dependencies { @@ -32,6 +35,8 @@ object Dependencies { const val ext_junit = "androidx.test.ext:junit:${Versions.ext_junit}" const val espresso_core = "androidx.test.espresso:espresso-core:${Versions.espresso_core}" const val constraint_layout = "androidx.constraintlayout:constraintlayout:${Versions.constraint_layout}" + const val gradle_bintray_plugin = "com.jfrog.bintray.gradle:gradle-bintray-plugin:${Versions.gradle_bintray_plugin}" + const val android_maven_gradle_plugin = "com.github.dcendents:android-maven-gradle-plugin:${Versions.android_maven_gradle_plugin}" val addRepos: (handler: RepositoryHandler) -> Unit = { it.google()