All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gradle.api.plugins.BasePluginConvention Maven / Gradle / Ivy

There is a newer version: 8.11.1
Show newest version
/*
 * Copyright 2009 the original author or authors.
 *
 * 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 org.gradle.api.plugins;

import org.gradle.api.Project;
import org.gradle.api.internal.file.FileLookup;
import org.gradle.api.internal.project.ProjectInternal;
import org.gradle.util.DeprecationLogger;

import java.io.File;

/**
 * 

A {@link Convention} used for the BasePlugin.

*/ public class BasePluginConvention { private ProjectInternal project; private String distsDirName; private String libsDirName; // cached resolved values private File buildDir; private File libsDir; private File distsDir; private String archivesBaseName; /** * Creates a {@link BasePluginConvention} instance. * * @deprecated Creating instances of this class is deprecated. These should be created by the base plugin only. */ @Deprecated public BasePluginConvention(Project project) { DeprecationLogger.nagUserOfDeprecated("Creating instances of BasePluginConvention"); this.project = (ProjectInternal) project; archivesBaseName = project.getName(); distsDirName = "distributions"; libsDirName = "libs"; } /** * Returns the directory to generate TAR and ZIP archives into. * * @return The directory. Never returns null. */ public File getDistsDir() { File curProjectBuildDir = project.getBuildDir(); if (distsDir != null && curProjectBuildDir.equals(buildDir)) { return distsDir; } buildDir = curProjectBuildDir; File dir = project.getServices().get(FileLookup.class).getFileResolver(curProjectBuildDir).resolve(distsDirName); distsDir = dir; return dir; } /** * Returns the directory to generate JAR and WAR archives into. * * @return The directory. Never returns null. */ public File getLibsDir() { File curProjectBuildDir = project.getBuildDir(); if (libsDir != null && curProjectBuildDir.equals(buildDir)) { return libsDir; } buildDir = curProjectBuildDir; File dir = project.getServices().get(FileLookup.class).getFileResolver(curProjectBuildDir).resolve(libsDirName); libsDir = dir; return dir; } public ProjectInternal getProject() { return project; } public void setProject(ProjectInternal project) { this.project = project; } /** * The name for the distributions directory. This in interpreted relative to the project' build directory. */ public String getDistsDirName() { return distsDirName; } public void setDistsDirName(String distsDirName) { this.distsDirName = distsDirName; this.distsDir = null; } /** * The name for the libs directory. This in interpreted relative to the project' build directory. */ public String getLibsDirName() { return libsDirName; } public void setLibsDirName(String libsDirName) { this.libsDirName = libsDirName; this.libsDir = null; } /** * The base name to use for archive files. */ public String getArchivesBaseName() { return archivesBaseName; } public void setArchivesBaseName(String archivesBaseName) { this.archivesBaseName = archivesBaseName; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy