11import java.util.regex.Matcher
22
33buildscript {
4- repositories {
5- maven { url ' https://plugins.gradle.org/m2/' }
6- }
7- dependencies {
8- classpath ' com.netflix.nebula:gradle-ospackage-plugin:6.1.1'
9- }
4+ repositories {
5+ maven { url ' https://plugins.gradle.org/m2/' }
6+ }
7+ dependencies {
8+ classpath ' com.netflix.nebula:gradle-ospackage-plugin:6.1.1'
9+ }
1010}
1111
1212apply plugin : ' java'
@@ -20,123 +20,123 @@ group = 'ai.swim'
2020description = ' Tutorial- Web Agents'
2121ext. moduleName = ' swim.tutorial'
2222sourceCompatibility = 1.9
23- version = project. property(' application .version' )
23+ version = project. property(' swim .version' )
2424mainClassName = ' swim.tutorial.TutorialPlane'
2525
2626// def moduleName = 'swim.tutorial'
2727def jvmVersion = System . getProperty(' java.version' ). split(' \\ .' )[0 ] as Integer
2828def useModules = jvmVersion >= 9 && ! project. hasProperty(' no-modules' )
2929
3030repositories {
31- mavenCentral()
32- maven { url ' https://swimos.bintray.com/maven/' }
33- maven { url ' http://packages.confluent.io/maven/' }
31+ mavenCentral()
32+ maven { url ' https://swimos.bintray.com/maven/' }
33+ maven { url ' http://packages.confluent.io/maven/' }
3434}
3535
3636dependencies {
37- api group : ' org.swimos' , name : ' swim-server' , version : version
38- api group : ' org.swimos' , name : ' swim-client' , version : version
37+ api group : ' org.swimos' , name : ' swim-server' , version : version
38+ api group : ' org.swimos' , name : ' swim-client' , version : version
3939}
4040
4141afterEvaluate {
42- compileJava {
43- if (useModules) {
44- doFirst {
45- options. compilerArgs + = [
46- ' --module-path' , classpath. asPath,
47- ]
48- classpath = files()
49- }
42+ compileJava {
43+ if (useModules) {
44+ doFirst {
45+ options. compilerArgs + = [
46+ ' --module-path' , classpath. asPath,
47+ ]
48+ classpath = files()
49+ }
50+ }
51+ options. compilerArgs + = [' -Xlint' ]
52+ options. encoding = ' UTF-8'
5053 }
51- options. compilerArgs + = [' -Xlint' ]
52- options. encoding = ' UTF-8'
53- }
54-
55- jar {
56- inputs. property(' moduleName' , moduleName)
57- manifest {
58- attributes(
59- ' Implementation-Title' : moduleName,
60- ' Implementation-Version' : version,
61- ' Main-Class' : mainClassName)
62- }
63- }
6454
65- tasks. withType(JavaCompile ) {
66- options. encoding = ' UTF-8'
67- if (! useModules) {
68- exclude ' *module-info*'
55+ jar {
56+ inputs. property(' moduleName' , moduleName)
57+ manifest {
58+ attributes(
59+ ' Implementation-Title' : moduleName,
60+ ' Implementation-Version' : version,
61+ ' Main-Class' : mainClassName)
62+ }
6963 }
70- }
71-
72- run {
73- dependsOn jar
74- doFirst {
75- jvmArgs + = [
76- ' --module-path' , files(configurations. runtimeClasspath, jar. archiveFile). asPath,
77- ' --module' , " ${ moduleName} /${ mainClassName} "
78- ]
79- classpath = files()
64+
65+ tasks. withType(JavaCompile ) {
66+ options. encoding = ' UTF-8'
67+ if (! useModules) {
68+ exclude ' *module-info*'
69+ }
8070 }
81- }
82-
83- startScripts {
84- inputs. property(" moduleName" , moduleName)
85- doFirst {
86- classpath = files()
87- defaultJvmOpts = [
88- ' -Dswim.config=/server.recon' ,
89- ' -Xms3g' ,
90- ' -Xmx3g' ,
91- ' --module-path' , ' APP_HOME_LIBS' ,
92- ' --module' , " ${ moduleName} /${ mainClassName} "
93- ]
71+
72+ run {
73+ dependsOn jar
74+ doFirst {
75+ jvmArgs + = [
76+ ' --module-path' , files(configurations. runtimeClasspath, jar. archiveFile). asPath,
77+ ' --module' , " ${ moduleName} /${ mainClassName} "
78+ ]
79+ classpath = files()
80+ }
9481 }
95- doLast {
96- def bashFile = new File (outputDir, applicationName)
97- String bashContent = bashFile. text
98- bashFile. text = bashContent. replaceFirst(' APP_HOME_LIBS' , Matcher . quoteReplacement(' $APP_HOME/lib' ))
99-
100- def batFile = new File (outputDir, applicationName + " .bat" )
101- String batContent = batFile. text
102- batFile. text = batContent. replaceFirst(' APP_HOME_LIBS' , Matcher . quoteReplacement(' %APP_HOME%\\ lib' ))
82+
83+ startScripts {
84+ inputs. property(" moduleName" , moduleName)
85+ doFirst {
86+ classpath = files()
87+ defaultJvmOpts = [
88+ ' -Dswim.config=/server.recon' ,
89+ ' -Xms3g' ,
90+ ' -Xmx3g' ,
91+ ' --module-path' , ' APP_HOME_LIBS' ,
92+ ' --module' , " ${ moduleName} /${ mainClassName} "
93+ ]
94+ }
95+ doLast {
96+ def bashFile = new File (outputDir, applicationName)
97+ String bashContent = bashFile. text
98+ bashFile. text = bashContent. replaceFirst(' APP_HOME_LIBS' , Matcher . quoteReplacement(' $APP_HOME/lib' ))
99+
100+ def batFile = new File (outputDir, applicationName + " .bat" )
101+ String batContent = batFile. text
102+ batFile. text = batContent. replaceFirst(' APP_HOME_LIBS' , Matcher . quoteReplacement(' %APP_HOME%\\ lib' ))
103+ }
103104 }
104- }
105-
106- ospackage {
107- release ' 1'
108- prefix ' /opt/swim-tutorial'
109- }
110-
111- task packageDeb(type : Deb ) {
112- maintainer = ' developer@swim.ai'
113-
114- configurationFile(" /etc/sysconfig/${ project.name} " )
115- preInstall " addgroup --quiet --system ${ project.name} "
116- preInstall " adduser --quiet --system --ingroup ${ project.name} --no-create-home --disabled-password ${ project.name} "
117- postInstall " systemctl preset ${ project.name} > /dev/null 2>&1"
118- postInstall " systemctl start ${ project.name} > /dev/null 2>&1"
119- preUninstall " systemctl disable ${ project.name} > /dev/null 2>&1"
120- preUninstall " systemctl stop ${ project.name} > /dev/null 2>&1"
121- postUninstall " systemctl daemon-reload > /dev/null 2>&1"
122-
123- from(' pkg' ) {
124- into ' /etc/systemd/system'
125- include ' *.service'
126- addParentDirs false
127- expand project. properties
128- user ' root'
129- permissionGroup ' root'
130- fileMode = 0644
105+
106+ ospackage {
107+ release ' 1'
108+ prefix ' /opt/swim-tutorial'
131109 }
132110
133- from(' pkg' ) {
134- into ' /etc/sysconfig'
135- include " ${ project.name} "
136- user ' root'
137- permissionGroup ' root'
138- fileMode = 0644
139- fileType CONFIG | NOREPLACE
111+ task packageDeb(type : Deb ) {
112+ maintainer = ' developer@swim.ai'
113+
114+ configurationFile(" /etc/sysconfig/${ project.name} " )
115+ preInstall " addgroup --quiet --system ${ project.name} "
116+ preInstall " adduser --quiet --system --ingroup ${ project.name} --no-create-home --disabled-password ${ project.name} "
117+ postInstall " systemctl preset ${ project.name} > /dev/null 2>&1"
118+ postInstall " systemctl start ${ project.name} > /dev/null 2>&1"
119+ preUninstall " systemctl disable ${ project.name} > /dev/null 2>&1"
120+ preUninstall " systemctl stop ${ project.name} > /dev/null 2>&1"
121+ postUninstall " systemctl daemon-reload > /dev/null 2>&1"
122+
123+ from(' pkg' ) {
124+ into ' /etc/systemd/system'
125+ include ' *.service'
126+ addParentDirs false
127+ expand project. properties
128+ user ' root'
129+ permissionGroup ' root'
130+ fileMode = 0644
131+ }
132+
133+ from(' pkg' ) {
134+ into ' /etc/sysconfig'
135+ include " ${ project.name} "
136+ user ' root'
137+ permissionGroup ' root'
138+ fileMode = 0644
139+ fileType CONFIG | NOREPLACE
140+ }
140141 }
141- }
142142}
0 commit comments