Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distributed MekHQ prototype #1551

Draft
wants to merge 20 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
4b90330
Add protobuf to the mix
sixlettervariables Mar 8, 2020
2faeaa8
Add the initial service definition
sixlettervariables Mar 8, 2020
61f2f1d
Add initial gRPC work towards distributed MekHQ
sixlettervariables Mar 8, 2020
45abc47
Add GM Mode Changed and Location Changed handling
sixlettervariables Mar 9, 2020
728590a
Add missing copyright headers and documentation
sixlettervariables Mar 9, 2020
1c65538
Simplify the protocol w.r.t. sending campaign details
sixlettervariables Mar 9, 2020
e1aae03
Allow changing the hosting port and host address
sixlettervariables Mar 9, 2020
107ebf0
Disconnect existing sessions when loading a campaign
sixlettervariables Mar 9, 2020
f783493
Identify actively playing campaigns
sixlettervariables Mar 11, 2020
cc99a05
Add the initial Online Session tab
sixlettervariables Mar 11, 2020
9483b05
Add status bar and title info if using online play
sixlettervariables Mar 11, 2020
4a39b3a
Correctly track active campaigns from a client
sixlettervariables Mar 11, 2020
325c489
Make the online tab look okay on clients
sixlettervariables Mar 12, 2020
ca469f8
Try to improve the atomicity of activity tracking
sixlettervariables Mar 12, 2020
e10f23d
Improve handling of missing vs inactive campaigns
sixlettervariables Mar 12, 2020
e513810
Remove unused computeInactiveCampaigns method
sixlettervariables Mar 13, 2020
3a60808
Add daily log related messages
sixlettervariables Mar 13, 2020
c501d3e
Add transmission of TOEs between campaigns
sixlettervariables Mar 13, 2020
701e181
Add initial work to define playing a scenario together
sixlettervariables Mar 20, 2020
b14b6a9
Add force deployment and scenario objectives
sixlettervariables Mar 20, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions MekHQ/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,19 @@
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/main" path="build/generated/source/proto/main/java">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/main" path="build/generated/source/proto/main/grpc">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
Expand Down
28 changes: 27 additions & 1 deletion MekHQ/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,17 @@ plugins {
id 'application'
id 'maven-publish'
id 'edu.sc.seis.launch4j' version '2.4.4'
id 'com.google.protobuf' version '0.8.8'
}

sourceSets {
main {
java {
srcDirs = ['src']
srcDirs = [
'src',
'build/generated/source/proto/main/grpc',
'build/generated/source/proto/main/java'
]
}
resources {
srcDirs = ['resources']
Expand Down Expand Up @@ -61,12 +66,33 @@ dependencies {
runtimeOnly 'org.glassfish.jaxb:jaxb-core:2.3.0'
runtimeOnly 'com.sun.activation:javax.activation:1.2.0'

// gRPC for Distributed MekHQ
implementation 'io.grpc:grpc-netty-shaded:1.27.1'
implementation 'io.grpc:grpc-protobuf:1.27.1'
implementation 'io.grpc:grpc-stub:1.27.1'

jarbundler 'com.ultramixer.jarbundler:jarbundler-core:3.3.0'

testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.20.1'
}

protobuf {
protoc {
artifact = "com.google.protobuf:protoc:3.11.0"
}
plugins {
grpc {
artifact = 'io.grpc:protoc-gen-grpc-java:1.27.1'
}
}
generateProtoTasks {
all()*.plugins {
grpc {}
}
}
}

mainClassName = 'mekhq.MekHQ'

ext {
Expand Down
3 changes: 3 additions & 0 deletions MekHQ/resources/mekhq/resources/CampaignGUI.properties
Original file line number Diff line number Diff line change
Expand Up @@ -274,3 +274,6 @@ tabOverview.toolTipText=A general overview of the unit, includes multiple breakd

bottomRating.DragoonsRating=<html><b>Dragoons Rating:</b> %s </html>
bottomRating.CampaignOpsRating=<html><b>Campaign Ops Rating:</b> %s </html>

# Online Tab
panOnline.TabConstraints.tabTitle=Online Session
Loading