From: Chris Wren Date: Tue, 10 Dec 2013 20:48:47 +0000 (-0500) Subject: expose the protoutil for launcher as an executable script X-Git-Tag: android-x86-6.0-r1~625^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ba2923a3912f266c8fa1691858db29c2ce597928;p=android-x86%2Fpackages-apps-Launcher3.git expose the protoutil for launcher as an executable script Change-Id: Ie990262534d85b118c165589ecee55d64f3a58cc --- diff --git a/Android.mk b/Android.mk index 6059a3f98..840b161c5 100644 --- a/Android.mk +++ b/Android.mk @@ -61,6 +61,28 @@ LOCAL_PROTOC_OPTIMIZE_TYPE := nano LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/ LOCAL_MODULE_TAGS := optional -LOCAL_MODULE := protoutil +LOCAL_MODULE := launcher_protoutil_lib +LOCAL_IS_HOST_MODULE := true +LOCAL_JAR_MANIFEST := util/etc/manifest.txt +LOCAL_STATIC_JAVA_LIBRARIES := host-libprotobuf-java-2.3.0-nano include $(BUILD_HOST_JAVA_LIBRARY) + +# +# Protocol Buffer Debug Utility Wrapper Script +# +include $(CLEAR_VARS) +LOCAL_IS_HOST_MODULE := true +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE := launcher_protoutil + +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): launcher_protoutil_lib +$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/util/etc/launcher_protoutil | $(ACP) + @echo "Copy: $(PRIVATE_MODULE) ($@)" + $(copy-file-to-new-target) + $(hide) chmod 755 $@ + +INTERNAL_DALVIK_MODULES += $(LOCAL_INSTALLED_MODULE) diff --git a/util/com/android/launcher3/DecoderRing.java b/util/com/android/launcher3/DecoderRing.java index 1d9e0defb..bd0275e5f 100644 --- a/util/com/android/launcher3/DecoderRing.java +++ b/util/com/android/launcher3/DecoderRing.java @@ -49,7 +49,7 @@ class DecoderRing { public static void main(String[ ] args) throws Exception { File source = null; - Class type = Key.class; + Class type = null; int skip = 0; for (int i = 0; i < args.length; i++) { @@ -79,6 +79,9 @@ class DecoderRing { } } + if (type == null) { + usage(args); + } // read in the bytes ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); diff --git a/util/etc/launcher_protoutil b/util/etc/launcher_protoutil new file mode 100644 index 000000000..833b5835e --- /dev/null +++ b/util/etc/launcher_protoutil @@ -0,0 +1,83 @@ +#!/bin/bash +# +# Copyright (C) 2013 The Android Open Source Project +# +# 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. + +# Set up prog to be the path of this script, including following symlinks, +# and set up progdir to be the fully-qualified pathname of its directory. +prog="$0" +while [ -h "${prog}" ]; do + newProg=`/bin/ls -ld "${prog}"` + newProg=`expr "${newProg}" : ".* -> \(.*\)$"` + if expr "x${newProg}" : 'x/' >/dev/null; then + prog="${newProg}" + else + progdir=`dirname "${prog}"` + prog="${progdir}/${newProg}" + fi +done +oldwd=`pwd` +progdir=`dirname "${prog}"` +cd "${progdir}" +progdir=`pwd` +prog="${progdir}"/`basename "${prog}"` +cd "${oldwd}" + +jarfile=launcher_protoutil_lib.jar +libdir="$progdir" + +if [ ! -r "$libdir/$jarfile" ]; then + # set jar location for the Android tree case + libdir=`dirname "$progdir"`/framework +fi + +if [ ! -r "$libdir/$jarfile" ]; then + echo `basename "$prog"`": can't find $jarfile" + exit 1 +fi + +# By default, give decoder a max heap size of 1 gig. This can be overridden +# by using a "-J" option (see below). +defaultMx="-Xmx1024M" + +# The following will extract any initial parameters of the form +# "-J" from the command line and pass them to the Java +# invocation (instead of to the decoder). This makes it possible for +# you to add a command-line parameter such as "-JXmx256M" in your +# scripts, for example. "java" (with no args) and "java -X" give a +# summary of available options. + +javaOpts="" + +while expr "x$1" : 'x-J' >/dev/null; do + opt=`expr "x$1" : 'x-J\(.*\)'` + javaOpts="${javaOpts} -${opt}" + if expr "x${opt}" : "xXmx[0-9]" >/dev/null; then + defaultMx="no" + fi + shift +done + +if [ "${defaultMx}" != "no" ]; then + javaOpts="${javaOpts} ${defaultMx}" +fi + +if [ "$OSTYPE" = "cygwin" ]; then + # For Cygwin, convert the jarfile path into native Windows style. + jarpath=`cygpath -w "$libdir/$jarfile"` +else + jarpath="$libdir/$jarfile" +fi + +exec java $javaOpts -jar "$jarpath" "$@" diff --git a/util/etc/manifest.txt b/util/etc/manifest.txt new file mode 100644 index 000000000..84842ed53 --- /dev/null +++ b/util/etc/manifest.txt @@ -0,0 +1 @@ +Main-Class: com.android.launcher3.DecoderRing