| # 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. | |
| # | |
| # Install and deploy artifacts into local and remote Maven repositories | |
| # | |
| # Example: | |
| # | |
| # maven_package( | |
| # repository = 'gerrit-api-repository', | |
| # url = 'gs://gerrit-api/release', | |
| # version = '1.0', | |
| # group = 'com.google.gitiles', | |
| # jar = {'gitiles-servlet': '//gitiles-servlet:servlet'}, | |
| # src = {'gitiles-servlet': '//gitiles-servlet:src'}, | |
| # doc = {'gitiles-servlet': '//gitiles-servlet:javadoc'}, | |
| # ) | |
| # | |
| def maven_package( | |
| version, | |
| repository = None, | |
| url = None, | |
| group = None, | |
| jar = {}, | |
| src = {}, | |
| doc = {}): | |
| cmd = [ | |
| '$(exe //bucklets/tools:mvn)', | |
| '-g', group, | |
| '-v', version, | |
| '-o', '$OUT', | |
| ] | |
| for type,d in [('jar', jar), ('java-source', src), ('javadoc', doc)]: | |
| for a,t in d.iteritems(): | |
| cmd.append('-s %s:%s:$(location %s)' % (a,type,t)) | |
| genrule( | |
| name = 'install', | |
| cmd = ' '.join(cmd + ['-a', 'install']), | |
| out = 'install.info', | |
| ) | |
| if repository and url: | |
| genrule( | |
| name = 'deploy', | |
| cmd = ' '.join(cmd + [ | |
| '-a', 'deploy', | |
| '--repository', repository, | |
| '--url', url]), | |
| out = 'deploy.info', | |
| ) |