| // Copyright 2015 Google Inc. All rights reserved. |
| // |
| // 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 common |
| |
| import ( |
| "path/filepath" |
| ) |
| |
| // ModuleOutDir returns the path to the module-specific output directory. |
| func ModuleOutDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ctx.AConfig().IntermediatesDir(), |
| ctx.ModuleDir(), ctx.ModuleName(), ctx.ModuleSubDir()) |
| } |
| |
| // ModuleSrcDir returns the path of the directory that all source file paths are |
| // specified relative to. |
| func ModuleSrcDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ctx.AConfig().SrcDir(), ctx.ModuleDir()) |
| } |
| |
| // ModuleBinDir returns the path to the module- and architecture-specific binary |
| // output directory. |
| func ModuleBinDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "bin") |
| } |
| |
| // ModuleLibDir returns the path to the module- and architecture-specific |
| // library output directory. |
| func ModuleLibDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "lib") |
| } |
| |
| // ModuleGenDir returns the module directory for generated files |
| // path. |
| func ModuleGenDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "gen") |
| } |
| |
| // ModuleObjDir returns the module- and architecture-specific object directory |
| // path. |
| func ModuleObjDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "obj") |
| } |
| |
| // ModuleGoPackageDir returns the module-specific package root directory path. |
| // This directory is where the final package .a files are output and where |
| // dependent modules search for this package via -I arguments. |
| func ModuleGoPackageDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "pkg") |
| } |
| |
| // ModuleIncludeDir returns the module-specific public include directory path. |
| func ModuleIncludeDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "include") |
| } |
| |
| // ModuleProtoDir returns the module-specific public proto include directory path. |
| func ModuleProtoDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "proto") |
| } |
| |
| func ModuleJSCompiledDir(ctx AndroidModuleContext) string { |
| return filepath.Join(ModuleOutDir(ctx), "js") |
| } |