@atomist/rug
Version:
TypeScript model for Atomist Rugs, see http://docs.atomist.com/
75 lines (65 loc) • 2.05 kB
text/typescript
/*
* Copyright 2015-2017 Atomist 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.
*/
import { TreeNode, GraphNode, FormatInfo, PathExpressionEngine } from "@atomist/rug/tree/PathExpression";
import { ProjectContext } from "@atomist/rug/operations/ProjectEditor";
import { ProjectDecorating } from "./ProjectDecorating";
import { ProjectView } from "./ProjectView";
import { ArtifactContainerView } from "./ArtifactContainerView";
import { ChangeLogging } from "./ChangeLogging";
import { MutableView } from "./MutableView";
export { JavaProject };
/**
* Java project
*/
interface JavaProject extends ProjectDecorating, ProjectView, ArtifactContainerView, ChangeLogging, MutableView {
/**
* Is this a Maven project?
*
* @returns {boolean}
*/
isMaven(): boolean;
/**
* Is this a Spring project?
*
* @returns {boolean}
*/
isSpring(): boolean;
/**
* Is this a Spring Boot project?
*
* @returns {boolean}
*/
isSpringBoot(): boolean;
/**
* Return the number of Java files in this module
*
* @returns {number}
*/
javaFileCount(): number;
/**
* List the packages in this project
*
* @returns {any[]}
*/
packages(): any[];
/**
* Rename the given package. All package under it will also be renamed
*
* @param oldPackage {string} Old package name
* @param newPackage {string} The new package name
*/
renamePackage(oldPackage: string, newPackage: string): void;
}