diff options
author | Brandon Lee <bralee@google.com> | 2018-08-15 15:35:38 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2018-09-18 17:44:10 +0000 |
commit | 5d45c6f6f83b6a9b360c392b9fdfdeb2b935de7d (patch) | |
tree | 5d184abb38bc6ecc7b69510ea07b79a4d2c93917 /java/jdeps_test.go | |
parent | cfbea98a57a8d8fd314a3e2ebc08eb53eab328ef (diff) | |
download | android_build_soong-5d45c6f6f83b6a9b360c392b9fdfdeb2b935de7d.tar.gz android_build_soong-5d45c6f6f83b6a9b360c392b9fdfdeb2b935de7d.tar.bz2 android_build_soong-5d45c6f6f83b6a9b360c392b9fdfdeb2b935de7d.zip |
Collect modules' info to create IDE project file.
- Register a singleton and implement GenerateBuildActions func in java/jdeps.go.
- Declare a interface and a struct to collect info in android/module.go.
- Implement IDEInfo for Library & Import module in java/jdeps.go.
- Implement IDEInfo for Genrule module in genrule/genrule.go.
- Implement IDEInfo for fileGroup module in android/filegroup.go.
- Test codes for jdeps.go in java/jdeps_test.go.
Bug: 111044346
Test: export SOONG_COLLECT_JAVA_DEPS=1;mmm packages/apps/Settings
out/soong/module_bp_java_deps.json will be generated
Change-Id: If61da77b4d7614c2c5da438b6af4c725ceccc5c3
Diffstat (limited to 'java/jdeps_test.go')
-rw-r--r-- | java/jdeps_test.go | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/java/jdeps_test.go b/java/jdeps_test.go new file mode 100644 index 00000000..ca8a3cdd --- /dev/null +++ b/java/jdeps_test.go @@ -0,0 +1,87 @@ +// Copyright 2018 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 java + +import ( + "reflect" + "testing" + + "android/soong/android" +) + +func TestCollectJavaLibraryPropertiesAddLibsDeps(t *testing.T) { + expected := []string{"Foo", "Bar"} + module := LibraryFactory().(*Library) + module.properties.Libs = append(module.properties.Libs, expected...) + dpInfo := &android.IdeInfo{} + + module.IDEInfo(dpInfo) + + if !reflect.DeepEqual(dpInfo.Deps, expected) { + t.Errorf("Library.IDEInfo() Deps = %v, want %v", dpInfo.Deps, expected) + } +} + +func TestCollectJavaLibraryPropertiesAddStaticLibsDeps(t *testing.T) { + expected := []string{"Foo", "Bar"} + module := LibraryFactory().(*Library) + module.properties.Static_libs = append(module.properties.Static_libs, expected...) + dpInfo := &android.IdeInfo{} + + module.IDEInfo(dpInfo) + + if !reflect.DeepEqual(dpInfo.Deps, expected) { + t.Errorf("Library.IDEInfo() Deps = %v, want %v", dpInfo.Deps, expected) + } +} + +func TestCollectJavaLibraryPropertiesAddScrs(t *testing.T) { + expected := []string{"Foo", "Bar"} + module := LibraryFactory().(*Library) + module.expandIDEInfoCompiledSrcs = append(module.expandIDEInfoCompiledSrcs, expected...) + dpInfo := &android.IdeInfo{} + + module.IDEInfo(dpInfo) + + if !reflect.DeepEqual(dpInfo.Srcs, expected) { + t.Errorf("Library.IDEInfo() Srcs = %v, want %v", dpInfo.Srcs, expected) + } +} + +func TestCollectJavaLibraryPropertiesAddAidlIncludeDirs(t *testing.T) { + expected := []string{"Foo", "Bar"} + module := LibraryFactory().(*Library) + module.deviceProperties.Aidl.Include_dirs = append(module.deviceProperties.Aidl.Include_dirs, expected...) + dpInfo := &android.IdeInfo{} + + module.IDEInfo(dpInfo) + + if !reflect.DeepEqual(dpInfo.Aidl_include_dirs, expected) { + t.Errorf("Library.IDEInfo() Aidl_include_dirs = %v, want %v", dpInfo.Aidl_include_dirs, expected) + } +} + +func TestCollectJavaLibraryPropertiesAddJarjarRules(t *testing.T) { + expected := "Jarjar_rules.txt" + module := LibraryFactory().(*Library) + module.properties.Jarjar_rules = &expected + dpInfo := &android.IdeInfo{} + + module.IDEInfo(dpInfo) + + if dpInfo.Jarjar_rules[0] != expected { + t.Errorf("Library.IDEInfo() Jarjar_rules = %v, want %v", dpInfo.Jarjar_rules[0], expected) + } +} |