Skip to content
Snippets Groups Projects
Commit 73bb29a6 authored by René Schöne's avatar René Schöne
Browse files

update rest of repo, partly using original github repo

- update xtext versions
- use constants for version of most packages
- try to silence "illegal-access"-warning (without success yet)
parent 0fbcba7b
No related branches found
No related tags found
No related merge requests found
Showing
with 216 additions and 196 deletions
...@@ -15,7 +15,7 @@ subprojects { ...@@ -15,7 +15,7 @@ subprojects {
artifacts.archives packageSources artifacts.archives packageSources
repositories { repositories {
jcenter() mavenCentral()
maven { url "https://repo.eclipse.org/content/groups/acceleo" } maven { url "https://repo.eclipse.org/content/groups/acceleo" }
maven { url "https://repo.eclipse.org/content/groups/viatra2" } maven { url "https://repo.eclipse.org/content/groups/viatra2" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" } maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
...@@ -27,11 +27,14 @@ subprojects { ...@@ -27,11 +27,14 @@ subprojects {
ext { ext {
commonsExecVersion = '1.3' commonsExecVersion = '1.3'
commonsIoVersion = '2.5' commonsIoVersion = '2.5'
commonsLangVersion = '2.4'
emfVersion = '2.10.0-v20140514-1158' emfVersion = '2.10.0-v20140514-1158'
tinkerGraphVersion = '3.2.5' guavaVersion = '23.0'
ingraphVersion = '0.1.0' jacksonVersion = '2.12.4'
viatraVersion = '1.6.1'
junitVersion = '4.12' junitVersion = '4.12'
kryoVersion = '4.0.0' kryoVersion = '4.0.2'
slf4jVersion = '1.7.10' slf4jVersion = '1.7.10'
tinkerGraphVersion = '3.2.5'
viatraVersion = '1.6.1'
xtextVersion = '2.23.0'
} }
dependencies { dependencies {
compile group: 'commons-lang', name: 'commons-lang', version:'2.4' compile group: 'commons-lang', name: 'commons-lang', version: commonsLangVersion
compile group: 'com.google.guava', name: 'guava', version: '19.0' compile group: 'com.google.guava', name: 'guava', version: guavaVersion
compile group: 'com.esotericsoftware', name: 'kryo-shaded', version: kryoVersion compile group: 'com.esotericsoftware', name: 'kryo-shaded', version: kryoVersion
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="src" path="src"> <classpathentry kind="src" path="src"/>
<attributes> <classpathentry kind="src" path="build/xcore/main"/>
<attribute name="FROM_GRADLE_MODEL" value="true"/> <classpathentry kind="src" path="xtend-gen"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="build/xcore/main">
<attributes>
<attribute name="FROM_GRADLE_MODEL" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="xtend-gen">
<attributes>
<attribute name="FROM_GRADLE_MODEL" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/> <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
</projects> </projects>
<buildSpec> <buildSpec>
<buildCommand> <buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name> <name>org.eclipse.jdt.core.javabuilder</name>
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
<buildCommand> <buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name> <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
......
plugins { plugins {
id "org.xtext.builder" version "1.0.0" id "org.xtext.builder" version "2.0.8"
id 'java'
} }
apply plugin: 'org.xtext.xtend' apply plugin: 'org.xtext.xtend'
apply from: "${rootDir}/gradle/source-layout-xcore.gradle" apply from: "${rootDir}/gradle/source-layout-xcore.gradle"
ext {
xtextVersion = '2.13.0'
}
configurations.all {
resolutionStrategy.force 'org.antlr:antlr-runtime:3.2'
}
dependencies { dependencies {
compile "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}" compile "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
compile 'org.eclipse.emf:org.eclipse.emf.ecore.xcore.lib:+' compile 'org.eclipse.emf:org.eclipse.emf.ecore.xcore.lib:+'
...@@ -33,6 +26,10 @@ sourceSets { ...@@ -33,6 +26,10 @@ sourceSets {
} }
} }
configurations.all {
resolutionStrategy.force 'org.antlr:antlr-runtime:3.2'
}
xtext { xtext {
version = "${xtextVersion}" version = "${xtextVersion}"
languages { languages {
......
...@@ -85,7 +85,7 @@ public class EmfSerializer extends ModelSerializer<EmfGeneratorConfig> { ...@@ -85,7 +85,7 @@ public class EmfSerializer extends ModelSerializer<EmfGeneratorConfig> {
final RailwayElement railwayElement = (RailwayElement) RailwayFactory.eINSTANCE.create(clazz); final RailwayElement railwayElement = (RailwayElement) RailwayFactory.eINSTANCE.create(clazz);
railwayElement.setId(id); railwayElement.setId(id);
for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) { for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
setAttribute(clazz, railwayElement, attribute.getKey(), attribute.getValue()); setEmfAttribute(clazz, railwayElement, attribute.getKey(), attribute.getValue());
} }
switch (type) { switch (type) {
...@@ -128,10 +128,10 @@ public class EmfSerializer extends ModelSerializer<EmfGeneratorConfig> { ...@@ -128,10 +128,10 @@ public class EmfSerializer extends ModelSerializer<EmfGeneratorConfig> {
public void setAttribute(final String type, final Object node, final String key, final Object value) public void setAttribute(final String type, final Object node, final String key, final Object value)
throws IOException { throws IOException {
final EClass clazz = (EClass) RailwayPackage.eINSTANCE.getEClassifier(type); final EClass clazz = (EClass) RailwayPackage.eINSTANCE.getEClassifier(type);
setAttribute(clazz, (RailwayElement) node, key, value); setEmfAttribute(clazz, (RailwayElement) node, key, value);
} }
protected void setAttribute(final EClass clazz, final RailwayElement node, final String key, Object value) { protected void setEmfAttribute(final EClass clazz, final RailwayElement node, final String key, Object value) {
// change the enum value from the // change the enum value from the
// hu.bme.mit.trainbenchmark.constants.Signal enum to the // hu.bme.mit.trainbenchmark.constants.Signal enum to the
// hu.bme.mit.trainbenchmark.railway.Signal enum // hu.bme.mit.trainbenchmark.railway.Signal enum
......
...@@ -12,20 +12,19 @@ ...@@ -12,20 +12,19 @@
package hu.bme.mit.trainbenchmark.generator.graph.tinkerpop; package hu.bme.mit.trainbenchmark.generator.graph.tinkerpop;
import java.io.IOException; import hu.bme.mit.trainbenchmark.constants.ModelConstants;
import java.util.Map; import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
import java.util.Map.Entry; import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat;
import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfig;
import javax.xml.stream.XMLStreamException;
import org.apache.tinkerpop.gremlin.structure.Vertex; import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.io.Io.Builder; import org.apache.tinkerpop.gremlin.structure.io.Io.Builder;
import org.apache.tinkerpop.gremlin.structure.io.IoCore; import org.apache.tinkerpop.gremlin.structure.io.IoCore;
import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph; import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
import hu.bme.mit.trainbenchmark.generator.ModelSerializer; import javax.xml.stream.XMLStreamException;
import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat; import java.io.IOException;
import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfig; import java.util.Map;
import java.util.Map.Entry;
public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorConfig> { public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorConfig> {
...@@ -51,6 +50,7 @@ public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorC ...@@ -51,6 +50,7 @@ public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorC
// NOTE: multiple inheritance is not supported // NOTE: multiple inheritance is not supported
final Vertex vertex = graph.addVertex(type); final Vertex vertex = graph.addVertex(type);
vertex.property(ModelConstants.ID, id);
for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) { for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
final String key = attribute.getKey(); final String key = attribute.getKey();
Object value = attribute.getValue(); Object value = attribute.getValue();
......
...@@ -12,5 +12,5 @@ shadowJar { ...@@ -12,5 +12,5 @@ shadowJar {
dependencies { dependencies {
compile project(':trainbenchmark-tool') compile project(':trainbenchmark-tool')
compile project(':trainbenchmark-generator') compile project(':trainbenchmark-generator')
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
} }
...@@ -12,5 +12,5 @@ shadowJar { ...@@ -12,5 +12,5 @@ shadowJar {
dependencies { dependencies {
compile project(':trainbenchmark-tool') compile project(':trainbenchmark-tool')
compile project(':trainbenchmark-generator') compile project(':trainbenchmark-generator')
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
} }
...@@ -13,5 +13,5 @@ dependencies { ...@@ -13,5 +13,5 @@ dependencies {
compile project(':trainbenchmark-tool') compile project(':trainbenchmark-tool')
compile project(':trainbenchmark-generator') compile project(':trainbenchmark-generator')
compile project(':trainbenchmark-tool-jastadd-relast') compile project(':trainbenchmark-tool-jastadd-relast')
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
} }
...@@ -19,7 +19,7 @@ public class GeneratorRunner { ...@@ -19,7 +19,7 @@ public class GeneratorRunner {
final String projectName = String.format("trainbenchmark-generator-%s", gc.getProjectName()); final String projectName = String.format("trainbenchmark-generator-%s", gc.getProjectName());
final String jarPath = String.format("../%s/build/libs/%s-1.0.0-SNAPSHOT-fat.jar", projectName, projectName); final String jarPath = String.format("../%s/build/libs/%s-1.0.0-SNAPSHOT-fat.jar", projectName, projectName);
final String javaCommand = String.format("java -Xms%s -Xmx%s -server -jar %s %s", ec.getXms(), ec.getXmx(), final String javaCommand = String.format("java --illegal-access=permit -Xms%s -Xmx%s -server -jar %s %s", ec.getXms(), ec.getXmx(),
jarPath, configPath); jarPath, configPath);
final CommandLine cmdLine = CommandLine.parse(javaCommand); final CommandLine cmdLine = CommandLine.parse(javaCommand);
......
dependencies { dependencies {
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.2.3' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.3.0' compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: jacksonVersion
compile project(':trainbenchmark-generator') compile project(':trainbenchmark-generator')
compile project(':trainbenchmark-generator-emf') compile project(':trainbenchmark-generator-emf')
......
...@@ -8,6 +8,8 @@ import hu.bme.mit.trainbenchmark.config.ExecutionConfig; ...@@ -8,6 +8,8 @@ import hu.bme.mit.trainbenchmark.config.ExecutionConfig;
import hu.bme.mit.trainbenchmark.constants.RailwayOperation; import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
...@@ -18,6 +20,24 @@ import java.util.Optional; ...@@ -18,6 +20,24 @@ import java.util.Optional;
*/ */
public class BenchmarkMain { public class BenchmarkMain {
public static void disableAccessWarnings() {
try {
Class<?> unsafeClass = Class.forName("sun.misc.Unsafe");
Field field = unsafeClass.getDeclaredField("theUnsafe");
field.setAccessible(true);
Object unsafe = field.get(null);
Method putObjectVolatile = unsafeClass.getDeclaredMethod("putObjectVolatile", Object.class, long.class, Object.class);
Method staticFieldOffset = unsafeClass.getDeclaredMethod("staticFieldOffset", Field.class);
Class<?> loggerClass = Class.forName("jdk.internal.module.IllegalAccessLogger");
Field loggerField = loggerClass.getDeclaredField("logger");
Long offset = (Long) staticFieldOffset.invoke(unsafe, loggerField);
putObjectVolatile.invoke(unsafe, loggerClass, offset, null);
} catch (Exception ignored) {
}
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private static void runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, private static void runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder,
ExecutionConfig ec, ModelSetConfig modelSetConfig, BenchmarkSettingsBasics bbs) { ExecutionConfig ec, ModelSetConfig modelSetConfig, BenchmarkSettingsBasics bbs) {
...@@ -61,6 +81,8 @@ public class BenchmarkMain { ...@@ -61,6 +81,8 @@ public class BenchmarkMain {
} }
String benchmarkVariant = args[0]; String benchmarkVariant = args[0];
disableAccessWarnings();
// read basic settings (min, maxsize, etc.) // read basic settings (min, maxsize, etc.)
ObjectMapper mapper = Utils.getMapper(); ObjectMapper mapper = Utils.getMapper();
BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json", BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json",
......
...@@ -17,14 +17,36 @@ import java.io.File; ...@@ -17,14 +17,36 @@ import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.PrintStream; import java.io.PrintStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public abstract class JastaddAbstractBenchmarkScenario<TBenchmarkConfigWrapper extends JastaddAbstractBenchmarkConfig> extends public abstract class JastaddAbstractBenchmarkScenario<TBenchmarkConfigWrapper extends JastaddAbstractBenchmarkConfig> extends
BenchmarkScenario<JastaddMatch, JastaddDriver, TBenchmarkConfigWrapper> { BenchmarkScenario<JastaddMatch, JastaddDriver, TBenchmarkConfigWrapper> {
protected final CacheCounterReceiver receiver = new CacheCounterReceiver(); protected final CacheCounterReceiver receiver = new CacheCounterReceiver();
@SuppressWarnings("unchecked")
public static void disableAccessWarnings() {
try {
Class unsafeClass = Class.forName("sun.misc.Unsafe");
Field field = unsafeClass.getDeclaredField("theUnsafe");
field.setAccessible(true);
Object unsafe = field.get(null);
Method putObjectVolatile = unsafeClass.getDeclaredMethod("putObjectVolatile", Object.class, long.class, Object.class);
Method staticFieldOffset = unsafeClass.getDeclaredMethod("staticFieldOffset", Field.class);
Class loggerClass = Class.forName("jdk.internal.module.IllegalAccessLogger");
Field loggerField = loggerClass.getDeclaredField("logger");
Long offset = (Long) staticFieldOffset.invoke(unsafe, loggerField);
putObjectVolatile.invoke(unsafe, loggerClass, offset, null);
} catch (Exception ignored) {
}
}
public JastaddAbstractBenchmarkScenario(final TBenchmarkConfigWrapper bc, boolean flushCaches) throws Exception { public JastaddAbstractBenchmarkScenario(final TBenchmarkConfigWrapper bc, boolean flushCaches) throws Exception {
super(new JastaddDriverFactory(flushCaches), new JastaddModelOperationFactory(), new JastaddMatchComparator(), bc); super(new JastaddDriverFactory(flushCaches), new JastaddModelOperationFactory(), new JastaddMatchComparator(), bc);
disableAccessWarnings();
((JastaddDriverFactory)driverFactory).setReceiver(receiver); ((JastaddDriverFactory)driverFactory).setReceiver(receiver);
} }
......
...@@ -78,7 +78,7 @@ clean { ...@@ -78,7 +78,7 @@ clean {
dependencies { dependencies {
compile project(':trainbenchmark-tool') compile project(':trainbenchmark-tool')
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
} }
test { test {
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="src" path="src"> <classpathentry kind="src" path="src"/>
<attributes> <classpathentry kind="src" path="src-gen"/>
<attribute name="FROM_GRADLE_MODEL" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src-gen">
<attributes>
<attribute name="FROM_GRADLE_MODEL" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/> <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>
...@@ -6,22 +6,22 @@ ...@@ -6,22 +6,22 @@
</projects> </projects>
<buildSpec> <buildSpec>
<buildCommand> <buildCommand>
<name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name> <name>org.eclipse.jdt.core.javabuilder</name>
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
<buildCommand> <buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name> <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
<buildCommand> <buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name> <name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
<buildCommand> <buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name> <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments> <arguments>
</arguments> </arguments>
</buildCommand> </buildCommand>
......
...@@ -16,8 +16,6 @@ package hu.bme.mit.trainbenchmark.benchmark.driver; ...@@ -16,8 +16,6 @@ package hu.bme.mit.trainbenchmark.benchmark.driver;
* *
* @author szarnyasg * @author szarnyasg
* *
* @param <TElement>
* the type of the individual model elements
*/ */
public abstract class Driver { public abstract class Driver {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment