Skip to content

Commit

Permalink
adapt gradle 6.0+
Browse files Browse the repository at this point in the history
  • Loading branch information
kezong committed Dec 3, 2019
1 parent bbf6190 commit 4a1b6cd
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
17 changes: 14 additions & 3 deletions source/src/main/groovy/com/kezong/fataar/FlavorArtifact.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import org.gradle.api.artifacts.component.ComponentArtifactIdentifier
import org.gradle.api.artifacts.component.ComponentIdentifier
import org.gradle.api.internal.artifacts.DefaultModuleVersionIdentifier
import org.gradle.api.internal.artifacts.DefaultResolvedArtifact
import org.gradle.api.internal.tasks.TaskDependencyContainer
import org.gradle.api.internal.tasks.TaskDependencyResolveContext
import org.gradle.api.tasks.TaskDependency
import org.gradle.internal.Factory
import org.gradle.internal.component.model.DefaultIvyArtifactName
Expand All @@ -32,10 +34,19 @@ class FlavorArtifact {
return artifactFile
}
}
TaskDependency taskDependency = createTaskDependency(artifactProject, variant)
ComponentArtifactIdentifier artifactIdentifier = createComponentIdentifier(artifactFile)

return new DefaultResolvedArtifact(identifier, artifactName, artifactIdentifier, taskDependency, fileFactory)
if (Utils.compareVersion(project.gradle.gradleVersion, "6.0.0") >= 0) {
TaskDependencyContainer taskDependencyContainer = new TaskDependencyContainer() {
@Override
void visitDependencies(TaskDependencyResolveContext taskDependencyResolveContext) {
taskDependencyResolveContext.add(createTaskDependency(artifactProject, variant))
}
}
return new DefaultResolvedArtifact(identifier, artifactName, artifactIdentifier, taskDependencyContainer, fileFactory)
} else {
TaskDependency taskDependency = createTaskDependency(artifactProject, variant)
return new DefaultResolvedArtifact(identifier, artifactName, artifactIdentifier, taskDependency, fileFactory)
}
}

private static ModuleVersionIdentifier createModuleVersionIdentifier(ResolvedDependency unResolvedArtifact) {
Expand Down
19 changes: 16 additions & 3 deletions source/src/main/groovy/com/kezong/fataar/VariantProcessor.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ import org.gradle.api.artifacts.Dependency
import org.gradle.api.artifacts.ResolvedArtifact
import org.gradle.api.artifacts.ResolvedDependency
import org.gradle.api.internal.artifacts.DefaultResolvedArtifact
import org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext
import org.gradle.api.tasks.Copy
import org.gradle.api.tasks.TaskDependency

/**
* Processor for variant
Expand Down Expand Up @@ -116,7 +118,18 @@ class VariantProcessor {
} else if (FatLibraryPlugin.ARTIFACT_TYPE_AAR == artifact.type) {
AndroidArchiveLibrary archiveLibrary = new AndroidArchiveLibrary(mProject, artifact, mVariant.name)
addAndroidArchiveLibrary(archiveLibrary)
Set<Task> buildDependencies = artifact.buildDependencies.getDependencies()
Set<Task> dependencies
if (artifact.buildDependencies instanceof TaskDependency) {
dependencies = artifact.buildDependencies.getDependencies()
} else {
CachingTaskDependencyResolveContext context = new CachingTaskDependencyResolveContext()
artifact.buildDependencies.visitDependencies(context)
if (context.queue.size() == 0) {
dependencies = new HashSet<>()
} else {
dependencies = context.queue.getFirst().getDependencies()
}
}
archiveLibrary.getRootFolder().deleteDir()
final def zipFolder = archiveLibrary.getRootFolder()
zipFolder.mkdirs()
Expand All @@ -128,10 +141,10 @@ class VariantProcessor {
into zipFolder
}

if (buildDependencies.size() == 0) {
if (dependencies.size() == 0) {
explodeTask.dependsOn(prepareTask)
} else {
explodeTask.dependsOn(buildDependencies.first())
explodeTask.dependsOn(dependencies.first())
}
Task javacTask = mVersionAdapter.getJavaCompileTask()
javacTask.dependsOn(explodeTask)
Expand Down

0 comments on commit 4a1b6cd

Please sign in to comment.