Config: Add ConfigBuildFlags, and change it based on TARGET_BUILD_TYPE

This will be used to revive android.util.Config.DEBUG.

Signed-off-by: Dave Bort <dbort@android.com>
This commit is contained in:
Dave Bort
2009-04-22 17:33:12 -07:00
parent 75e44a1c72
commit a833cbbed0
5 changed files with 100 additions and 0 deletions

View File

@@ -41,6 +41,18 @@ LOCAL_SRC_FILES := $(filter-out \
org/mobilecontrol/% \
,$(LOCAL_SRC_FILES))
# Include a different set of source files when building a debug build.
# TODO: Maybe build these into a separate .jar and put it on the classpath
# in front of framework.jar.
# NOTE: Do not use this as an example; this is a very special situation.
# Do not modify LOCAL_SRC_FILES based on any variable other
# than TARGET_BUILD_TYPE, otherwise builds can become inconsistent.
ifeq ($(TARGET_BUILD_TYPE),debug)
LOCAL_SRC_FILES += $(call find-other-java-files,core/config/debug)
else
LOCAL_SRC_FILES += $(call find-other-java-files,core/config/ndebug)
endif
## READ ME: ########################################################
##
## When updating this list of aidl files, consider if that aidl is
@@ -230,6 +242,11 @@ fwbase_dirs_to_document := \
) \
)
# Pass a special "fake-out" version of some classes to the doc/API tools.
# ConfigBuildFlags uses this trick to prevent certain fields from appearing
# as "final" in the official SDK APIs.
fwbase_dirs_to_document += core/config/sdk
# These are relative to dalvik/libcore
# Intentionally not included from libcore:
# icu openssl suncompat support

5
core/config/README.txt Normal file
View File

@@ -0,0 +1,5 @@
One of the subdirectories {debug, ndebug} is included in framework.jar
by ../../Android.mk depending on the value of $(TARGET_BUILD_TYPE).
The sdk/ directory contains the files that are passed to the doc/API
tools regardless of $(TARGET_BUILD_TYPE).

View File

@@ -0,0 +1,24 @@
/*
* Copyright (C) 2009 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.
*/
package android.util;
/**
* Static flags set by the build process.
*/
/* package */ final class ConfigBuildFlags {
/* package */ static final boolean DEBUG = true;
}

View File

@@ -0,0 +1,24 @@
/*
* Copyright (C) 2009 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.
*/
package android.util;
/**
* Static flags set by the build process.
*/
/* package */ final class ConfigBuildFlags {
/* package */ static final boolean DEBUG = false;
}

View File

@@ -0,0 +1,30 @@
/*
* Copyright (C) 2009 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.
*/
package android.util;
/**
* Static flags set by the build process.
*/
/* package */ final class ConfigBuildFlags {
/* This field is intentionally declared as non-final. This file
* is passed to the SDK docs/API tools, and is used to force them
* to avoid treating DEBUG as a constant value. This is necessary
* to avoid breaking the API check when switching to and from
* a debug build.
*/
/* package */ static boolean DEBUG = false;
}