# Copyright (C) 2009 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.


# Version should match lib/bouncycastle/BUCK
[library "bouncyCastleProvider"]
  name = Bouncy Castle Crypto Provider v152
  url = https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk15on/1.52/bcprov-jdk15on-1.52.jar
  sha1 = 88a941faf9819d371e3174b5ed56a3f3f7d73269
  remove = bcprov-.*[.]jar

# Version should match lib/bouncycastle/BUCK
[library "bouncyCastleSSL"]
  name = Bouncy Castle Crypto SSL v152
  url = https://repo1.maven.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.52/bcpkix-jdk15on-1.52.jar
  sha1 = b8ffac2bbc6626f86909589c8cc63637cc936504
  needs = bouncyCastleProvider
  remove = bcpkix-.*[.]jar

# Version should match lib/bouncycastle/BUCK
[library "bouncyCastlePGP"]
  name = Bouncy Castle Crypto OpenPGP v152
  url = https://repo1.maven.org/maven2/org/bouncycastle/bcpg-jdk15on/1.52/bcpg-jdk15on-1.52.jar
  sha1 = ff4665a4b5633ff6894209d5dd10b7e612291858
  needs = bouncyCastleProvider
  remove = bcpg-.*[.]jar

[library "mysqlDriver"]
  name = MySQL Connector/J 5.1.21
  url = http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar
  sha1 = 7abbd19fc2e2d5b92c0895af8520f7fa30266be9
  remove = mysql-connector-java-.*[.]jar

[library "oracleDriver"]
  name = Oracle JDBC driver 11g Release 2 (11.2.0)
  url = file:///u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar
  sha1 = 2f89cd9176772c3a6c261ce6a8e3d0d4425f5679
  remove = ojdbc6.jar

[library "db2Driver"]
  name = DB2 Type 4 JDBC driver (10.5)
  url = file:///opt/ibm/db2/V10.5/java/db2jcc4.jar
  sha1 = 9344d4fd41d6511f2d1d1deb7759056495b3a39b
  needs = db2DriverLicense
  remove = db2jcc4.jar

# Omit SHA-1 for license JAR as it's not stable and depends on the product
# the customer has purchased.
[library "db2DriverLicense"]
  name = DB2 Type 4 JDBC driver license (10.5)
  url = file:///opt/ibm/db2/V10.5/java/db2jcc_license_cu.jar
  remove = db2jcc_license_cu.jar
