added deployment name to Wildfly plugin

This commit is contained in:
2024-02-22 06:05:48 +08:00
parent b3be3ca226
commit 5304576900
3 changed files with 30 additions and 31 deletions

View File

@@ -1,8 +1,8 @@
woggioniMavenRepositoryUrl=https://mvn.woggioni.net/ woggioniMavenRepositoryUrl=https://mvn.woggioni.net/
lys.catalog.version=2023.11.01 lys.catalog.version=2024.02.12
version.myGradlePlugins=2023.11.07 version.myGradlePlugins=2024.02.22
version.gradle=7.6 version.gradle=7.6
version.felix.config.admin=1.9.26 version.felix.config.admin=1.9.26
version.felix=7.0.5 version.felix=7.0.5

View File

@@ -18,7 +18,9 @@ dependencies {
} }
jar { jar {
bnd '''\ bundle {
Import-Package: !lombok, * bnd '''\
''' Import-Package: !lombok, *
'''
}
} }

View File

@@ -1,19 +1,16 @@
package net.woggioni.gradle.wildfly; package net.woggioni.gradle.wildfly;
import lombok.Getter;
import org.gradle.api.file.RegularFileProperty; import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.Property; import org.gradle.api.provider.Property;
import org.gradle.api.provider.Provider; import org.gradle.api.provider.Provider;
import org.gradle.api.tasks.Exec; import org.gradle.api.tasks.Exec;
import org.gradle.api.tasks.Input; import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.InputFile; import org.gradle.api.tasks.InputFile;
import javax.annotation.Nonnull;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.Arrays; import java.util.Arrays;
public class Deploy2WildflyTask extends Exec { public abstract class Deploy2WildflyTask extends Exec {
private static final String PROPERTY_PREFIX = "net.woggioni.gradle.wildfly."; private static final String PROPERTY_PREFIX = "net.woggioni.gradle.wildfly.";
private static final String HOST_PROPERTY_KEY = PROPERTY_PREFIX + "rpcHost"; private static final String HOST_PROPERTY_KEY = PROPERTY_PREFIX + "rpcHost";
private static final String PORT_PROPERTY_KEY = PROPERTY_PREFIX + "rpcPort"; private static final String PORT_PROPERTY_KEY = PROPERTY_PREFIX + "rpcPort";
@@ -21,24 +18,21 @@ public class Deploy2WildflyTask extends Exec {
private static final String PASSWORD_PROPERTY_KEY = PROPERTY_PREFIX + "rpcPassword"; private static final String PASSWORD_PROPERTY_KEY = PROPERTY_PREFIX + "rpcPassword";
@Input @Input
@Getter public abstract Property<String> getRpcHost();
private final Property<String> rpcHost;
@Input @Input
@Getter public abstract Property<Integer> getRpcPort();
private final Property<Integer> rpcPort;
@Input @Input
@Getter public abstract Property<String> getRpcUsername();
private final Property<String> rpcUsername;
@Input @Input
@Getter public abstract Property<String> getRpcPassword();
private final Property<String> rpcPassword;
@Getter
@InputFile @InputFile
private final RegularFileProperty artifact; public abstract Property<String> getDeploymentName();
@InputFile
public abstract RegularFileProperty getArtifact();
private String projectProperty(String key, String defaultValue) { private String projectProperty(String key, String defaultValue) {
String result = (String) getProject().findProperty(key); String result = (String) getProject().findProperty(key);
@@ -46,7 +40,7 @@ public class Deploy2WildflyTask extends Exec {
} }
@Inject @Inject
public Deploy2WildflyTask(@Nonnull ObjectFactory objectFactory) { public Deploy2WildflyTask() {
setGroup("deploy"); setGroup("deploy");
setDescription("Deploy this project artifact to Wildfly application server"); setDescription("Deploy this project artifact to Wildfly application server");
Provider<String> defaultHostProvider = getProject() Provider<String> defaultHostProvider = getProject()
@@ -59,19 +53,22 @@ public class Deploy2WildflyTask extends Exec {
.provider(() -> projectProperty(PASSWORD_PROPERTY_KEY, "password")); .provider(() -> projectProperty(PASSWORD_PROPERTY_KEY, "password"));
executable("/opt/wildfly/bin/jboss-cli.sh"); executable("/opt/wildfly/bin/jboss-cli.sh");
rpcHost = objectFactory.property(String.class).convention(defaultHostProvider); getRpcHost().convention(defaultHostProvider);
rpcPort = objectFactory.property(Integer.class).convention(defaultPortProvider); getRpcPort().convention(defaultPortProvider);
rpcUsername = objectFactory.property(String.class).convention(defaultUsernameProvider); getRpcUsername().convention(defaultUsernameProvider);
rpcPassword = objectFactory.property(String.class).convention(defaultPasswordProvider); getRpcPassword().convention(defaultPasswordProvider);
artifact = objectFactory.fileProperty(); getDeploymentName().convention(getArtifact().map(it -> it.getAsFile().getName()));
getArgumentProviders().add(() -> getArgumentProviders().add(() ->
Arrays.asList( Arrays.asList(
"--controller=" + rpcHost.get() + ":" + rpcPort.get(), "--controller=" + getRpcHost().get() + ":" + getRpcPort().get(),
"--connect", "--connect",
"--user=" + rpcUsername.get(), "--user=" + getRpcUsername().get(),
"--password=" + rpcPassword.get(), "--password=" + getRpcPassword().get(),
"--command=deploy " + artifact.getAsFile().get().getPath() + " --force") "--command=deploy "
+ getArtifact().getAsFile().get().getPath()
+ "--name "
+ getDeploymentName().get()
+ " --force")
); );
} }
} }