Greenfield is a pervasive distributed system that manages Cleaning Robots deployed throughout the city. These robots act as peers, working together to autonomously navigate and clean various areas. Advanced technologies are utilized to enhance efficiency and maintain cleanliness.
-
gRPC
-
Protocol Buffer
-
gson
-
Jersey 1.19
-
AspectJ
-
Java 1.8
-
Gradle >= 7.4.2
You can use
gradle
or./gradlew
Running gradle tasks will automatically compile the necessary files.
Mosquitto
-
Start mosquitto broker
sudo service mosquitto start
orsudo systemctl start mosquitto
-
Stop mosquitto broker
sudo service mosquitto stop
orsudo systemctl stop mosquitto
-
Status mosquitto broker
sudo service mosquitto status
orsudo systemctl status mosquitto
Cleaning Robot
- Start one cleaning robot:
gradle runCleaningRobotClient --console=plain
or `./gradlew runCleaningRobotClient --console=plain``
Administrator Server
-
Start administrator server:
gradle runAdministratorServer --console=plain
or./gradlew runAdministratorServer --console=plain
Administrator Client
-
Start administrator client:
gradle runAdministratorClient --console=plain
or./gradlew runAdministratorClient --console=plain
First of all run gradle
or ./gradlew
to check that everything is OK.
Compile [java with aspectj]:
Note that .aj
files must be on src/main/aspectj
folder.
gradle :compileJava
or./gradlew :compileJava
If you want to put
.aj
file on the same directory of.java
files, you should replace onbuild.gradle
filecompileJava.ajc.options.compilerArgs = ["-sourceroots", "../../../src/main/aspectj"]
withcompileJava.ajc.options.compilerArgs=["-sourceroots", sourceSets.main.java.sourceDirectories.getAsPath()]
gradle build
or./gradlew build