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

com.liferay.gradle.plugins.BaseDefaultsPlugin Maven / Gradle / Ivy

/**
 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
 */

package com.liferay.gradle.plugins;

import org.gradle.api.Action;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.plugins.PluginContainer;

/**
 * @author Andrea Di Giorgi
 */
public abstract class BaseDefaultsPlugin>
	implements Plugin {

	@Override
	public void apply(final Project project) {

		// Containers

		PluginContainer pluginContainer = project.getPlugins();

		pluginContainer.withType(
			getPluginClass(),
			new Action() {

				@Override
				public void execute(T plugin) {
					applyPluginDefaults(project, plugin);
				}

			});
	}

	protected abstract void applyPluginDefaults(Project project, T plugin);

	protected abstract Class getPluginClass();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy