aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objc_tools
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2015-08-03 18:23:11 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-08-04 09:09:21 +0000
commit46e805787c395b856441a44ee454a0497ebe5bbd (patch)
treeab1fff82d57ca39eb0c49f9610fa350e60560e64 /src/objc_tools
parent52455102107bfba52347c18e2f02ae148f127958 (diff)
*** Reason for rollback *** Breaking builds. [] *** Original change description *** RELNOTES: actoolzip, momczip and swiftstdlibtoolzip have all been made into bash scripts and have been renamed to actoolwrapper, momcwrapper and swiftstdlibtoolwrapper respectively. The old versions will be deleted in a later change. -- MOS_MIGRATED_REVID=99742398
Diffstat (limited to 'src/objc_tools')
-rw-r--r--src/objc_tools/momczip/BUILD11
-rw-r--r--src/objc_tools/momczip/README2
-rw-r--r--src/objc_tools/momczip/java/com/google/devtools/build/xcode/momczip/MomcZip.java56
3 files changed, 69 insertions, 0 deletions
diff --git a/src/objc_tools/momczip/BUILD b/src/objc_tools/momczip/BUILD
new file mode 100644
index 0000000000..a2ae946d60
--- /dev/null
+++ b/src/objc_tools/momczip/BUILD
@@ -0,0 +1,11 @@
+package(default_visibility = ["//visibility:public"])
+
+java_binary(
+ name = "momczip",
+ srcs = glob(["java/**/*.java"]),
+ main_class = "com.google.devtools.build.xcode.momczip.MomcZip",
+ deps = [
+ "//src/tools/xcode-common/java/com/google/devtools/build/xcode/zippingoutput",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/objc_tools/momczip/README b/src/objc_tools/momczip/README
new file mode 100644
index 0000000000..1c87f43a5c
--- /dev/null
+++ b/src/objc_tools/momczip/README
@@ -0,0 +1,2 @@
+momczip invokes momc ("Managed object model compiler") and zips up the output,
+as the number of output files is unpredictable.
diff --git a/src/objc_tools/momczip/java/com/google/devtools/build/xcode/momczip/MomcZip.java b/src/objc_tools/momczip/java/com/google/devtools/build/xcode/momczip/MomcZip.java
new file mode 100644
index 0000000000..2134440795
--- /dev/null
+++ b/src/objc_tools/momczip/java/com/google/devtools/build/xcode/momczip/MomcZip.java
@@ -0,0 +1,56 @@
+// Copyright 2014 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// 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.xcode.momczip;
+
+import com.google.common.collect.ImmutableList;
+import com.google.devtools.build.xcode.zippingoutput.Arguments;
+import com.google.devtools.build.xcode.zippingoutput.Wrapper;
+import com.google.devtools.build.xcode.zippingoutput.Wrappers;
+
+import java.io.IOException;
+
+/**
+ * A tool which wraps momc, by running momc and zipping its output. See the JavaDoc for
+ * {@link Wrapper} for more information.
+ */
+public class MomcZip implements Wrapper {
+ @Override
+ public String name() {
+ return "MomcZip";
+ }
+
+ @Override
+ public String subtoolName() {
+ return "momc";
+ }
+
+ @Override
+ public Iterable<String> subCommand(Arguments args, String outputDirectory) {
+ return new ImmutableList.Builder<String>()
+ .add(args.subtoolCmd())
+ .addAll(args.subtoolExtraArgs())
+ .add(outputDirectory)
+ .build();
+ }
+
+ public static void main(String[] args) throws IOException, InterruptedException {
+ Wrappers.executePipingOutput(args, new MomcZip());
+ }
+
+ @Override
+ public boolean outputDirectoryMustExist() {
+ return false;
+ }
+}