Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion wire-compiler/api/wire-compiler.api
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public final class com/squareup/wire/DryRunFileSystem : okio/ForwardingFileSyste
public final class com/squareup/wire/WireCompiler {
public static final field CODE_GENERATED_BY_WIRE Ljava/lang/String;
public static final field Companion Lcom/squareup/wire/WireCompiler$Companion;
public synthetic fun <init> (Lokio/FileSystem;Lcom/squareup/wire/WireLogger;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/Map;ZZZZZZZZIZZZLcom/squareup/wire/kotlin/RpcCallStyle;Lcom/squareup/wire/kotlin/RpcRole;ZLjava/lang/String;ZZZZLcom/squareup/wire/kotlin/EnumMode;Ljava/util/List;Ljava/util/Map;Ljava/util/List;IILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Lokio/FileSystem;Lcom/squareup/wire/WireLogger;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZLjava/util/Map;ZZZZZZZZIZZZLcom/squareup/wire/kotlin/RpcCallStyle;Lcom/squareup/wire/kotlin/RpcRole;ZLjava/lang/String;ZZZZLcom/squareup/wire/kotlin/EnumMode;Ljava/util/List;Ljava/util/Map;Ljava/util/List;IILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun compile ()V
public static final fun forArgs (Ljava/nio/file/FileSystem;Lcom/squareup/wire/WireLogger;[Ljava/lang/String;)Lcom/squareup/wire/WireCompiler;
public static final fun forArgs (Lokio/FileSystem;Lcom/squareup/wire/WireLogger;[Ljava/lang/String;)Lcom/squareup/wire/WireCompiler;
Expand Down Expand Up @@ -44,6 +44,7 @@ public final class com/squareup/wire/WireCompiler {
public final fun getOpaqueTypes ()Ljava/util/List;
public final fun getPermitPackageCycles ()Z
public final fun getProtoPaths ()Ljava/util/List;
public final fun getRejectUnusedRootsOrPrunes ()Z
public final fun getSchemaHandlerFactoryClass ()Ljava/lang/String;
public final fun getSourceFileNames ()Ljava/util/List;
public final fun getSwiftExclusive ()Z
Expand Down
6 changes: 6 additions & 0 deletions wire-compiler/src/main/java/com/squareup/wire/WireCompiler.kt
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ class WireCompiler internal constructor(
val sourceFileNames: List<String>,
val treeShakingRoots: List<String>,
val treeShakingRubbish: List<String>,
val rejectUnusedRootsOrPrunes: Boolean,
val modules: Map<String, WireRun.Module>,
val emitAndroid: Boolean,
val emitAndroidAnnotations: Boolean,
Expand Down Expand Up @@ -230,6 +231,7 @@ class WireCompiler internal constructor(
permitPackageCycles = permitPackageCycles,
loadExhaustively = loadExhaustively,
eventListeners = eventListenerFactoryClasses.map { newEventListenerFactory(it).create() },
rejectUnusedRootsOrPrunes = rejectUnusedRootsOrPrunes,
opaqueTypes = opaqueTypes,
)

Expand Down Expand Up @@ -301,6 +303,7 @@ class WireCompiler internal constructor(
private const val KOTLIN_ENUM_MODE = "--kotlin_enum_mode="
private const val CUSTOM_OPTION_FLAG = "--custom_option="
private const val OPAQUE_TYPES_FLAG = "--opaque_types="
private const val IGNORE_UNUSED_ROOTS_AND_PRUNES = "--ignore_unused_roots_and_prunes"
private const val KOTLIN_EXPLICIT_STREAMING_CALLS = "--kotlin_explicit_streaming_calls"

@Throws(IOException::class)
Expand Down Expand Up @@ -369,6 +372,7 @@ class WireCompiler internal constructor(
var kotlinExplicitStreamingCalls = false
var dryRun = false
val customOptions = mutableMapOf<String, String>()
var rejectUnusedRootsOrPrunes = true
val opaqueTypes = mutableListOf<String>()

for (arg in args) {
Expand Down Expand Up @@ -492,6 +496,7 @@ class WireCompiler internal constructor(
arg == JAVA_INTEROP -> javaInterop = true
arg == EMIT_PROTO_READER_32 -> emitProtoReader32 = true
arg == KOTLIN_EXPLICIT_STREAMING_CALLS -> kotlinExplicitStreamingCalls = true
arg == IGNORE_UNUSED_ROOTS_AND_PRUNES -> rejectUnusedRootsOrPrunes = false
arg.startsWith("--") -> throw IllegalArgumentException("Unknown argument '$arg'.")
else -> sourceFileNames.add(arg)
}
Expand Down Expand Up @@ -547,6 +552,7 @@ class WireCompiler internal constructor(
eventListenerFactoryClasses = eventListenerFactoryClasses,
customOptions = customOptions,
opaqueTypes = opaqueTypes,
rejectUnusedRootsOrPrunes = rejectUnusedRootsOrPrunes,
kotlinExplicitStreamingCalls = kotlinExplicitStreamingCalls,
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import assertk.assertions.containsOnly
import assertk.assertions.hasMessage
import assertk.assertions.isEmpty
import assertk.assertions.isEqualTo
import assertk.assertions.isFalse
import com.squareup.wire.kotlin.EnumMode
import com.squareup.wire.schema.WireRun
import java.io.File
Expand Down Expand Up @@ -112,6 +113,9 @@ class CommandLineOptionsTest {

compiler = parseArgs("--java_out=.", "--includes=com.example.Foo,com.example.Bar")
assertThat(compiler.treeShakingRoots).containsExactly("com.example.Foo", "com.example.Bar")

compiler = parseArgs("--java_out=.", "--ignore_unused_roots_and_prunes")
assertThat(compiler.rejectUnusedRootsOrPrunes).isFalse()
}

@Test
Expand Down
Loading