apply plugin: "groovy" apply plugin: "maven" defaultTasks "build" sourceCompatibility = 1.7 targetCompatibility = 1.7 ext { baseVersion = "0.5" isSnapshot = true snapshotAppendix = "-SNAPSHOT" projectVersion = baseVersion + (isSnapshot ? snapshotAppendix : "") projectGroup = "org.frege-lang" fregeBaseVersion = "3.23.288" fregeClassifier = "-gaa3af0c" fregeVersion = "$fregeBaseVersion$fregeClassifier" // work around https://issues.gradle.org/browse/GRADLE-3281 def home = new File(System.getProperty("user.home")) def propfile = new File(home, ".gradle/gradle.properties") if (propfile.exists()) { props = new Properties() propfile.withReader { props.load(it) def keyName = "gradle.publish.key" def key = props.getProperty(keyName) if (key == null) { println "No key named $keyName found in ${propfile.absolutePath}" } def secretName = "gradle.publish.secret" def secret = props.getProperty(secretName) if (secret == null) { println "No key named $secretName found in ${propfile.absolutePath}" } if (key != null && secret != null) { System.setProperty "gradle.publish.key", props.'gradle.publish.key' System.setProperty "gradle.publish.secret", props.'gradle.publish.secret' } } } else println "cannot find '$propfile.absolutePath'" } version = projectVersion group = projectGroup repositories { mavenLocal() mavenCentral() } dependencies { compile "$projectGroup:frege:$fregeVersion" compile "$projectGroup:frege-repl-core:1.2" compile "$projectGroup:frege-native-gen:1.3" compile gradleApi() compile localGroovy() } // using the publishing plugin buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "com.gradle.publish:plugin-publish-plugin:0.9.1" } } // Details on how to publish to the gradle plugin portal // Go to http://plugins.gradle.org, get yourself a publishing key // and add it to ~/.gradle/gradle.properties as // For publishing, run the task publishPlugins. apply plugin: "com.gradle.plugin-publish" // The configuration example below shows the minimum required properties // configured to publish your plugin to the plugin portal pluginBundle { website = 'https://github.com/Frege/frege-gradle-plugin' vcsUrl = 'https://github.com/Frege/frege-gradle-plugin' description = 'Enabling Frege for compilation, testing, documentation, and supporting tools.' tags = ['frege', 'haskell', 'java'] plugins { fregePlugin { id = 'org.frege-lang' displayName = 'Frege plugin' } } }