Skip to content
This repository has been archived by the owner on Oct 27, 2019. It is now read-only.

Commit

Permalink
Merge branch 'master' of github.com:Sinalgo/sinalgo
Browse files Browse the repository at this point in the history
# Conflicts:
#	build.gradle
#	src/main/java/sinalgo/gui/dialogs/HelpDialog.java
  • Loading branch information
andrebrait committed Jun 12, 2019
2 parents e9c2c9e + a84cd9e commit 64c9c2d
Show file tree
Hide file tree
Showing 7 changed files with 55 additions and 214 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.0.0-beta5
1.0.0-beta6
48 changes: 16 additions & 32 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,13 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

import io.franzbecker.gradle.lombok.task.DelombokTask

plugins {
id 'com.github.johnrengelman.shadow' version '2.0.4'
id 'io.franzbecker.gradle-lombok' version '1.14'
id 'com.github.johnrengelman.shadow' version '4.0.2'
id 'io.freefair.lombok' version '3.6.6'
}

lombok {
version = "1.18.0"
sha256 = ""
version = "1.18.8"
}

version = rootProject.file('VERSION').text.trim()
Expand All @@ -56,7 +53,13 @@ apply plugin: 'distribution'
apply plugin: 'idea'
apply plugin: 'eclipse'

sourceCompatibility = 1.8
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

compileJava {
options.compilerArgs = ['--release', '8']
}

distTar.enabled = false
distZip.enabled = false
startScripts.enabled = false
Expand All @@ -66,9 +69,8 @@ shadowDistTar.enabled = false
mainClassName = "sinalgo.Run"

javadoc {
source = sourceSets.main.allJava
classpath = configurations.compile
title = "Sinalgo API Documentation Version: ${version}"
failOnError = false
}

repositories {
Expand All @@ -78,15 +80,11 @@ repositories {
dependencies {
compile group: 'org.jdom', name: 'jdom2', version: '2.0.6'
compile group: 'com.apple', name: 'AppleJavaExtensions', version: '1.4'
compile group: 'io.github.lukehutch', name: 'fast-classpath-scanner', version: '2.21'
compile group: 'io.github.classgraph', name: 'classgraph', version: '4.8.39'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
//testCompile group: 'junit', name: 'junit', version: '4.12' // TODO enable tests
}

task wrapper(type: Wrapper) {
gradleVersion = '4.7'
}

processResources {
with copySpec {
from 'VERSION'
Expand All @@ -109,26 +107,12 @@ processResources {
run {
if (project.hasProperty("appArgs")) {
appArgs = project.getProperties().get("appArgs")
if(appArgs instanceof String) {
if (appArgs instanceof String) {
args = Eval.me(appArgs)
}
}
}

// Delombok Task
task delombok(type: DelombokTask, dependsOn: compileJava) {
ext.outputDir = file("$buildDir/delombok")
outputs.dir(ext.outputDir)
sourceSets.main.java.srcDirs.each {
inputs.dir(it)
args(it, "-d", ext.outputDir)
}
}

// Javadoc Task
javadoc {
includes = ['**/*.java']
dependsOn delombok
source = delombok.outputDir
failOnError = false
}
delombok {
generateLombokConfig.enabled = false
}
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#Wed Jun 12 21:11:21 CEST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
32 changes: 28 additions & 4 deletions src/main/java/sinalgo/gui/GUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
import sinalgo.gui.dialogs.GlobalSettingsDialog;
import sinalgo.gui.dialogs.GraphInfoDialog;
import sinalgo.gui.dialogs.GraphPreferencesDialog;
import sinalgo.gui.dialogs.HelpDialog;
import sinalgo.gui.transformation.PositionTransformation;
import sinalgo.io.eps.Exporter;
import sinalgo.nodes.Position;
Expand All @@ -63,20 +62,38 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
import sinalgo.runtime.events.Event;
import sinalgo.tools.storage.SortableVector;

import javax.swing.*;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.MenuElement;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
import java.awt.*;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.KeyboardFocusManager;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Vector;

Expand Down Expand Up @@ -861,7 +878,14 @@ public void actionPerformed(ActionEvent e) {
} else if (e.getActionCommand().equals(this.getAboutMenuItem().getActionCommand())) {
new AboutDialog(this);
} else if (e.getActionCommand().equals(this.getHelpMenuItem().getActionCommand())) {
HelpDialog.showHelp(this); // start in a new thread
if(0 == JOptionPane.showConfirmDialog(this, "This will open Sinalgo's help page on the default browser. Do you want to continue?",
"Help", JOptionPane.YES_NO_OPTION)) {
try {
Desktop.getDesktop().browse(new URI(Configuration.SINALGO_WEB_PAGE));
} catch (IOException | URISyntaxException ignore) {
// Do nothing if this is somehow wrong
}
}
} else if (e.getActionCommand().equals(this.getExitMenuItem().getActionCommand())) {
Main.exitApplication();
} else if (e.getActionCommand().equals(this.getViewFullScreenMenuItem().getActionCommand())) {
Expand Down
171 changes: 0 additions & 171 deletions src/main/java/sinalgo/gui/dialogs/HelpDialog.java

This file was deleted.

2 changes: 0 additions & 2 deletions src/main/java/sinalgo/runtime/GUIRuntime.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
*/
package sinalgo.runtime;

import javafx.application.Platform;
import lombok.Getter;
import sinalgo.configuration.AppConfig;
import sinalgo.configuration.Configuration;
Expand All @@ -56,7 +55,6 @@ public class GUIRuntime extends SinalgoRuntime implements ProgressBarUser {
*/
GUIRuntime() {
super();
Platform.setImplicitExit(false);
}

/**
Expand Down
11 changes: 8 additions & 3 deletions src/main/java/sinalgo/runtime/Global.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
*/
package sinalgo.runtime;

import io.github.lukehutch.fastclasspathscanner.FastClasspathScanner;
import io.github.classgraph.ClassGraph;
import io.github.classgraph.ClassInfo;
import lombok.Getter;
import lombok.Setter;
import sinalgo.configuration.Configuration;
Expand Down Expand Up @@ -213,9 +214,13 @@ public synchronized static void init() {
try {
Pattern projectPattern = Pattern.compile("^(" + Configuration.getUserProjectsPackage() + "\\.\\w+).*$");

Map<String, List<String>> allImplementations = new FastClasspathScanner("-sinalgo", Configuration.getUserProjectsPackage())
Map<String, List<String>> allImplementations = new ClassGraph()
.blacklistPackages("sinalgo")
.whitelistPackages(Configuration.getUserProjectsPackage())
.scan(Math.min(Math.max(Runtime.getRuntime().availableProcessors(), 4), 1))
.getNamesOfAllStandardClasses().parallelStream()
.getAllClasses()
.parallelStream()
.map(ClassInfo::getName)
.map(projectPattern::matcher)
.filter(Matcher::matches)
.collect(Collectors.groupingBy(m -> m.group(1), Collectors.mapping(Matcher::group, Collectors.toList())));
Expand Down

0 comments on commit 64c9c2d

Please sign in to comment.