124bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar/* 224bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * Copyright (C) 2015 The Android Open Source Project 324bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * 424bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * Licensed under the Apache License, Version 2.0 (the "License"); 524bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * you may not use this file except in compliance with the License. 624bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * You may obtain a copy of the License at 724bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * 824bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * http://www.apache.org/licenses/LICENSE-2.0 924bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * 1024bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * Unless required by applicable law or agreed to in writing, software 1124bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * distributed under the License is distributed on an "AS IS" BASIS, 1224bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1324bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * See the License for the specific language governing permissions and 1424bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar * limitations under the License. 1524bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar */ 1624bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar 1724bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarpackage android.databinding 1824bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar 1924bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.apache.maven.repository.internal.MavenRepositorySystemUtils 2024bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.DefaultRepositorySystemSession 2124bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.RepositorySystem 2224bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.RepositorySystemSession 2324bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.artifact.Artifact 2424bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.artifact.DefaultArtifact 2524bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory 2624bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.graph.Dependency 2724bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.impl.DefaultServiceLocator 2824bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.repository.LocalRepository 2924bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.repository.RemoteRepository 3024bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.resolution.ArtifactDescriptorRequest 3124bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.resolution.ArtifactDescriptorResult 3224bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.resolution.ArtifactRequest 3324bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.spi.connector.RepositoryConnectorFactory 3424bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.spi.connector.transport.TransporterFactory 3524bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.transport.file.FileTransporterFactory 3624bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.eclipse.aether.transport.http.HttpTransporterFactory 3724bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.gradle.api.DefaultTask 3824bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.gradle.api.Project 3924bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.gradle.api.artifacts.Configuration 4024bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.gradle.api.artifacts.ModuleVersionIdentifier 4124bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.gradle.api.tasks.Input 4224bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarimport org.gradle.api.tasks.TaskAction 4324bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar 4424bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyarclass MavenDependencyCollectorTask extends DefaultTask { 4524bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar @Input 4624bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar LocalizeDependenciesTask localizeTask 4724bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar 4824bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar @TaskAction 4924bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar public void doIt() { 5024bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar project.configurations.each { conf -> 5124bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar resolveDirectDependencies(conf) 5224bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar } 5324bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar project.buildscript.configurations.each { conf -> 5424bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar resolveDirectDependencies(conf) 5524bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar } 5624bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar } 5724bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar 5824bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar void resolveDirectDependencies(Configuration conf) { 5924bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar conf.getResolvedConfiguration().getResolvedArtifacts().each { 6024bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar localizeTask.add(this, it.getModuleVersion().id, conf) 6124bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar } 6224bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar } 6324bec1cc542de69e0e21cc774469f20d34811ad9Yigit Boyar} 64