diff --git a/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginConfiguration.java b/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginConfiguration.java index 72514b4..ae39303 100644 --- a/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginConfiguration.java +++ b/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginConfiguration.java @@ -85,4 +85,8 @@ public void description(final String description) { this.description.set(description); } + public void guiceModule(final String guiceModule) { + this.property("guice-module", guiceModule); + } + } diff --git a/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginInheritableConfiguration.java b/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginInheritableConfiguration.java index 795eae8..7a8ee60 100644 --- a/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginInheritableConfiguration.java +++ b/plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginInheritableConfiguration.java @@ -33,6 +33,8 @@ import org.gradle.api.tasks.Optional; import javax.inject.Inject; +import java.util.HashMap; +import java.util.Map; public abstract class PluginInheritableConfiguration { @@ -46,6 +48,8 @@ public abstract class PluginInheritableConfiguration { private final NamedDomainObjectContainer dependencies; + private final Map properties; + @Inject public PluginInheritableConfiguration(final ObjectFactory objects) { @@ -55,6 +59,7 @@ public PluginInheritableConfiguration(final ObjectFactory objects) { this.contributors = objects.domainObjectContainer(PluginContributorConfiguration.class); this.dependencies = objects.domainObjectContainer(PluginDependencyConfiguration.class); + this.properties = new HashMap<>(); } @Input @@ -110,4 +115,13 @@ public void dependencies(final Action action) { this.dependencies.register(name, action); } + + @Nested + public Map getProperties() { + return this.properties; + } + + public void property(final String key, final Object value) { + this.properties.put(key, value); + } } diff --git a/plugin-development/src/main/java/org/spongepowered/gradle/plugin/task/WritePluginMetadataTask.java b/plugin-development/src/main/java/org/spongepowered/gradle/plugin/task/WritePluginMetadataTask.java index 7e1277f..d9ea896 100644 --- a/plugin-development/src/main/java/org/spongepowered/gradle/plugin/task/WritePluginMetadataTask.java +++ b/plugin-development/src/main/java/org/spongepowered/gradle/plugin/task/WritePluginMetadataTask.java @@ -174,6 +174,8 @@ private > T populateBuilder( builder.addDependency(dependencyBuilder.build()); } + + builder.properties(src.getProperties()); return builder; } }