/* * Copyright 2015 i-net software * * 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.inet.gradle.setup; import java.util.HashMap; import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.plugins.BasePlugin; import com.inet.gradle.setup.dmg.Dmg; import com.inet.gradle.setup.msi.Msi; import com.inet.gradle.setup.unix.deb.Deb; import com.inet.gradle.setup.unix.rpm.Rpm; /** * The central plugin class of this Gradle plugin. * * @author Volker Berlin */ public class SetupBuilderPlugin implements Plugin<Project> { @Override public void apply( Project project ) { // apply the BasePlugin to make the base features like "clean" available by default. HashMap<String, Class<?>> plugin = new HashMap<>(); plugin.put( "plugin", BasePlugin.class ); project.apply( plugin ); // project.getPluginManager().apply( BasePlugin.class ); // API since Gradle 2.3 project.getExtensions().create( "setupBuilder", SetupBuilder.class, project ); project.getTasks().create( "deb", Deb.class ); project.getTasks().create( "dmg", Dmg.class ); project.getTasks().create( "msi", Msi.class ); project.getTasks().create( "rpm", Rpm.class ); } }