blob: 36b21c06499e6746bdee143bb31a17be64c97a89 [file] [log] [blame]
/*
* Copyright 2013-present Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package com.facebook.buck.android;
import com.facebook.buck.rules.Buildable;
/**
* {@link Buildable} that contains various {@code .so} files for Android, organized by target CPU
* architecture.
*/
public interface NativeLibraryBuildable {
/**
* @return A boolean indicating whether the {@code .so} files in the directory returned by
* {@link #getLibraryPath()} should be included in the {@code assets} folder in the APK.
*/
public boolean isAsset();
/**
* Returns the path to the directory containing {@code .so} files organized by target CPU
* architecture. This often contains subdirectories such as:
* <ul>
* <li><code>armeabi</code>
* <li><code>armeabi-v7a</code>
* </ul>
* @return A path relative to the project root that should does <em>not</em> include a trailing
* slash.
*/
// TODO(mbolin): Return a Path instead of a String.
public String getLibraryPath();
}