-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsnapcraft.yaml
More file actions
85 lines (62 loc) · 2.13 KB
/
Copy pathsnapcraft.yaml
File metadata and controls
85 lines (62 loc) · 2.13 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
name: torus-election-gui
title: Torus Leader Visualizer
version: "1.0.6"
summary: Educational torus grid leader election simulator.
description: |
Torus Leader Visualizer is an educational Java Swing desktop application
for demonstrating a leader election algorithm on a two-dimensional torus grid.
The application allows users to configure process IDs, run the simulation,
and visualize how the highest process ID propagates through the grid until
a leader is selected.
This project was developed for learning and demonstrating distributed
systems concepts in SE616 - Software Engineering for Distributed Systems.
The application runs entirely locally and does not collect user data,
require authentication, or connect to remote services.
base: core24
grade: stable
confinement: strict
license: MIT
icon: assets/icons/torus-election-gui.png
website:
- https://neimat1.github.io/TorusElectionGUI/
source-code:
- https://github.com/neimat1/TorusElectionGUI
issues:
- https://github.com/neimat1/TorusElectionGUI/issues
contact:
- mailto:neimat.soliman.ismail@gmail.com
apps:
torus-election-gui:
command: bin/torus-election-gui
desktop: snap/gui/torus-election-gui.desktop
plugs:
- desktop
- desktop-legacy
- wayland
- x11
environment:
XDG_DATA_HOME: "$SNAP_USER_DATA/.local/share"
parts:
torus-election-gui:
plugin: nil
source: .
build-packages:
- maven
- openjdk-17-jdk-headless
stage-packages:
- openjdk-17-jre
override-build: |
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-${CRAFT_ARCH_BUILD_FOR}"
export PATH="$JAVA_HOME/bin:$PATH"
mvn -DskipTests package
mkdir -p \
"$CRAFT_PART_INSTALL/jar" \
"$CRAFT_PART_INSTALL/bin" \
"$CRAFT_PART_INSTALL/snap/gui"
cp "target/torus-election-gui-${CRAFT_PROJECT_VERSION}.jar" \
"$CRAFT_PART_INSTALL/jar/app.jar"
cp snap/local/torus-election-gui \
"$CRAFT_PART_INSTALL/bin/"
cp snap/gui/torus-election-gui.desktop \
"$CRAFT_PART_INSTALL/snap/gui/"
chmod 755 "$CRAFT_PART_INSTALL/bin/torus-election-gui"