clojuresque / build.gradle

subprojects {
    group = 'clojuresque'
    version = '1.5.3'

    apply plugin: 'signing'
}

project(':clojuresque') {
    apply {
        plugin 'groovy'
        plugin 'maven'
    }

    dependencies {
        compile gradleApi()
        // Workaround for milestone4
        compile fileTree(dir: "${gradle.gradleHomeDir}/lib/plugins", include: '**/*.jar')
        groovy localGroovy()
    }

    processResources {
        from(sourceSets.main.resources.srcDirs) {
            expand("version": project.version)
        }
    }
}

project(':runtime') {
    apply {
        plugin 'java'
        plugin 'maven'
    }

    repositories {
        mavenCentral()
    }

    dependencies {
        compile 'org.clojure:clojure:[1.2,1.5)'
    }
}

subprojects {
    ext.pomFile = project.buildDir.path + "/" +
            project.mavenPomDir.name + "/" +
            project.name + "-" + project.version + ".xml"

    task writePom {
        outputs.file project.pomFile
    } << {
        project.pom {
            project {
                licenses {
                    license {
                        name 'MIT License'
                        url 'http://opensource.org/licenses/MIT'
                        distribution 'repo'
                    }
                }
                description "A Clojure plugin for the Gradle build system"
                url "http://bitbucket.org/kotarak/clojuresque"
                scm {
                    connection 'scm:hg:hg@bitbucket.org:kotarak/clojuresque'
                    developerConnection 'scm:hg:hg@bitbucket.org:kotarak/clojuresque'
                    url 'hg@bitbucket.org:kotarak/clojuresque'
                }
            }
        }.writeTo(project.pomFile)
    }

    artifacts {
        writePom.outputs.files.each { archives it }
    }

    signing {
        sign configurations.archives
    }

    signArchives {
        dependsOn writePom
    }

    uploadArchives {
        dependsOn project.writePom
    } << {
        project.exec {
            commandLine(
                '/usr/bin/scp',
                project.pomFile,
                project.pomFile + ".asc",
                project.jar.archivePath.path,
                project.jar.archivePath.path + ".asc",
                'clojars@clojars.org:'
            )
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = "1.0"
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.