/*
 * Copyright (c) 2008-2015 MongoDB, Inc.
 *
 * 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.
 */

apply plugin: 'osgi'
apply plugin: 'org.kordamp.gradle.clirr'

def configDir = new File(rootDir, 'config')
archivesBaseName = 'mongodb-driver-core'

clirr {
    excludeFilter = new File("$configDir/clirr-exclude.yml")
    baseline 'org.mongodb:mongodb-driver-core:3.4.0'
    failOnErrors = false
}

dependencies {
    compile project(':bson')

    compile "io.netty:netty-buffer:$nettyVersion", optional
    compile "io.netty:netty-transport:$nettyVersion", optional
    compile "io.netty:netty-handler:$nettyVersion", optional
    compile "org.xerial.snappy:snappy-java:$snappyVersion", optional

    testCompile project(':bson').sourceSets.test.output
}

jar {
    manifest {
        instruction 'Build-Version', getGitVersion()
        instruction 'Import-Package',
                    'org.bson.*',                       // unfortunate that this is necessary, but if it's left out then it's not included
                    'javax.crypto.*',
                    'javax.crypto.spec.*',
                    'javax.management.*',
                    'javax.net.*',
                    'javax.net.ssl.*',
                    'javax.security.sasl.*',
                    'javax.security.auth.callback.*',
                    'org.ietf.jgss.*',
                    'io.netty.*;resolution:=optional',
                    'org.xerial.snappy.*;resolution:=optional',
                    'org.slf4j;resolution:=optional'
    }
}

modifyPom {
    project {
        name 'MongoDB Java Driver Core'
        description 'The Java operations layer for the MongoDB Java Driver. Third parties can \' +\n' +
                    '                                                   \'wrap this layer to provide custom higher-level APIs'
        url 'http://www.mongodb.org'
    }
}
