diff options
author | ccalvarin <ccalvarin@google.com> | 2017-06-09 11:51:45 -0400 |
---|---|---|
committer | John Cater <jcater@google.com> | 2017-06-09 14:06:16 -0400 |
commit | f39dc6fc707cca9496d5baef5549bb7c24933776 (patch) | |
tree | f5a1ad175daf54395789d19a8d33c890ca3aff9d /src/main/java/com/google | |
parent | 6c1106b1a721516d3b3db54d2e1c31b44a76fbb1 (diff) |
Move InvocationPolicy to the options parser package.
It was originally included in runtime due to external dependencies, and
a desire to keep the options parser a general options library. These
dependencies have been or will be removed, and there are plenty of other
general flag libraries.
InvocationPolicy is fundamentally acting on the properties of this
specific OptionsParser and needs proper access to it for the proper
solution to a number of existing bugs, which means having access to
things that should be package private.
PiperOrigin-RevId: 158523111
Diffstat (limited to 'src/main/java/com/google')
11 files changed, 17 insertions, 38 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index 6c4c255d38..be4f82d109 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD @@ -132,22 +132,6 @@ java_library( ], ) -java_library( - name = "flags", - srcs = glob([ - "flags/*.java", - ]), - deps = [ - ":io", - ":preconditions", - "//src/main/java/com/google/devtools/common/options", - "//src/main/protobuf:invocation_policy_java_proto", - "//third_party:guava", - "//third_party:jsr305", - "//third_party/protobuf:protobuf_java", - ], -) - # Virtual file system; do not use externally! java_library( name = "vfs", @@ -617,7 +601,6 @@ java_library( ":concurrent", ":events", ":exitcode-external", - ":flags", ":graph", ":io", ":os_util", @@ -1167,7 +1150,6 @@ java_library( ":concurrent", ":events", ":exitcode-external", - ":flags", ":io", ":packages-internal", ":process_util", diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java index 7755c5b17c..102a68f1ef 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildOptions.java @@ -21,15 +21,14 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ListMultimap; import com.google.devtools.build.lib.cmdline.Label; -import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer; import com.google.devtools.build.lib.packages.Attribute.SplitTransition; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; import com.google.devtools.build.lib.util.Preconditions; +import com.google.devtools.common.options.InvocationPolicyEnforcer; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsClassProvider; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; - import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java index d2b05f32ff..55762d6fa6 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcher.java @@ -32,7 +32,6 @@ import com.google.common.util.concurrent.UncheckedExecutionException; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.EventHandler; import com.google.devtools.build.lib.events.Reporter; -import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer; import com.google.devtools.build.lib.runtime.commands.ProjectFileSupport; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; import com.google.devtools.build.lib.util.AbruptExitException; @@ -46,6 +45,7 @@ import com.google.devtools.build.lib.util.io.DelegatingOutErr; import com.google.devtools.build.lib.util.io.OutErr; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; +import com.google.devtools.common.options.InvocationPolicyEnforcer; import com.google.devtools.common.options.OpaqueOptionsData; import com.google.devtools.common.options.OptionPriority; import com.google.devtools.common.options.OptionsParser; diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java index f09843f691..a43ec2b707 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java @@ -33,8 +33,6 @@ import com.google.devtools.build.lib.analysis.config.ConfigurationFactory; import com.google.devtools.build.lib.buildeventstream.PathConverter; import com.google.devtools.build.lib.events.Event; import com.google.devtools.build.lib.events.OutputFilter; -import com.google.devtools.build.lib.flags.CommandNameCache; -import com.google.devtools.build.lib.flags.InvocationPolicyParser; import com.google.devtools.build.lib.packages.Package; import com.google.devtools.build.lib.packages.PackageFactory; import com.google.devtools.build.lib.packages.RuleClassProvider; @@ -75,6 +73,8 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.windows.WindowsFileSystem; import com.google.devtools.build.lib.windows.WindowsSubprocessFactory; +import com.google.devtools.common.options.CommandNameCache; +import com.google.devtools.common.options.InvocationPolicyParser; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionPriority; import com.google.devtools.common.options.OptionsBase; diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java index dd40207ecb..2ebb359141 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandNameCacheImpl.java @@ -16,9 +16,8 @@ package com.google.devtools.build.lib.runtime; import com.google.common.base.Function; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; -import com.google.devtools.build.lib.flags.CommandNameCache; import com.google.devtools.build.lib.util.Preconditions; - +import com.google.devtools.common.options.CommandNameCache; import java.util.ArrayDeque; import java.util.HashMap; import java.util.HashSet; diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java index 5bb1b31794..d2d3f5a58b 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CanonicalizeCommand.java @@ -16,8 +16,6 @@ package com.google.devtools.build.lib.runtime.commands; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.events.Event; -import com.google.devtools.build.lib.flags.InvocationPolicyEnforcer; -import com.google.devtools.build.lib.flags.InvocationPolicyParser; import com.google.devtools.build.lib.runtime.BlazeCommand; import com.google.devtools.build.lib.runtime.BlazeCommandUtils; import com.google.devtools.build.lib.runtime.BlazeRuntime; @@ -26,6 +24,8 @@ import com.google.devtools.build.lib.runtime.CommandEnvironment; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.FlagPolicy; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; import com.google.devtools.build.lib.util.ExitCode; +import com.google.devtools.common.options.InvocationPolicyEnforcer; +import com.google.devtools.common.options.InvocationPolicyParser; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionsBase; import com.google.devtools.common.options.OptionsParser; diff --git a/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java b/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java index d9689baaa1..adcdbec9df 100644 --- a/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java +++ b/src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java @@ -22,7 +22,6 @@ import com.google.common.net.InetAddresses; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.Uninterruptibles; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; -import com.google.devtools.build.lib.flags.InvocationPolicyParser; import com.google.devtools.build.lib.runtime.BlazeCommandDispatcher.LockingMode; import com.google.devtools.build.lib.runtime.CommandExecutor; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; @@ -40,6 +39,7 @@ import com.google.devtools.build.lib.util.ThreadUtils; import com.google.devtools.build.lib.util.io.OutErr; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; +import com.google.devtools.common.options.InvocationPolicyParser; import com.google.devtools.common.options.OptionsParsingException; import com.google.protobuf.ByteString; import io.grpc.Server; diff --git a/src/main/java/com/google/devtools/common/options/BUILD b/src/main/java/com/google/devtools/common/options/BUILD index c43b33f2f3..45cdf205b0 100644 --- a/src/main/java/com/google/devtools/common/options/BUILD +++ b/src/main/java/com/google/devtools/common/options/BUILD @@ -7,8 +7,10 @@ java_library( name = "options", srcs = glob(["*.java"]), deps = [ + "//src/main/protobuf:invocation_policy_java_proto", "//third_party:guava", "//third_party:jsr305", + "//third_party/protobuf:protobuf_java", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/flags/CommandNameCache.java b/src/main/java/com/google/devtools/common/options/CommandNameCache.java index 9c3b90aca0..13c85b71e5 100644 --- a/src/main/java/com/google/devtools/build/lib/flags/CommandNameCache.java +++ b/src/main/java/com/google/devtools/common/options/CommandNameCache.java @@ -11,7 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License.package com.google.devtools.build.lib.flags; -package com.google.devtools.build.lib.flags; +package com.google.devtools.common.options; import com.google.common.collect.ImmutableSet; diff --git a/src/main/java/com/google/devtools/build/lib/flags/InvocationPolicyEnforcer.java b/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java index c25f100f6d..651cd7858b 100644 --- a/src/main/java/com/google/devtools/build/lib/flags/InvocationPolicyEnforcer.java +++ b/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java @@ -11,7 +11,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -package com.google.devtools.build.lib.flags; +package com.google.devtools.common.options; import com.google.common.base.Function; import com.google.common.base.Functions; @@ -29,11 +29,8 @@ import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.Fl import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.SetValue; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.UseDefault; -import com.google.devtools.common.options.OptionPriority; -import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParser.OptionDescription; import com.google.devtools.common.options.OptionsParser.OptionValueDescription; -import com.google.devtools.common.options.OptionsParsingException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; diff --git a/src/main/java/com/google/devtools/build/lib/flags/InvocationPolicyParser.java b/src/main/java/com/google/devtools/common/options/InvocationPolicyParser.java index 2683c42827..d3dbbc3b8f 100644 --- a/src/main/java/com/google/devtools/build/lib/flags/InvocationPolicyParser.java +++ b/src/main/java/com/google/devtools/common/options/InvocationPolicyParser.java @@ -11,13 +11,12 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -package com.google.devtools.build.lib.flags; +package com.google.devtools.common.options; import com.google.common.base.CharMatcher; import com.google.common.base.Strings; import com.google.common.io.BaseEncoding; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; -import com.google.devtools.common.options.OptionsParsingException; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.TextFormat; @@ -28,10 +27,11 @@ import com.google.protobuf.TextFormat; */ public class InvocationPolicyParser { /** - * Parses InvocationPolicy in either of the accepted formats. Returns an empty policy if no - * policy is provided. + * Parses InvocationPolicy in either of the accepted formats. Returns an empty policy if no policy + * is provided. * - * @throws OptionsParsingException if the value of --invocation_policy is invalid. + * @throws com.google.devtools.common.options.OptionsParsingException if the value of + * --invocation_policy is invalid. */ public static InvocationPolicy parsePolicy(String policy) throws OptionsParsingException { if (Strings.isNullOrEmpty(policy)) { |