aboutsummaryrefslogtreecommitdiff
path: root/jni-plugin/src/main/scala/ch/jodersky/sbt/jni/build/BuildToolApi.scala
blob: 43dd17add9e0696f3ac10f491e99e10d6eac7640 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package ch.jodersky.sbt.jni
package build

import java.io.File
import sbt.Logger

trait BuildToolApi {

  /** Invokes the native build tool's clean task */
  def clean(baseDirectory: File, log: Logger): Unit

  /**
   * Invokes the native build tool's main task, resulting in a single shared
   * library file.
   * @param baseDirectory the directory where the native project is located
   * @param buildDirectory a directory from where the build is called, it may be used to store temporary files
   * @param targetDirectory the directory into which the native library is copied
   * @return the native library file
   */
  def library(
    baseDirectory: File,
    targetDirectory: File,
    buildDirectory: File,
    log: Logger
  ): File

}