| # 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', |
| ) |