Skip to content

Commit

Permalink
replace MappingsJavadocProvider.Source with mapped providers so they …
Browse files Browse the repository at this point in the history
…carry dependency info
  • Loading branch information
supersaiyansubtlety committed Oct 22, 2024
1 parent 02ae830 commit 8403c89
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 49 deletions.
38 changes: 9 additions & 29 deletions buildSrc/src/main/java/quilt/internal/QuiltMappingsPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -836,14 +836,9 @@ public void apply(@NotNull Project project) {
downloadMinecraftLibraries.flatMap(DownloadMinecraftLibrariesTask::getLibrariesDir)
);

task.getDefaultJavadocSource().convention(providers.of(
MappingsJavadocProvider.Source.class,
spec -> spec.parameters(params -> {
params.getMappingsFile().set(mergeTinyV2.flatMap(MergeTinyV2Task::getOutputMappings));

params.getNamespace().set("named");
})
));
task.getDefaultJavadocSource().convention(
MappingsJavadocProvider.provideNamed(mergeTinyV2.flatMap(MergeTinyV2Task::getOutputMappings))
);

task.getOutput().convention(tempDir.map(dir -> dir.dir("fakeSource")));
}
Expand All @@ -859,15 +854,8 @@ public void apply(@NotNull Project project) {
downloadMinecraftLibraries.flatMap(DownloadMinecraftLibrariesTask::getLibrariesDir)
);

task.getDefaultJavadocSource().convention(providers.of(
MappingsJavadocProvider.Source.class,
spec -> spec.parameters(params -> {
params.getMappingsFile().set(
insertAutoGeneratedMappings.flatMap(AddProposedMappingsTask::getOutputMappings)
);

params.getNamespace().set("named");
})
task.getDefaultJavadocSource().convention(MappingsJavadocProvider.provideNamed(
insertAutoGeneratedMappings.flatMap(AddProposedMappingsTask::getOutputMappings)
));

// TODO move this once generateDiff task eliminates magic strings
Expand Down Expand Up @@ -1023,18 +1011,10 @@ public void apply(@NotNull Project project) {
downloadMinecraftLibraries.flatMap(DownloadMinecraftLibrariesTask::getLibrariesDir)
);

task.getDefaultJavadocSource().convention(providers.of(
MappingsJavadocProvider.Source.class,
spec -> spec.parameters(params -> {
params.getMappingsFile().convention(
extractTargetMappingsJar.flatMap(ExtractTargetMappingJarTask::getExtractionDest)
.map(dest -> dest.dir("mappings").file("mappings.tiny"))
);

params.getNamespace().convention("named");
})
)
);
task.getDefaultJavadocSource().convention(MappingsJavadocProvider.provideNamed(
extractTargetMappingsJar.flatMap(ExtractTargetMappingJarTask::getExtractionDest)
.map(dest -> dest.dir("mappings").file("mappings.tiny"))
));

// TODO move this once generateDiff task eliminates magic strings
task.getOutput().convention(projectDir.dir("namedTargetSrc"));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package quilt.internal.decompile.javadoc;

import org.gradle.api.GradleException;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.provider.Property;
import org.gradle.api.provider.ValueSource;
import org.gradle.api.provider.ValueSourceParameters;
import org.gradle.api.file.RegularFile;
import org.gradle.api.provider.Provider;

import net.fabricmc.mappingio.format.tiny.Tiny2FileReader;
import net.fabricmc.mappingio.tree.MappingTree;
Expand Down Expand Up @@ -134,26 +132,19 @@ public String provideMethodJavadoc(String methodName, String descriptor, String
return "Mapping not found";
}

// TODO replace this with a mapped provider so it carries dependency info
public static abstract class Source implements ValueSource<MappingsJavadocProvider, Source.Params> {
@Override
public MappingsJavadocProvider obtain() {
final Params params = this.getParameters();
public static Provider<MappingsJavadocProvider> provideNamed(Provider<RegularFile> mappings) {
return provide(mappings, "named");
}

public static Provider<MappingsJavadocProvider> provide(
Provider<RegularFile> mappings, String namespace
) {
return mappings.map(mappingsFile -> {
try {
return new MappingsJavadocProvider(
params.getMappingsFile().get().getAsFile(),
params.getNamespace().get()
);
return new MappingsJavadocProvider(mappingsFile.getAsFile(), namespace);
} catch (IOException e) {
throw new GradleException("Failed to create javadoc provider", e);
}
}

public interface Params extends ValueSourceParameters {
RegularFileProperty getMappingsFile();

Property<String> getNamespace();
}
});
}
}

2 comments on commit 8403c89

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No difference between head and target.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No difference between head and target.

Please sign in to comment.