buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }

    ext {
        isLibrary = false

        // Fill out the proper values here and uncomment.
        // See also https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
        // Upload it with: gradle uploadArchives
        // sonatypeUsername = 'yourusername'
        // sonatypePassword = 'yourpassword'
        // sonatypeRepo = 'the-repo'
        // sonatypeSnapshotRepo = 'https://oss.sonatype.org/content/repositories/snapshots/'
    }
}

subprojects {
    afterEvaluate { Project project ->
        ext.pluginContainer = project.getPlugins()
        if(ext.pluginContainer.hasPlugin("android") || ext.pluginContainer.hasPlugin("android-library")) {
            android {
                compileSdkVersion 19
                buildToolsVersion '19.1.0'

                android {
                    lintOptions {
                        abortOnError false
                    }
                }

                defaultConfig {
                    minSdkVersion 4
                    targetSdkVersion 19
                    versionCode 1
                    versionName "1.0"
                }
            }
        }
        if(project.isLibrary && rootProject.hasProperty('sonatypeUsername') && rootProject.hasProperty('sonatypePassword')) {
            configure(project) {
                apply plugin: 'maven'
                apply plugin: 'signing'

                signing {
                    required { has("release") && gradle.taskGraph.hasTask("uploadArchives") }
                    sign configurations.archives
                }

                uploadArchives {
                    repositories.mavenDeployer {
                        beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

                        repository(url: sonatypeRepo) {
                            authentication(userName: sonatypeUsername , password: sonatypePassword)
                            releases(updatePolicy: 'always')
                        }

                        snapshotRepository(url: sonatypeSnapshotRepo) {
                            authentication(userName: sonatypeUsername , password: sonatypePassword)
                            snapshots(updatePolicy: 'always')
                        }

                        pom.project {
                            name project.pomName
                            version project.version
                            groupId project.group
                            packaging project.pomPackaging
                            artifactId project.pomArtifactId
                            description project.pomDescription
                            url 'https://github.com/erikwt/PullToRefresh-ListView'

                            scm {
                                url 'scm:git@github.com:erikwt/PullToRefresh-ListView.git'
                                connection 'scm:git@github.com:erikwt/PullToRefresh-ListView.git'
                                developerConnection 'scm:git@github.com:erikwt/PullToRefresh-ListView.git'
                            }

                            licenses {
                                license {
                                    name 'The Apache Software License, Version 2.0'
                                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                                    distribution 'repo'
                                }
                            }

                            developers {
                                developer {
                                    id 'erikwt'
                                    name 'Erik Wallentinsen'
                                    email ''
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
