| # Copyright (C) 2013 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. | |
| # | |
| # This bucklet simplifies creation of war archives. | |
| # | |
| # Example: | |
| # | |
| # war( | |
| # name = 'gitiles', | |
| # libs = ['//gitiles-servlet:servlet'], | |
| # context = [ | |
| # '//gitiles-servlet:static-resources', | |
| # ':web_xml', | |
| # ], | |
| # visibility = ['PUBLIC'] | |
| # ) | |
| # | |
| def war( | |
| name, | |
| libs = [], | |
| pgmlibs = [], | |
| context = [], | |
| visibility = [], | |
| ): | |
| cmd = ['$(exe //bucklets/tools:pack_war)', '-o', '$OUT', '--tmp', '$TMP'] | |
| for l in libs: | |
| cmd.extend(['--lib', '$(classpath %s)' % l]) | |
| for l in pgmlibs: | |
| cmd.extend(['--pgmlib', '$(classpath %s)' % l]) | |
| if context: | |
| for t in context: | |
| cmd.append('$(location %s)' % t) | |
| genrule( | |
| name = name, | |
| cmd = ' '.join(cmd), | |
| out = name + '.war', | |
| visibility = visibility, | |
| ) |