//
// Copyright (C) 2008 The Android Open Source Project
//
// 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.
//

java_library_host {
    name: "layoutlib",

    srcs: ["src/**/*.java"],
    java_resource_dirs: ["resources"],

    libs: [
        "kxml2-2.3.0",
        "layoutlib_api-prebuilt",
        "tools-common-prebuilt",
        "guava",
    ],

    static_libs: [
        "temp_layoutlib",
        "ninepatch-prebuilt",
        "layoutlib-common",
        "layoutlib-validator",
    ],

    dist: {
        targets: ["layoutlib"],
    },
}

java_library_host {
    name: "layoutlib-no-framework",

    srcs: ["src/**/*.java"],
    java_resource_dirs: ["resources"],

    libs: [
        "kxml2-2.3.0",
        "temp_layoutlib",
        "guava",
    ],

    static_libs: [
        "layoutlib_create",
        "layoutlib_api-prebuilt",
        "tools-common-prebuilt",
        "ninepatch-prebuilt",
        "layoutlib-common",
        "layoutlib-validator",
    ],

    dist: {
        targets: ["layoutlib"],
    },
}
