github.com/c-darwin/mobile@v0.0.0-20160313183840-ff625c46f7c9/misc/androidstudio/src/main/groovy/org/golang/mobile/AARPublishArtifact.java (about) 1 /** 2 * Copyright 2015 The Go Authors. All rights reserved. 3 * Use of this source code is governed by a BSD-style 4 * license that can be found in the LICENSE file. 5 */ 6 7 package org.golang.mobile; 8 9 import org.golang.mobile.OutputFileTask; 10 11 import org.gradle.api.Task; 12 import org.gradle.api.artifacts.PublishArtifact; 13 import org.gradle.api.tasks.TaskDependency; 14 15 import java.io.File; 16 import java.util.Collections; 17 import java.util.Date; 18 import java.util.Set; 19 20 /** 21 * custom implementation of PublishArtifact for published AAR 22 */ 23 public class AARPublishArtifact implements PublishArtifact { 24 25 private final String name; 26 private final String classifier; 27 private final OutputFileTask task; 28 private final TaskDependency taskDependency; 29 30 private static final class DefaultTaskDependency implements TaskDependency { 31 32 private final Set<Task> tasks; 33 34 DefaultTaskDependency(Task task) { 35 this.tasks = Collections.singleton(task); 36 } 37 38 @Override 39 public Set<? extends Task> getDependencies(Task task) { 40 return tasks; 41 } 42 } 43 44 public AARPublishArtifact( 45 String name, 46 String classifier, 47 OutputFileTask task) { 48 this.name = name; 49 this.classifier = classifier; 50 this.task = task; 51 this.taskDependency = new DefaultTaskDependency((Task) task); 52 } 53 54 55 @Override 56 public String getName() { 57 return name; 58 } 59 60 @Override 61 public String getExtension() { 62 return "aar"; 63 } 64 65 @Override 66 public String getType() { 67 return "aar"; 68 } 69 70 @Override 71 public String getClassifier() { 72 return classifier; 73 } 74 75 @Override 76 public File getFile() { 77 return task.getOutputFile(); 78 } 79 80 @Override 81 public Date getDate() { 82 return null; 83 } 84 85 @Override 86 public TaskDependency getBuildDependencies() { 87 return taskDependency; 88 } 89 }