diff options
| -rw-r--r-- | build/tools.atree | 20 | ||||
| -rwxr-xr-x | build/tools.windows.atree | 2 | ||||
| -rw-r--r-- | jobb/Android.mk | 52 | ||||
| -rw-r--r-- | manifmerger/Android.mk | 74 | ||||
| -rw-r--r-- | manifmerger/build.gradle | 68 |
5 files changed, 106 insertions, 110 deletions
diff --git a/build/tools.atree b/build/tools.atree index 5ace26d..c539743 100644 --- a/build/tools.atree +++ b/build/tools.atree @@ -63,15 +63,15 @@ lib/lib64GLES_V2_translator${DLL_EXTENSION} strip tools/lib/lib64GLES_V2_transla lib/lib64EGL_translator${DLL_EXTENSION} strip tools/lib/lib64EGL_translator${DLL_EXTENSION} # Java-Based SDK Tools -bin/ddms tools/ddms -bin/hierarchyviewer tools/hierarchyviewer -bin/draw9patch tools/draw9patch -bin/traceview tools/traceview -bin/android tools/android -bin/monkeyrunner tools/monkeyrunner -bin/lint tools/lint -bin/uiautomatorviewer tools/uiautomatorviewer -bin/jobb tools/jobb +bin/ddms tools/ddms +bin/hierarchyviewer tools/hierarchyviewer +bin/draw9patch tools/draw9patch +bin/traceview tools/traceview +bin/android tools/android +bin/monkeyrunner tools/monkeyrunner +bin/lint tools/lint +bin/uiautomatorviewer tools/uiautomatorviewer +prebuilts/devtools/jobb/etc/jobb tools/jobb # sdk.git Ant templates for project build files sdk/templates/build.template tools/lib/build.template @@ -197,6 +197,4 @@ framework/sdklib-tests.jar tests/libtests/sdklib-tests.jar framework/sdkuilib-tests.jar tests/libtests/sdkuilib-tests.jar framework/layoutlib_api.jar tests/libtests/layoutlib_api.jar framework/dvlib-tests.jar tests/libtests/dvlib-tests.jar -#FIXME breaks build, manifmerger jar files not properly built -#framework/manifmerger-tests.jar tests/libtests/manifmerger-tests.jar diff --git a/build/tools.windows.atree b/build/tools.windows.atree index 00e6474..f936d96 100755 --- a/build/tools.windows.atree +++ b/build/tools.windows.atree @@ -40,7 +40,7 @@ rm tools/lint sdk/lint/cli/etc/lint.bat tools/lint.bat rm tools/jobb -sdk/jobb/etc/jobb.bat tools/jobb.bat +prebuilts/devtools/jobb/etc/jobb.bat tools/jobb.bat rm tools/emulator diff --git a/jobb/Android.mk b/jobb/Android.mk index 9e7805c..3bd93c3 100644 --- a/jobb/Android.mk +++ b/jobb/Android.mk @@ -15,17 +15,51 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_SRC_FILES := $(call all-java-files-under, src) -LOCAL_JAVA_RESOURCE_DIRS := src +# The jobb code has moved to tools/base/jobb. +# The rule below uses the prebuilt jobb.jar if found. +# If not found, it tries to built it using the tools/base sources. +# +# TIP: to regenerate a new prebuilt, simply remove it and rebuilt it: +# $ rm prebuilts/devtools/jobb.jar +# $ make jobb +# $ cd prebuilts/devtools && git commit -a ... -LOCAL_JAR_MANIFEST := etc/manifest.txt +LOCAL_MODULE := jobb +LOCAL_MODULE_TAGS := debug +LOCAL_JAVA_LIBRARIES := fat32lib -LOCAL_JAVA_LIBRARIES := \ - fat32lib +# Note: we need a path relative to this module's path for LOCAL_PREBUILT_JAVA_LIBRARIES +# and we need a TOPDIR "absolute" path for the make rule. The "../.." part isn't pretty +# but allows us to satisfy both requirements. +jobb_rel_jar := ../../prebuilts/devtools/$(LOCAL_MODULE)/$(LOCAL_MODULE)$(COMMON_JAVA_PACKAGE_SUFFIX) +jobb_abs_jar := $(LOCAL_PATH)/$(jobb_rel_jar) -LOCAL_MODULE := jobb -LOCAL_MODULE_TAGS := debug +# Tools/base project name +jobb_project_name := jobb + +# Build the jar if it doesn't exist +ifeq (,$(wildcard $(jobb_abs_jar))) +$(info # Building $(jobb_project_name) prebuilt from tools/base using gradle) +ifeq (,$(wildcard $(TOPDIR)tools/base)) +$(error Missing tools/base directory. You probably need to run 'repo init -g all,-notdefault,tools' or similar) +endif +$(jobb_abs_jar): + $(hide)cd $(TOPDIR)tools/base && \ + ./gradlew :$(jobb_project_name):jar && \ + src=`./gradlew :$(jobb_project_name):properties | \ + awk 'BEGIN { N=""; V="" } \ + /^archivesBaseName:/ { N=$$2 } \ + /^version:/ { V=$$2 } \ + END { print N "-" V ".jar" }'` && \ + cd ../.. && \ + dst=$(dir $(jobb_abs_jar)) && \ + mkdir -p $$dst && \ + cp $(TOPDIR)tools/base/$(jobb_project_name)/build/libs/$$src $(jobb_abs_jar) && \ + mkdir -p $$dst/etc && \ + cp $(TOPDIR)tools/base/$(jobb_project_name)/etc/{jobb,jobb.bat} $$dst/etc/ +endif + +LOCAL_PREBUILT_JAVA_LIBRARIES := $(jobb_rel_jar) -include $(BUILD_HOST_JAVA_LIBRARY) -include $(LOCAL_PATH)/etc/Android.mk +include $(BUILD_HOST_PREBUILT) diff --git a/manifmerger/Android.mk b/manifmerger/Android.mk index 28dbe82..d4fe7ab 100644 --- a/manifmerger/Android.mk +++ b/manifmerger/Android.mk @@ -1,30 +1,62 @@ # Copyright 2011 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. + LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_SRC_FILES := $(call all-java-files-under,src/main/java) -LOCAL_JAVA_RESOURCE_DIRS := +# The manifest-merger code has moved to tools/base/manifmerger. +# The rule below uses the prebuilt manifmerger.jar if found. +# If not found, it tries to built it using the tools/base sources. +# +# TIP: to regenerate a new prebuilt, simply remove it and rebuilt it: +# $ rm prebuilts/devtools/manifestmerger.jar +# $ make manifmerger +# $ cd prebuilts/devtools && git commit -a ... -LOCAL_JAR_MANIFEST := etc/manifest.txt -LOCAL_JAVA_LIBRARIES := \ - common \ - sdklib LOCAL_MODULE := manifmerger LOCAL_MODULE_TAGS := optional +LOCAL_JAVA_LIBRARIES := common sdklib + +# Note: we need a path relative to this module's path for LOCAL_PREBUILT_JAVA_LIBRARIES +# and we need a TOPDIR "absolute" path for the make rule. The "../.." part isn't pretty +# but allows us to satisfy both requirements. +mm_rel_jar := ../../prebuilts/devtools/$(LOCAL_MODULE)/$(LOCAL_MODULE)$(COMMON_JAVA_PACKAGE_SUFFIX) +mm_abs_jar := $(LOCAL_PATH)/$(mm_rel_jar) + +# Tools/base project name +mm_project_name := manifmerger + +# Build the jar if it doesn't exist +ifeq (,$(wildcard $(mm_abs_jar))) +$(info # Building $(mm_project_name) prebuilt from tools/base using gradle) +ifeq (,$(wildcard $(TOPDIR)tools/base)) +$(error Missing tools/base directory. You probably need to run 'repo init -g all,-notdefault,tools' or similar) +endif +$(mm_abs_jar): + $(hide)cd $(TOPDIR)tools/base && \ + ./gradlew :$(mm_project_name):jar && \ + src=`./gradlew :$(mm_project_name):properties | \ + awk 'BEGIN { N=""; V="" } \ + /^archivesBaseName:/ { N=$$2 } \ + /^version:/ { V=$$2 } \ + END { print N "-" V ".jar" }'` && \ + cd ../.. && \ + mkdir -p $(dir $(mm_abs_jar)) && \ + cp $(TOPDIR)tools/base/$(mm_project_name)/build/libs/$$src $(mm_abs_jar) +endif + +LOCAL_PREBUILT_JAVA_LIBRARIES := $(mm_rel_jar) + +include $(BUILD_HOST_PREBUILT) -include $(BUILD_HOST_JAVA_LIBRARY) - -# Build tests -include $(CLEAR_VARS) - -# Only compile source java files in this lib. -LOCAL_SRC_FILES := $(call all-java-files-under, src/test/java) -LOCAL_JAVA_RESOURCE_DIRS := src/test/java - -LOCAL_MODULE := manifmerger-tests -LOCAL_MODULE_TAGS := optional - -LOCAL_JAVA_LIBRARIES := manifmerger sdklib-tests junit - -include $(BUILD_HOST_JAVA_LIBRARY) diff --git a/manifmerger/build.gradle b/manifmerger/build.gradle deleted file mode 100644 index 9e9bef2..0000000 --- a/manifmerger/build.gradle +++ /dev/null @@ -1,68 +0,0 @@ -dependencies { - compile project(':common') - compile project(':sdklib') - compile 'kxml2:kxml2:2.3.0' - - testCompile project(':sdklib').sourceSets.test.output - testCompile 'junit:junit:3.8.1' -} - -def getVersion() { - if (project.has("release")) { - return project.ext.baseVersion - } - - return project.ext.baseVersion + '-SNAPSHOT' -} - -version = getVersion() -group = 'com.android.tools.build' -archivesBaseName = 'manifest-merger' - -sourceSets { - main.resources.srcDir 'src/main/java' - test.resources.srcDir 'src/test/java' -} - -uploadArchives { - repositories { - mavenDeployer { - beforeDeployment { MavenDeployment deployment -> - if (!project.has("release")) { - throw new StopExecutionException("uploadArchives must be called with the release.gradle init script") - } - - signing.signPom(deployment) - } - - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: sonatypeUsername, password: sonatypePassword) - } - - pom.project { - name 'Android Tools Manifest Merger library' - description 'A Library to merge Android manifests.' - url 'http://tools.android.com' - inceptionYear '2007' - - licenses { - license { - name 'The Apache Software License, Version 2.0' - url 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution 'repo' - } - } - - scm { - url "https://android.googlesource.com/platform/sdk" - connection "git://android.googlesource.com/platform/sdk.git" - } - developers { - developer { - name 'The Android Open Source Project' - } - } - } - } - } -} |
