-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
124 lines (106 loc) · 4.75 KB
/
Copy pathbuild.gradle
File metadata and controls
124 lines (106 loc) · 4.75 KB
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
plugins {
id "org.gretty" version "3.1.5"
}
apply plugin: 'war'
apply plugin: 'maven'
// apply plugin: 'java'
// apply plugin: 'maven-publish'
apply plugin: 'eclipse'
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
compile "org.apache.wicket:wicket-core:$project.version_wicket"
implementation "org.abcl:abcl:$project.version_abcl"
implementation "org.abcl:abcl-contrib:$project.version_abcl" // Optional: for additional ABCL features like Quicklisp
// implementation "org.apache.wicket:wicket-core:$project.version_wicket"
compile "org.slf4j:slf4j-api:$project.version_slf4j"
compile "org.apache.logging.log4j:log4j-slf4j-impl:$project.version_log4j"
compile "org.apache.logging.log4j:log4j-api:$project.version_log4j"
compile "org.apache.logging.log4j:log4j-core:$project.version_log4j"
testCompile "junit:junit:$project.version_junit"
testCompile "org.eclipse.jetty:jetty-server:$project.version_jetty"
testCompile "org.eclipse.jetty:jetty-webapp:$project.version_jetty"
testCompile "org.eclipse.jetty:jetty-util:$project.version_jetty"
testCompile "org.eclipse.jetty:jetty-jmx:$project.version_jetty"
gretty "org.eclipse.jetty:jetty-server:$project.version_jetty"
gretty "org.eclipse.jetty:jetty-servlet:$project.version_jetty"
gretty "org.eclipse.jetty:jetty-webapp:$project.version_jetty"
gretty "org.eclipse.jetty:jetty-security:$project.version_jetty"
gretty "org.eclipse.jetty:jetty-jsp:$project.version_jetty"
gretty "org.eclipse.jetty:jetty-annotations:$project.version_jetty"
gretty "org.eclipse.jetty:jetty-plus:$project.version_jetty"
//
// Jooby example
//
// Deps from here: https://github.com/eatonphil/jvm-lisp-examples/blob/main/abcl/pom.xml
// https://mvnrepository.com/artifact/io.jooby/jooby
implementation("io.jooby:jooby:$project.version_jooby")
// https://mvnrepository.com/artifact/io.jooby/jooby-netty
implementation("io.jooby:jooby-netty:$project.version_jooby_netty")
// https://mvnrepository.com/artifact/io.pebbletemplates/pebble
implementation("io.pebbletemplates:pebble:$project.version_pebble")
}
clean {
delete 'bin', 'target'
}
javadoc {
classpath += sourceSets.test.output
}
gretty {
servletContainer = 'jetty9'
contextPath = '/'
jvmArgs = ["-Djetty.keystore=$project.projectDir/src/test/resources/keystore"]
serverConfigFile = "$project.projectDir/src/test/jetty/jetty.xml"
}
tasks.register('runABCL', JavaExec) {
group = 'Application'
description = 'Run Armed Bear Common Lisp (ABCL)'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'org.armedbear.lisp.Main'
// Optional: Pass arguments to ABCL, e.g., to start a REPL
args '--noinform', '--noinit', '--nosystem', '--eval', '(progn (format t \"ABCL REPL started~%\") (require :abcl-contrib) (require :asdf))'
}
tasks.register('runABCLslime', JavaExec) {
group = 'Application'
description = 'Run Armed Bear Common Lisp (ABCL / SLIME)'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'org.armedbear.lisp.Main'
// Optional: Pass arguments to ABCL, e.g., to start a REPL
args '--noinform', '--noinit', '--nosystem', '--eval', '(progn (require :asdf) (require :abcl-contrib) (asdf:load-system :quicklisp-abcl) (ql:quickload :swank) (swank:create-server :port 4005 :dont-close t))'
}
tasks.register('runLispScript', JavaExec) {
group = 'Application'
description = 'Run ABCL and load/execute a .lisp file'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'org.armedbear.lisp.Main'
args '--noinform', '--noinit', '--nosystem',
'--load', "${project.projectDir}/src/main/lisp/hello-world.lisp"
// Optional: Add more --eval for post-load setup, e.g.:
// '--eval', '(format t "Script loaded! REPL ready.~%")'
}
tasks.register('runLispEatonNetty', JavaExec) {
group = 'Application'
description = 'Run ABCL and load/execute a .lisp file'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'org.armedbear.lisp.Main'
args '--noinform', '--noinit', '--nosystem',
'--eval', '(require :asdf)',
'--eval', '(require :abcl-contrib)',
'--eval', '(require :jss)', // Explicit JSS load
'--load', "${project.projectDir}/src/main/lisp/eaton-netty.lisp"
// Optional: Add more --eval for post-load setup, e.g.:
// '--eval', '(format t "Script loaded! REPL ready.~%")'
}
tasks.register('runABCLcustom', JavaExec) {
group = 'Application'
description = 'Run Armed Bear Common Lisp (ABCL) via Java'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'com.example.RunABCL'
}