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  }