m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
blob: de9a9df89a307ac8e3fbc55f66e56224c6c8b554 (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
90
91
92
93
94
95
96
97
98
99
100
101
102
/*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * User Manual available at https://docs.gradle.org/5.6.2/userguide/tutorial_java_projects.html
 */

plugins {
    // Apply the java plugin to add support for Java
    id 'java'

    // Apply the application plugin to add support for building a CLI application
    id 'application'
}

ext.hostname = {
    return System.getProperty("hostname") ?: "localhost"
}

ext.freshnessPeriod = {
    return System.getProperty("freshnessPeriod") ?: 60 * 1000
}

ext.UDUPHostname = {
    return System.getProperty("hostname") ?: "localhost"
}

ext.port = {
    return System.getProperty("port") ?: 5999;
}

ext.timeout = {
    return System.getProperty("timeout") ?: 5000;
}

ext.bufsize = {
    return System.getProperty("bufsize") ?: 512;
}

repositories {
    // Use jcenter for resolving dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
    mavenCentral()
}

dependencies {
    // This dependency is used by the application.
    implementation 'com.google.guava:guava:28.0-jre'

    implementation 'org.springframework.boot:spring-boot-starter-web:2.2.1.RELEASE'

    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:2.2.1.RELEASE'

    implementation 'org.springframework.boot:spring-boot-starter-test:2.2.1.RELEASE'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'

    implementation 'com.esotericsoftware:kryo:4.0.2'

    // For query language parser
    implementation files('./lib/JLex.jar')
    implementation files('./lib/cup.jar')

    implementation 'com.google.code.gson:gson:2.8.6'
}

application {
    // Define the main class for the application
    mainClassName = 'pl.edu.mimuw.cloudatlas.interpreter.Main'
}

task runAgent(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath
    main = 'pl.edu.mimuw.cloudatlas.agent.Agent'
    systemProperty 'java.rmi.server.hostname', hostname()
    systemProperty 'freshness_period', freshnessPeriod()
    systemProperty 'UDUPServer.hostname', UDUPHostname()
    systemProperty 'UDUPServer.port', port()
    systemProperty 'UDUPServer.timeout', port()
    systemProperty 'UDUPServer.bufsize', port()
}

task runClient(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath
    main = 'pl.edu.mimuw.cloudatlas.client.Client'
    systemProperty 'agent_hostname', hostname()
}

task runFetcher(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath
    main = 'pl.edu.mimuw.cloudatlas.fetcher.Fetcher'
    args(hostname() , 1099)
}

task runInterpreter(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath
    main = 'pl.edu.mimuw.cloudatlas.interpreter.Main'
    standardInput = System.in
}