blob: 8135741c1deb328471deaaf30a420033327cfb15 [file] [log] [blame]
/*
* Copyright 2012-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.rules;
public interface JavaPackageFinder {
/**
* Given the relative path to a file under the project root, return the Java package with which
* the file is associated. For .java files, this is generally obvious, as they contain an explicit
* "package" statement. For other files, such as resources, other heuristics must be used.
* @param pathRelativeToProjectRoot may be a path to either a file or a directory. If a directory,
* then it must end in a slash.
* @return a path that always ends with a slash, or the empty string, indicating the root
* directory.
*/
public String findJavaPackageFolderForPath(String pathRelativeToProjectRoot);
public String findJavaPackageForPath(String pathRelativeToProjectRoot);
}