summaryrefslogtreecommitdiff
path: root/build.gradle
blob: d3dd514586ba853d50ae805fad59686fcb443535 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
apply plugin: "groovy"
apply plugin: "maven-publish" // I don't think we need this at all
apply plugin: "signing"
apply plugin: "idea"

apply from: 'gradle/integTest.gradle'

defaultTasks "build"

sourceCompatibility = 1.8
targetCompatibility = 1.8

ext {
    baseVersion = "0.9"
    isSnapshot = true
    snapshotAppendix = "-SNAPSHOT"
    projectVersion = baseVersion + (isSnapshot ? snapshotAppendix : "")
    projectGroup = "org.frege-lang"

    fregeBaseVersion = "3.25.84"
    fregeClassifier = ""
    fregeVersion = fregeBaseVersion + fregeClassifier

}

// apply from: "gradle/sonatype.gradle" // not sure why that is here

version = projectVersion
group = projectGroup

repositories {
    mavenLocal()
    mavenCentral()
    
    flatDir {
        dirs 'lib'
    }
}

dependencies {
    implementation "$projectGroup:frege:$fregeVersion"
    // api "$projectGroup:frege-repl-core:1.2" // this now comes with the frege distro
    implementation "$projectGroup:frege-native-gen:1.3"
    // api "org.functionaljava:functionaljava:4.4" // try without

    implementation gradleApi()
    implementation localGroovy()
    testImplementation gradleTestKit()

    testImplementation('org.spockframework:spock-core:1.0-groovy-2.4') {
        exclude module: 'groovy-all'
    }
}

// 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'
        }
    }
}