diff options
author | 2017-12-05 09:28:08 -0800 | |
---|---|---|
committer | 2017-12-06 03:55:20 +0000 | |
commit | 5425090a4f006fb0de0a98fbd0dad66706e1638e (patch) | |
tree | cc4702674014d3826752d25ce31cbf0f69046abe /java/genrule.go | |
parent | 9cf27db425bd693ab17603bef740f2411363c3df (diff) |
Add java_genrules to use jars as inputs and outputs
Add a java_genrule that has the right multilib flags to be a
dependency of a java rule. Make java libraries implement
SourceFileProducer so that their classes jar can be used as an
input to a java_genrule. Allow libs and static_libs dependencies
to be a java_genrule.
Test: TestJarGenrules
Change-Id: Ib1b31ef9c0b7e72eeed2c9ecc4ce8a1088e0b1c9
Diffstat (limited to 'java/genrule.go')
-rw-r--r-- | java/genrule.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/java/genrule.go b/java/genrule.go new file mode 100644 index 000000000..80b703055 --- /dev/null +++ b/java/genrule.go @@ -0,0 +1,35 @@ +// Copyright 2017 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 ( + "android/soong/android" + "android/soong/genrule" +) + +func init() { + android.RegisterModuleType("java_genrule", genRuleFactory) +} + +// java_genrule is a genrule that can depend on other java_* objects. +// The cmd may be run multiple times, once for each of the different host/device +// variations. +func genRuleFactory() android.Module { + module := genrule.NewGenRule() + + android.InitAndroidArchModule(module, android.HostAndDeviceSupported, android.MultilibCommon) + + return module +} |