Skip to content

Commit

Permalink
fix: Restore original Enterprise package publishing, close MISC-459
Browse files Browse the repository at this point in the history
Motivation:

A previous commit stopped making GatlingEnterprisePackageTask extend the Jar task as it doesn't contain any useful code for use.

But actually, gradle has some hardcoded behavior for this class regarding publishing.

This broke the publishing process documented in the SH documentation (used to publish in a maven repository).
  • Loading branch information
slandelle committed Apr 5, 2024
1 parent 669c786 commit b192bdd
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,18 @@ import org.gradle.api.DefaultTask
import org.gradle.api.artifacts.Configuration
import org.gradle.api.artifacts.ResolvedConfiguration
import org.gradle.api.artifacts.ResolvedDependency
import org.gradle.api.file.RegularFile
import org.gradle.api.file.RegularFileProperty
import org.gradle.api.plugins.BasePluginExtension
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.provider.Provider
import org.gradle.api.tasks.*
import org.gradle.jvm.tasks.Jar

@CacheableTask
class GatlingEnterprisePackageTask extends DefaultTask {
class GatlingEnterprisePackageTask extends Jar {

private static final Set<String> EXCLUDED_NETTY_ARTIFACTS = ["netty-all", "netty-resolver-dns-classes-macos", "netty-resolver-dns-native-macos"].asUnmodifiable()
private static final String JAR_EXTENSION = '.jar'
private static final ARCHIVE_CLASSIFIER = 'tests'

private static Set<Dependency> toDependencies(Set<ResolvedDependency> deps) {
deps.collectMany { resolvedDependency ->
Expand All @@ -34,14 +35,9 @@ class GatlingEnterprisePackageTask extends DefaultTask {
@Optional
List<Configuration> configurations

@Internal
BasePluginExtension basePluginExtension = project.extensions.getByType(BasePluginExtension)

@OutputFile
final RegularFileProperty outputFile = project.objects.fileProperty().fileValue(getJarFile())

@TaskAction
void createArchive() {
@Override
protected void copy() {
EnterprisePackager packager = new EnterprisePackager(new GradlePluginIO(logger).getLogger())
ResolvedConfiguration resolvedConfiguration = getResolvedConfiguration()
packager.createEnterprisePackage(
Expand All @@ -53,20 +49,10 @@ class GatlingEnterprisePackageTask extends DefaultTask {
project.version,
'gradle',
getClass().getPackage().getImplementationVersion(),
outputFile.asFile.get()
getArchiveFile().get().asFile
)
}

private File getJarFile() {
String jarVersion = project.version != 'unspecified' ? '-' + (project.version) : ''
new File(
basePluginExtension.libsDirectory.get().asFile,
project.name +
jarVersion +
'-' + ARCHIVE_CLASSIFIER +
JAR_EXTENSION)
}

private List<File> getClassDirectories() {
project.getAllprojects().collect { p ->
JavaPluginExtension javaPluginExtension = p.getExtensions().getByType(JavaPluginExtension.class)
Expand Down
1 change: 1 addition & 0 deletions src/main/groovy/io/gatling/gradle/GatlingPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ final class GatlingPlugin implements Plugin<Project> {

private TaskProvider<GatlingEnterprisePackageTask> registerEnterprisePackageTask(Project project) {
project.tasks.register(ENTERPRISE_PACKAGE_TASK_NAME, GatlingEnterprisePackageTask.class) {packageTask ->
packageTask.archiveClassifier.set("tests")
packageTask.configurations = [
project.configurations.gatlingRuntimeClasspath
]
Expand Down

0 comments on commit b192bdd

Please sign in to comment.