Skip to content

Commit da2bf46

Browse files
feat: start server gestion
1 parent af2965f commit da2bf46

File tree

7 files changed

+45
-30
lines changed

7 files changed

+45
-30
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
id 'maven-publish'
66
}
77

8-
version = '0.0.3'
8+
version = '1.0.0'
99
group = 'com.chillycheesy'
1010

1111
repositories {

settings.gradle

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1 @@
1-
pluginManagement {
2-
repositories {
3-
mavenLocal()
4-
gradlePluginPortal()
5-
}
6-
}
7-
8-
rootProject.name = 'modulo-gradle-application'
1+
rootProject.name = 'modulo-application'

src/main/groovy/com/chillycheesy/modulo/ModuloApplicationPlugin.groovy

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,16 @@ class ModuloApplicationPlugin implements Plugin<Project> {
1919
@Override
2020
void apply(Project project) {
2121
project.pluginManager.apply 'java-library'
22-
final def moduleExtension = project.extensions.create('module', ModuleExtension, project)
23-
final def generateModuleYml = new GenerateModuleYmlTask(moduleExtension)
24-
final def runModuloServer = new RunModuloServer(moduleExtension)
25-
final def deployModule = new DeployModuleTask()
22+
final moduleExtension = project.extensions.create('module', ModuleExtension, project)
23+
final generateModuleYml = new GenerateModuleYmlTask(moduleExtension)
24+
final runModuloServer = new RunModuloServer(moduleExtension)
25+
final deployModule = new DeployModuleTask()
2626

27-
final def generateModuleYmlTask = generateModuleYml.generate(project)
28-
final def runModuloServerTask = runModuloServer.generate(project)
29-
final def deployModuleTask = deployModule.generate(project)
27+
final generateModuleYmlTask = generateModuleYml.generate(project)
28+
final runModuloServerTask = runModuloServer.generate(project)
29+
final deployModuleTask = deployModule.generate(project)
3030

3131
project.processResources.dependsOn generateModuleYmlTask
32-
project.assemble.dependsOn deployModuleTask
3332
deployModuleTask.dependsOn project.assemble
3433
runModuloServerTask.dependsOn deployModuleTask
3534
}

src/main/groovy/com/chillycheesy/modulo/extensions/ModuleExtension.groovy

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,14 @@ class ModuleExtension {
4242
/**
4343
* Modulo api version.
4444
*/
45-
String moduloVersion
45+
String moduloVersion = 'BINKS-0.1.0'
4646

4747
/**
4848
* Init the extension with default values.
4949
* @param project The target project.
5050
*/
5151
ModuleExtension(Project project) {
5252
moduleName = project.name
53-
version = project.version
54-
main = "${project.group.toString()}.${moduleName}"
5553
target = "${project.projectDir.path}/src/main/resources"
5654
}
5755

src/main/groovy/com/chillycheesy/modulo/tasks/DeployModuleTask.groovy

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,20 @@ class DeployModuleTask implements ModuloTask {
66

77
@Override
88
def generate(Project project) {
9-
return null
9+
return project.task('deployModuleToLocalModuloServer') {
10+
group = 'modulo'
11+
description = 'Deploy the module to the local modulo server module file.'
12+
doLast {
13+
final moduleSrc = project.fileTree("$project.buildDir/libs")
14+
final moduleDest = project.file('modulo/modules')
15+
assert moduleDest.exists() || moduleDest.mkdirs()
16+
project.copy {
17+
from moduleSrc
18+
into moduleDest
19+
include '*.jar'
20+
}
21+
}
22+
}
1023
}
1124

1225
}

src/main/groovy/com/chillycheesy/modulo/tasks/GenerateModuleYmlTask.groovy

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class GenerateModuleYmlTask implements ModuloTask {
1717

1818
/**
1919
* Create the Task
20-
* @param moduleExtension The module extention who store plugin.yml data
20+
* @param moduleExtension The module extension who store plugin.yml data
2121
*/
2222
GenerateModuleYmlTask(ModuleExtension moduleExtension) {
2323
this.moduleExtension = moduleExtension
@@ -34,14 +34,14 @@ class GenerateModuleYmlTask implements ModuloTask {
3434
group = 'modulo'
3535
description = 'Generate the module.yml file for a Modulo module.'
3636
doLast {
37-
final moduleConfig = getModuleConfigFile()
37+
final moduleConfig = getModuleConfigFile(project)
3838
final Yaml yaml = new Yaml()
3939
final moduleName = moduleExtension.moduleName ?: project.name
4040
moduleConfig.text = yaml.dump([
4141
name: moduleName,
4242
version: moduleExtension.version ?: project.version,
43-
authors: moduleExtension.authors ?: "${project.group.toString()}.${moduleName}",
44-
main: moduleExtension.main,
43+
authors: moduleExtension.authors ?: ['ChillyCheesy'],
44+
main: moduleExtension.main ?: "$moduleName",
4545
dependencies: moduleExtension.dependencies,
4646
softDependencies: moduleExtension.softDependencies
4747
])
@@ -51,9 +51,10 @@ class GenerateModuleYmlTask implements ModuloTask {
5151

5252
/**
5353
* Get the module.yml file and create it if doesn't exist.
54+
* @param project The target project.
5455
* @return The file.
5556
*/
56-
private def getModuleConfigFile() {
57+
private def getModuleConfigFile(project) {
5758
final target = moduleExtension.target ?: "${project.projectDir.path}/src/main/resources"
5859
final resources = new File(target)
5960
resources.mkdirs()

src/main/groovy/com/chillycheesy/modulo/tasks/RunModuloServer.groovy

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import org.gradle.api.Project
55

66
class RunModuloServer implements ModuloTask {
77

8-
private final def LINK = 'https://s01.oss.sonatype.org/content/repositories/releases/com/chillycheesy/modulo-server/'
8+
private final def LINK = 'https://s01.oss.sonatype.org/content/repositories/releases/com/chillycheesy/modulo-server'
99

1010
private ModuleExtension moduleExtension
1111

@@ -19,15 +19,26 @@ class RunModuloServer implements ModuloTask {
1919
group = 'modulo'
2020
description = 'Run the Modulo server.'
2121
doLast {
22-
final File file = new File("modulo/modulo-server-${moduleExtension.version}.jar")
22+
final file = new File("${project.rootDir.path}/modulo/modulo-server-${moduleExtension.moduloVersion}.jar")
23+
assert file.parentFile.exists() || file.parentFile.mkdirs()
24+
project.delete(project.fileTree(file.parent) {
25+
include '*.jar'
26+
})
2327
if (!file.exists()) downloadFile(file)
24-
////////////////////////////////////////////////////////////////////////////////////////////////
28+
project.javaexec {
29+
main = '-jar'
30+
args = [file.absolutePath]
31+
workingDir = 'modulo'
32+
standardInput = System.in
33+
standardOutput = System.out
34+
}
2535
}
2636
}
2737
}
2838

2939
private def downloadFile(File file) {
30-
def url = "$LINK:${moduleExtension.version}/${file.getName()}"
40+
def url = "$LINK/${moduleExtension.moduloVersion}/${file.getName()}"
41+
println "Downloading ${url} to ${file.getPath()}..."
3142
new URL(url).openConnection().with { connection ->
3243
connection.instanceFollowRedirects = false
3344
url = connection.getHeaderField("Location")

0 commit comments

Comments
 (0)