Skip to content

Commit

Permalink
[HotFix] Create consistent lists of dependency ids for generating jso…
Browse files Browse the repository at this point in the history
…ns (#204)
  • Loading branch information
marchermans committed Jun 7, 2024
1 parent 9c04626 commit 48ae9fa
Showing 1 changed file with 46 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
import org.gradle.api.provider.Provider;
import org.gradle.api.provider.ProviderFactory;
import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.api.tasks.TaskProvider;
import org.gradle.api.tasks.bundling.Zip;
import org.gradle.jvm.tasks.Jar;
Expand Down Expand Up @@ -284,6 +285,11 @@ public void runtime(final String neoFormVersion, Directory patches, Directory re
binaryPatchGenerators.put(distribution, generateBinaryPatchesTask);
}

final Configuration runtimeClasspath = project.getConfigurations().getByName(
project.getExtensions().getByType(SourceSetContainer.class).findByName(SourceSet.MAIN_SOURCE_SET_NAME)
.getRuntimeClasspathConfigurationName()
);

launcherProfile.configure((Action<LauncherProfile>) profile -> {
profile.getId().set(String.format("%s-%s", project.getName(), project.getVersion()));
profile.getTime().set(LocalDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME));
Expand Down Expand Up @@ -458,10 +464,17 @@ public void runtime(final String neoFormVersion, Directory patches, Directory re

profile.getShouldHideExtract().set(true);
});


final Configuration installerJsonInstallerLibrariesConfiguration = ConfigurationUtils.temporaryUnhandledConfiguration(
project.getConfigurations(),
"InstallerJsonInstallerLibraries"
);
installerJsonInstallerLibrariesConfiguration.extendsFrom(installerLibrariesConfiguration);
installerJsonInstallerLibrariesConfiguration.shouldResolveConsistentlyWith(runtimeClasspath);

final TaskProvider<CreateLegacyInstallerJson> createLegacyInstallerJson = project.getTasks().register("createLegacyInstallerJson", CreateLegacyInstallerJson.class, task -> {
task.getProfile().set(installerProfile);
task.getLibraries().from(installerLibrariesConfiguration);
task.getLibraries().from(installerJsonInstallerLibrariesConfiguration);
task.getRepositoryURLs().set(repoCollection);

task.dependsOn(signUniversalJar);
Expand Down Expand Up @@ -621,17 +634,40 @@ public void runtime(final String neoFormVersion, Directory patches, Directory re
}));
userdevProfile.getSourcesJarArtifactCoordinate().set(createCoordinate(project, "sources"));
userdevProfile.getUniversalJarArtifactCoordinate().set(createCoordinate(project, "universal"));


final Configuration userdevJsonLibrariesConfiguration = ConfigurationUtils.temporaryUnhandledConfiguration(
project.getConfigurations(),
"userdevLibraries"
);
userdevJsonLibrariesConfiguration.extendsFrom(
userdevCompileOnlyConfiguration,
installerLibrariesConfiguration,
gameLayerLibraryConfiguration,
pluginLayerLibraryConfiguration,
moduleOnlyConfiguration
);
userdevJsonLibrariesConfiguration.shouldResolveConsistentlyWith(runtimeClasspath);

final Configuration userdevJsonModuleOnlyConfiguration = ConfigurationUtils.temporaryUnhandledConfiguration(
project.getConfigurations(),
"userdevModuleOnly"
);
userdevJsonModuleOnlyConfiguration.extendsFrom(moduleOnlyConfiguration);
userdevJsonLibrariesConfiguration.shouldResolveConsistentlyWith(runtimeClasspath);

final Configuration userdevJsonUserdevTestImplementationConfiguration = ConfigurationUtils.temporaryUnhandledConfiguration(
project.getConfigurations(),
"userdevJsonUserdevTestImplementation"
);
userdevJsonUserdevTestImplementationConfiguration.extendsFrom(userdevTestImplementationConfiguration);
userdevJsonUserdevTestImplementationConfiguration.shouldResolveConsistentlyWith(runtimeClasspath);

final TaskProvider<CreateUserdevJson> createUserdevJson = project.getTasks().register("createUserdevJson", CreateUserdevJson.class, task -> {
task.getProfile().set(userdevProfile);
task.getLibraries().from(userdevCompileOnlyConfiguration);
task.getLibraries().from(installerLibrariesConfiguration);
task.getLibraries().from(gameLayerLibraryConfiguration);
task.getLibraries().from(pluginLayerLibraryConfiguration);
task.getLibraries().from(moduleOnlyConfiguration);
task.getModules().from(moduleOnlyConfiguration);
task.getLibraries().from(userdevJsonLibrariesConfiguration);
task.getModules().from(userdevJsonModuleOnlyConfiguration);

task.getTestLibraries().from(userdevTestImplementationConfiguration);
task.getTestLibraries().from(userdevJsonUserdevTestImplementationConfiguration);

CommonRuntimeExtension.configureCommonRuntimeTaskParameters(task, runtimeDefinition, workingDirectory);
});
Expand Down

0 comments on commit 48ae9fa

Please sign in to comment.