diff options
author | Colin Cross <ccross@android.com> | 2017-12-08 13:54:03 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2017-12-11 16:28:52 -0800 |
commit | 61ebe08ef0132f4df784be476c18dbcf76e16a2c (patch) | |
tree | 45b6579a73b378332ffc4e3d92493e70d70daa20 /Android.bp | |
parent | 2f4c6dfce39d38e64a6e4993a808270e16d7dc1b (diff) | |
download | guice-61ebe08ef0132f4df784be476c18dbcf76e16a2c.tar.gz |
Convert external/guice to Android.bpandroid-wear-8.0.0_r1
See build/soong/README.md for more information.
Test: m checkbuild
Change-Id: I71ca0c253d06b4bdda5205083ae39e876fadfadb
Diffstat (limited to 'Android.bp')
-rw-r--r-- | Android.bp | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 00000000..1cd42f31 --- /dev/null +++ b/Android.bp @@ -0,0 +1,106 @@ +// Copyright (C) 2016 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. +// + +// +// Build support for guice within the Android Open Source Project +// See https://source.android.com/source/building.html for more information +// + +//################################## +// Guice # +//################################## + +// +// Builds the 'no_aop' flavor for Android. +// -- see core/pom.xml NO_AOP rule. +// + +filegroup { + name: "guice_srcs", + srcs: ["core/src/**/*.java"], + exclude_srcs: [ + "core/src/com/google/inject/spi/InterceptorBinding.java", + "core/src/com/google/inject/internal/InterceptorBindingProcessor.java", + "core/src/com/google/inject/internal/InterceptorStackCallback.java", + "core/src/com/google/inject/internal/InterceptorStackCallback.java", + "core/src/com/google/inject/internal/util/LineNumbers.java", + "core/src/com/google/inject/internal/MethodAspect.java", + "core/src/com/google/inject/internal/ProxyFactory.java", + ], +} + +filegroup { + name: "guice_test_src_files", + srcs: ["core/test/**/*.java"], + exclude_srcs: [ + "core/test/com/googlecode/guice/BytecodeGenTest.java", + "core/test/com/google/inject/IntegrationTest.java", + "core/test/com/google/inject/MethodInterceptionTest.java", + "core/test/com/google/inject/internal/ProxyFactoryTest.java", + ], +} + +// Copy munge.jar to a srcjar. +// Remove MungeTask.java, which is missing ant dependencies in Android. +genrule { + name: "guice_munge_srcjar", + out: ["guice_munge.srcjar"], + srcs: ["lib/build/munge.jar"], + cmd: "zip $(in) -O $(out) -d MungeTask.java", +} + +genrule { + name: "guice_munge_manifest", + out: ["guice_munge.manifest"], + srcs: ["lib/build/munge.jar"], + cmd: "unzip -qc $(in) META-INF/MANIFEST.MF > $(out)", +} + +java_binary_host { + name: "guice_munge", + srcs: [":guice_munge_srcjar"], + manifest: ":guice_munge_manifest", + libs: ["junit"], +} + +genrule { + name: "guice_munged_srcs", + srcs: [":guice_srcs"], + out: ["guice_munged_srcs.srcjar"], + tools: [ + "guice_munge", + "soong_zip", + ], + cmd: "for src in $(in); do " + + " mkdir -p $$(dirname $(genDir)/$${src}) && " + + " $(location guice_munge) -DNO_AOP $${src} > $(genDir)/$${src}; " + + " done && " + + " $(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)", +} + +// Target-side Dalvik, host-side, and host-side Dalvik build + +java_library_static { + name: "guice", + host_supported: true, + hostdex: true, + srcs: [":guice_munged_srcs"], + static_libs: [ + "guava", + "jsr330", + ], +} + +// TODO: Consider adding tests. |