mirror of
https://github.com/konsoletyper/teavm.git
synced 2024-11-27 01:30:35 +08:00
wasm gc: support source map in gradle plugin
This commit is contained in:
parent
d68018d2d3
commit
94c50dd1bc
@ -54,6 +54,7 @@ teavm {
|
||||
wasmGC {
|
||||
addedToWebApp = true
|
||||
mainClass = "org.teavm.samples.benchmark.teavm.BenchmarkStarter"
|
||||
sourceMap = true
|
||||
}
|
||||
wasm {
|
||||
addedToWebApp = true
|
||||
|
@ -407,6 +407,7 @@ public class TeaVMTool {
|
||||
target.setDebugInfoLevel(debugInformationGenerated ? WasmDebugInfoLevel.FULL : wasmDebugInfoLevel);
|
||||
target.setDebugInfoLocation(wasmDebugInfoLocation);
|
||||
if (sourceMapsFileGenerated) {
|
||||
wasmSourceMapWriter = new SourceMapBuilder();
|
||||
target.setSourceMapBuilder(wasmSourceMapWriter);
|
||||
target.setSourceMapLocation(getResolvedTargetFileName() + ".map");
|
||||
}
|
||||
|
@ -119,6 +119,7 @@ class TeaVMExtensionImpl extends TeaVMBaseExtensionImpl implements TeaVMExtensio
|
||||
.map(v -> WasmDebugInfoLocation.valueOf(v.toUpperCase())).orElse(WasmDebugInfoLocation.EXTERNAL));
|
||||
wasmGC.getDebugInfoLevel().convention(property("wasm-gc.debugInformation.level")
|
||||
.map(v -> WasmDebugInfoLevel.valueOf(v.toUpperCase())).orElse(WasmDebugInfoLevel.DEOBFUSCATION));
|
||||
wasmGC.getSourceMap().convention(property("wasm-gc.sourceMap").map(Boolean::parseBoolean).orElse(false));
|
||||
}
|
||||
|
||||
private void setupWasiDefaults() {
|
||||
|
@ -225,6 +225,7 @@ public class TeaVMPlugin implements Plugin<Project> {
|
||||
task.getTargetFileName().convention(wasmGC.getTargetFileName());
|
||||
task.getObfuscated().convention(wasmGC.getObfuscated());
|
||||
task.getStrict().convention(wasmGC.getStrict());
|
||||
task.getSourceMap().convention(wasmGC.getSourceMap());
|
||||
});
|
||||
project.getTasks().create(WASM_GC_COPY_RUNTIME_TASK_NAME, CopyWasmGCRuntimeTask.class, task -> {
|
||||
task.setGroup(TASK_GROUP);
|
||||
|
@ -31,4 +31,6 @@ public interface TeaVMWasmGCConfiguration extends TeaVMCommonConfiguration, TeaV
|
||||
Property<WasmDebugInfoLocation> getDebugInfoLocation();
|
||||
|
||||
Property<WasmDebugInfoLevel> getDebugInfoLevel();
|
||||
|
||||
Property<Boolean> getSourceMap();
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ public abstract class GenerateWasmGCTask extends TeaVMTask {
|
||||
getDebugInfo().convention(true);
|
||||
getDebugInfoLevel().convention(WasmDebugInfoLevel.DEOBFUSCATION);
|
||||
getDebugInfoLocation().convention(WasmDebugInfoLocation.EXTERNAL);
|
||||
getSourceMap().convention(false);
|
||||
}
|
||||
|
||||
@Input
|
||||
@ -46,11 +47,15 @@ public abstract class GenerateWasmGCTask extends TeaVMTask {
|
||||
@Input
|
||||
public abstract Property<WasmDebugInfoLocation> getDebugInfoLocation();
|
||||
|
||||
@Input
|
||||
public abstract Property<Boolean> getSourceMap();
|
||||
|
||||
@Override
|
||||
protected void setupBuilder(BuildStrategy builder) {
|
||||
builder.setStrict(getStrict().get());
|
||||
builder.setObfuscated(getObfuscated().get());
|
||||
builder.setDebugInformationGenerated(getDebugInfo().get());
|
||||
builder.setSourceMapsFileGenerated(getSourceMap().get());
|
||||
switch (getDebugInfoLevel().get()) {
|
||||
case FULL:
|
||||
builder.setWasmDebugInfoLevel(org.teavm.backend.wasm.WasmDebugInfoLevel.FULL);
|
||||
|
Loading…
Reference in New Issue
Block a user