Skip to content

Commit 9db0926

Browse files
authored
Merge pull request #92 from SpongePowered/feature/guice-module
plugin-development: Support specifying guice module
2 parents fe70460 + 2471838 commit 9db0926

File tree

5 files changed

+31
-1
lines changed

5 files changed

+31
-1
lines changed

plugin-development/src/functionalTest/resources/org/spongepowered/gradle/plugin/simplebuild/in/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ sponge {
1717
displayName("Example")
1818
version("0.1")
1919
entrypoint("org.spongepowered.example.Example")
20+
guiceModule("org.spongepowered.example.ExampleModule")
2021
description("Just testing things...")
22+
property("boolean-property", true)
23+
property("int-property", 3)
24+
property("string-property", "test")
2125
links {
2226
homepage("https://spongepowered.org")
2327
source("https://spongepowered.org/source")

plugin-development/src/functionalTest/resources/org/spongepowered/gradle/plugin/simplebuild/out/sponge_plugins.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@
3030
"load-order": "after",
3131
"optional": false
3232
}
33-
]
33+
],
34+
"properties": {
35+
"guice-module": "org.spongepowered.example.ExampleModule",
36+
"boolean-property": "true",
37+
"int-property": "3",
38+
"string-property": "test"
39+
}
3440
}
3541
]
3642
}

plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginConfiguration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,8 @@ public void description(final String description) {
8585
this.description.set(description);
8686
}
8787

88+
public void guiceModule(final String guiceModule) {
89+
this.property("guice-module", guiceModule);
90+
}
91+
8892
}

plugin-development/src/main/java/org/spongepowered/gradle/plugin/config/PluginInheritableConfiguration.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.gradle.api.Action;
2828
import org.gradle.api.NamedDomainObjectContainer;
2929
import org.gradle.api.model.ObjectFactory;
30+
import org.gradle.api.provider.MapProperty;
3031
import org.gradle.api.provider.Property;
3132
import org.gradle.api.tasks.Input;
3233
import org.gradle.api.tasks.Nested;
@@ -46,6 +47,8 @@ public abstract class PluginInheritableConfiguration {
4647

4748
private final NamedDomainObjectContainer<PluginDependencyConfiguration> dependencies;
4849

50+
private final MapProperty<String, Object> properties;
51+
4952

5053
@Inject
5154
public PluginInheritableConfiguration(final ObjectFactory objects) {
@@ -55,6 +58,7 @@ public PluginInheritableConfiguration(final ObjectFactory objects) {
5558

5659
this.contributors = objects.domainObjectContainer(PluginContributorConfiguration.class);
5760
this.dependencies = objects.domainObjectContainer(PluginDependencyConfiguration.class);
61+
this.properties = objects.mapProperty(String.class, Object.class);
5862
}
5963

6064
@Input
@@ -110,4 +114,14 @@ public void dependencies(final Action<? super NamedDomainObjectContainer<PluginD
110114
public void dependency(final String name, final Action<? super PluginDependencyConfiguration> action) {
111115
this.dependencies.register(name, action);
112116
}
117+
118+
@Input
119+
@Optional
120+
public MapProperty<String, Object> getProperties() {
121+
return this.properties;
122+
}
123+
124+
public void property(final String key, final Object value) {
125+
this.properties.put(key, value);
126+
}
113127
}

plugin-development/src/main/java/org/spongepowered/gradle/plugin/task/WritePluginMetadataTask.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ private <T extends StandardInheritable.AbstractBuilder<?, T>> T populateBuilder(
174174

175175
builder.addDependency(dependencyBuilder.build());
176176
}
177+
178+
builder.properties(src.getProperties().get());
177179
return builder;
178180
}
179181
}

0 commit comments

Comments
 (0)