Added a useless modules
diff --git a/Janeway/build.gradle b/Janeway/build.gradle
index 23bbaa7..810acaf 100644
--- a/Janeway/build.gradle
+++ b/Janeway/build.gradle
@@ -1,7 +1,7 @@
import org.apache.tools.ant.taskdefs.condition.Os
//Settings for Janeway related to modules and creating the distribution
-def modulesList = ['DefectTracker', 'RequirementManager', 'PostBoard']
+def modulesList = ['DefectTracker', 'RequirementManager', 'PostBoard', 'MyModule']
def modulesDir = 'modules'
def modulesConf = 'modules.conf'
def libsDir = 'libs'
@@ -22,12 +22,12 @@
compile 'org.jfree:jfreechart:1.0.14'
compile 'org.jfree:jcommon:1.0.17'
compile 'com.miglayout:miglayout-swing:4.1' //Used to be 4.0, will this cause issues?
-
+
//Core projects
compile project(':JanewayAPI')
compile project(':WPISuite-Interfaces')
compile project(':Network')
-
+
//We depend on each modules
modulesList.each {
runtime project(":${it}")
@@ -51,7 +51,7 @@
manifest{
attributes('Class-Path': configurations.runtime.files.collect {
//Don't include the modules in the manifest, we're including them in the modules folder
- if(!modulesList.contains(it.name.minus(".jar")))
+ if(!modulesList.contains(it.name.minus(".jar")))
{"${libsDir}/${it.name}"}}.join(' ') )
attributes('Main-Class': "${mainClassName}")
}
@@ -67,10 +67,10 @@
task modules(type: Copy) {
description = "Copy over each module .jar file for Janeway into the modules folder"
group = "Application"
-
+
modulesList.each{
dependsOn ":${it}:jar"
-
+
from(project(":${it}").libsDir) {
include '*.jar'
}
@@ -81,14 +81,14 @@
task distribution(type: Zip){
description = "Create a .zip distribution for Janeway"
group = "Application"
-
+
archiveName = "${project.name}.zip"
-
+
//Main jar
from(jar){
into "${project.name}"
}
-
+
//Libraries
from(configurations.runtime){
into "${project.name}/${libsDir}"
@@ -97,16 +97,15 @@
excludes.add("${it}.jar")
}
}
-
+
//Modules
from(modules) {
into "${project.name}/${modulesDir}"
-
+
}
-
+
//Module configuration file
from(modulesConf){
into "${project.name}"
}
}
-
diff --git a/MyModule/build.gradle b/MyModule/build.gradle
new file mode 100644
index 0000000..d12066c
--- /dev/null
+++ b/MyModule/build.gradle
@@ -0,0 +1,6 @@
+dependencies{
+ compile project(':Network')
+ compile project(':WPISuite-Interfaces')
+ compile project(':JanewayAPI')
+}
+
diff --git a/MyModule/src/main/java/edu/wpi/cs/wpisuitetng/modules/thefloorisjava/modules/MyModule.java b/MyModule/src/main/java/edu/wpi/cs/wpisuitetng/modules/thefloorisjava/modules/MyModule.java
new file mode 100644
index 0000000..e0d56f8
--- /dev/null
+++ b/MyModule/src/main/java/edu/wpi/cs/wpisuitetng/modules/thefloorisjava/modules/MyModule.java
@@ -0,0 +1,71 @@
+package edu.wpi.cs.wpisuitetng.modules.thefloorisjava.modules;
+
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.*;
+
+import edu.wpi.cs.wpisuitetng.janeway.modules.*;
+import edu.wpi.cs.wpisuitetng.network.Network;
+import edu.wpi.cs.wpisuitetng.network.models.HttpMethod;
+
+public class MyModule implements IJanewayModule {
+
+ private ArrayList<JanewayTabModel> tabs;
+ private int counter;
+ private JLabel resultLabel;
+
+ private static String RESULT_LABEL_PREFIX = "Result = ";
+
+ public MyModule() {
+ counter = 0;
+ resultLabel = new JLabel(RESULT_LABEL_PREFIX + counter);
+
+ JPanel mainPanel = new JPanel();
+ mainPanel.add(resultLabel);
+
+ JPanel buttonPanel = new JPanel();
+ buttonPanel.setLayout(new FlowLayout());
+
+ /* Add a button to increment the counter */
+ JButton increment = new JButton("+");
+ increment.addActionListener((ActionEvent e) -> {
+ counter++;
+ resultLabel.setText(RESULT_LABEL_PREFIX + counter);
+ });
+ buttonPanel.add(increment);
+
+ /* Add a button to decrement the counter */
+ JButton decrement = new JButton("-");
+ decrement.addActionListener((ActionEvent e) -> {
+ counter--;
+ resultLabel.setText(RESULT_LABEL_PREFIX + counter);
+ });
+ buttonPanel.add(decrement);
+
+ tabs = new ArrayList<JanewayTabModel>();
+ JanewayTabModel calculatorTab = new JanewayTabModel("Counter", new ImageIcon(), buttonPanel, mainPanel);
+ tabs.add(calculatorTab);
+
+ Network net = Network.getInstance();
+ net.makeRequest("?", HttpMethod.GET);
+ }
+
+ /**
+ * @see edu.wpi.cs.wpisuitetng.janeway.modules.IJanewayModule#getName()
+ */
+ @Override
+ public String getName() {
+ return "My Module";
+ }
+
+ /**
+ * @see edu.wpi.cs.wpisuitetng.janeway.modules.IJanewayModule#getTabs()
+ */
+ @Override
+ public List<JanewayTabModel> getTabs() {
+ return tabs;
+ }
+}
diff --git a/MyModule/src/main/resources/manifest.txt b/MyModule/src/main/resources/manifest.txt
new file mode 100644
index 0000000..e3455ba
--- /dev/null
+++ b/MyModule/src/main/resources/manifest.txt
@@ -0,0 +1 @@
+module_class edu.wpi.cs.wpisuitetng.modules.thefloorisjava.modules.MyModule
diff --git a/settings.gradle b/settings.gradle
index 09e2bdd..f7e37f7 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -6,4 +6,4 @@
project(":WPISuite-Interfaces").projectDir = new File(settingsDir, 'Core/WPISuite-Interfaces')
//Modules
-include "DefectTracker", "RequirementManager", "PostBoard"
+include "DefectTracker", "RequirementManager", "PostBoard", "MyModule"