diff --git a/build.gradle b/build.gradle index 7bd5e1d..82cb928 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.4.1' + classpath 'com.android.tools.build:gradle:8.7.2' } } @@ -24,8 +24,8 @@ subprojects { } ext { - compileSdkVersion = 31 - buildToolsVersion = '31.0.0' + compileSdkVersion = 35 + buildToolsVersion = '35.0.0' minSdkVersion = 21 - targetSdkVersion = 30 + targetSdkVersion = 35 } diff --git a/gradle/publishing.gradle b/gradle/publishing.gradle index 6be83a2..afb8185 100644 --- a/gradle/publishing.gradle +++ b/gradle/publishing.gradle @@ -4,20 +4,26 @@ apply plugin: 'signing' // Ideally AGP should provide sources and javadoc integration for their components: // https://issuetracker.google.com/issues/145670440 tasks.register("sourcesJar", Jar) { - classifier 'sources' + archiveClassifier.set('sources') from android.sourceSets.main.java.srcDirs } -tasks.register("javadoc", Javadoc) { +tasks.register('androidJavadocs', Javadoc) { failOnError false source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + android.libraryVariants.all { variant -> + if (variant.name == 'release') { + owner.classpath += variant.javaCompileProvider.get().classpath + } + } + exclude '**/R.html', '**/R.*.html', '**/index.html' } -tasks.register("javadocJar", Jar) { - dependsOn javadoc - classifier 'javadoc' - from javadoc.destinationDir +tasks.register('androidJavadocsJar', Jar) { + dependsOn androidJavadocs + archiveClassifier.set('javadoc') + from androidJavadocs.destinationDir } // AGP creates the components in afterEvaluate, so we need to use it too @@ -25,12 +31,11 @@ tasks.register("javadocJar", Jar) { afterEvaluate { publishing { publications { - maven(MavenPublication) { - from components.release - + maven(MavenPublication){ + from(components["release"]) + // Adds javadocs and sources as separate jars. artifact sourcesJar - artifact javadocJar - + artifact androidJavadocsJar pom { name = 'Shaky' description = 'Shake-to-send-feedback library for Android' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 070cb70..e48eca5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/shaky-sample/build.gradle b/shaky-sample/build.gradle index 62ebf93..8e306f0 100644 --- a/shaky-sample/build.gradle +++ b/shaky-sample/build.gradle @@ -1,6 +1,7 @@ apply plugin: 'com.android.application' android { + namespace "com.linkedin.android.shaky.app" compileSdkVersion rootProject.ext.compileSdkVersion compileOptions { diff --git a/shaky-sample/src/main/AndroidManifest.xml b/shaky-sample/src/main/AndroidManifest.xml index 548dc16..4c2b3fe 100644 --- a/shaky-sample/src/main/AndroidManifest.xml +++ b/shaky-sample/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + android:label="@string/app_name" + android:exported="true"> diff --git a/shaky/build.gradle b/shaky/build.gradle index 7976fc7..349a8ce 100644 --- a/shaky/build.gradle +++ b/shaky/build.gradle @@ -2,6 +2,7 @@ apply plugin: 'com.android.library' apply from: "$rootDir/gradle/publishing.gradle" android { + namespace "com.linkedin.android.shaky" compileSdkVersion rootProject.ext.compileSdkVersion compileOptions { @@ -16,10 +17,11 @@ android { versionName "1.0" } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + publishing { + singleVariant("release") { + // if you don't want sources/javadoc, remove these lines + withSourcesJar() + withJavadocJar() } } @@ -41,5 +43,5 @@ dependencies { testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:3.12.4' - testImplementation 'org.robolectric:robolectric:4.9.2' + testImplementation 'org.robolectric:robolectric:4.14-beta-1' } diff --git a/shaky/src/main/AndroidManifest.xml b/shaky/src/main/AndroidManifest.xml index 4712010..1e386a0 100644 --- a/shaky/src/main/AndroidManifest.xml +++ b/shaky/src/main/AndroidManifest.xml @@ -14,8 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. --> - +