Skip to content

Commit

Permalink
Gradle plugin 8.2.2
Browse files Browse the repository at this point in the history
Gradle wrapper 8.2-bin.
Refactor gradle build files.
Improve javadoc for maven artifact.
  • Loading branch information
pranavpandey committed Jan 31, 2024
1 parent 2a73de2 commit 55cc1ab
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 17 deletions.
13 changes: 11 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,19 @@ buildscript {
repositories {
mavenCentral()
google()

// Raw R8 releases.
maven {
url("https://storage.googleapis.com/r8-releases/raw")
}
}

dependencies {
classpath 'com.android.tools.build:gradle:8.0.2'
classpath 'com.android.tools.build:gradle:8.2.2'

// More info: https://issuetracker.google.com/issues/280659987
// noinspection GradleDependency, keep R8 version to AGP 8.1.0-beta4.
classpath("com.android.tools:r8:8.1.46")
}
}

Expand All @@ -46,7 +55,7 @@ allprojects {
}
}

task clean(type: Delete) {
tasks.register('clean', Delete) {
delete rootProject.buildDir
}

Expand Down
4 changes: 3 additions & 1 deletion dynamic-engine/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,9 @@ project.afterEvaluate {
destinationDir = new File(destinationDir, variant.baseName)

source = variant.sourceSets.collect {
it.java.sourceFiles }.inject { m, i -> m + i
it.java.sourceFiles
}.inject {
m, i -> m + i
}
doFirst {
classpath = project.files(variant.javaCompileProvider.get().classpath.files,
Expand Down
47 changes: 34 additions & 13 deletions dynamic-engine/maven.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2017-2023 Pranav Pandey
* Copyright 2017-2024 Pranav Pandey
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -22,28 +22,46 @@ version = mavenVersion

// Android libraries
if (project.hasProperty("android")) {
task sourcesJar(type: Jar) {
tasks.register('sourcesJar', Jar) {
archiveClassifier.set("sources")
from android.sourceSets.main.java.srcDirs
}

task javadoc(type: Javadoc) {
dependsOn("generateReleaseRFile")
tasks.register('javadoc', Javadoc) {
dependsOn "generateReleaseRFile"
title "${referenceTitle}<h4>${versionDesc}</h4><h5>${mavenVersion}</h5>"
failOnError = false

source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
source = android.sourceSets.main.java.sourceFiles
doNotTrackState("Javadoc needs to be generated every time.")

failOnError = false
if (JavaVersion.current().isJava8Compatible()) {
options.addStringOption('Xdoclint:none', '-quiet')
}

options.memberLevel = JavadocMemberLevel.PROTECTED
exclude "**/R", "**/R.**", "**/R\$**", "**/BuildConfig*"

options.windowTitle = "${referenceTitle}"
options.links('http://docs.oracle.com/javase/8/docs/api',
'http://docs.oracle.com/javase/17/docs/api')
options.links('https://developer.android.com/reference')
options.linksOffline('https://developer.android.com/reference',
'https://developer.android.com/reference/androidx')
options.links('https://pranavpandey.org/dynamic-utils')
}
} else { // Java libraries
task sourcesJar(type: Jar, dependsOn: classes) {
tasks.register('sourcesJar', Jar) {
dependsOn classes

archiveClassifier.set("sources")
from sourceSets.main.allSource
}
}

task javadocJar(type: Jar, dependsOn: javadoc) {
tasks.register('javadocJar', Jar) {
dependsOn javadoc

archiveClassifier.set("javadoc")
from javadoc.destinationDir
}
Expand Down Expand Up @@ -96,7 +114,7 @@ publishing {
dependenciesNode = asNode().appendNode('dependencies')
}

// Add all that are 'compile'
// Add all that are 'compile' dependencies.
configurations.api.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
Expand All @@ -117,13 +135,16 @@ signing {
}

afterEvaluate { project ->
// Fix javadoc generation
// Fix javadoc generation.
javadoc.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})

def pomTask = "generatePomFileForLibraryPublication"
def dependencies = [javadocJar, sourcesJar, assembleRelease, pomTask]

// Convenience task to prepare everything we need for releases
task prepareArtifacts(dependsOn: [javadocJar, sourcesJar, assembleRelease, pomTask]) { }
// Convenience task to prepare everything we need for releases.
tasks.register('prepareArtifacts') {
dependsOn dependencies
}
}
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip

0 comments on commit 55cc1ab

Please sign in to comment.