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 tags found
No related merge requests found
Showing
with 216 additions and 196 deletions
......@@ -15,7 +15,7 @@ subprojects {
artifacts.archives packageSources
repositories {
jcenter()
mavenCentral()
maven { url "https://repo.eclipse.org/content/groups/acceleo" }
maven { url "https://repo.eclipse.org/content/groups/viatra2" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
......@@ -27,11 +27,14 @@ subprojects {
ext {
commonsExecVersion = '1.3'
commonsIoVersion = '2.5'
commonsLangVersion = '2.4'
emfVersion = '2.10.0-v20140514-1158'
tinkerGraphVersion = '3.2.5'
ingraphVersion = '0.1.0'
viatraVersion = '1.6.1'
guavaVersion = '23.0'
jacksonVersion = '2.12.4'
junitVersion = '4.12'
kryoVersion = '4.0.0'
kryoVersion = '4.0.2'
slf4jVersion = '1.7.10'
tinkerGraphVersion = '3.2.5'
viatraVersion = '1.6.1'
xtextVersion = '2.23.0'
}
dependencies {
compile group: 'commons-lang', name: 'commons-lang', version:'2.4'
compile group: 'com.google.guava', name: 'guava', version: '19.0'
compile group: 'commons-lang', name: 'commons-lang', version: commonsLangVersion
compile group: 'com.google.guava', name: 'guava', version: guavaVersion
compile group: 'com.esotericsoftware', name: 'kryo-shaded', version: kryoVersion
}
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src">
<attributes>
<attribute name="FROM_GRADLE_MODEL" value="true"/>
</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="src" path="src"/>
<classpathentry kind="src" path="build/xcore/main"/>
<classpathentry kind="src" path="xtend-gen"/>
<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.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
......@@ -6,12 +6,12 @@
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
......
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 from: "${rootDir}/gradle/source-layout-xcore.gradle"
ext {
xtextVersion = '2.13.0'
}
configurations.all {
resolutionStrategy.force 'org.antlr:antlr-runtime:3.2'
}
dependencies {
compile "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
compile 'org.eclipse.emf:org.eclipse.emf.ecore.xcore.lib:+'
......@@ -33,6 +26,10 @@ sourceSets {
}
}
configurations.all {
resolutionStrategy.force 'org.antlr:antlr-runtime:3.2'
}
xtext {
version = "${xtextVersion}"
languages {
......
......@@ -85,7 +85,7 @@ public class EmfSerializer extends ModelSerializer<EmfGeneratorConfig> {
final RailwayElement railwayElement = (RailwayElement) RailwayFactory.eINSTANCE.create(clazz);
railwayElement.setId(id);
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) {
......@@ -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)
throws IOException {
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
// hu.bme.mit.trainbenchmark.constants.Signal enum to the
// hu.bme.mit.trainbenchmark.railway.Signal enum
......
......@@ -12,20 +12,19 @@
package hu.bme.mit.trainbenchmark.generator.graph.tinkerpop;
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
import javax.xml.stream.XMLStreamException;
import hu.bme.mit.trainbenchmark.constants.ModelConstants;
import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat;
import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfig;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.io.Io.Builder;
import org.apache.tinkerpop.gremlin.structure.io.IoCore;
import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph;
import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
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 java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorConfig> {
......@@ -51,6 +50,7 @@ public class TinkerGraphSerializer extends ModelSerializer<TinkerGraphGeneratorC
// NOTE: multiple inheritance is not supported
final Vertex vertex = graph.addVertex(type);
vertex.property(ModelConstants.ID, id);
for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
final String key = attribute.getKey();
Object value = attribute.getValue();
......
......@@ -12,5 +12,5 @@ shadowJar {
dependencies {
compile project(':trainbenchmark-tool')
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 {
dependencies {
compile project(':trainbenchmark-tool')
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 {
compile project(':trainbenchmark-tool')
compile project(':trainbenchmark-generator')
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 {
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 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);
final CommandLine cmdLine = CommandLine.parse(javaCommand);
......
dependencies {
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.2.3'
compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.3.0'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: jacksonVersion
compile project(':trainbenchmark-generator')
compile project(':trainbenchmark-generator-emf')
......
......@@ -8,6 +8,8 @@ import hu.bme.mit.trainbenchmark.config.ExecutionConfig;
import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;
import java.util.Optional;
......@@ -18,6 +20,24 @@ import java.util.Optional;
*/
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")
private static void runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder,
ExecutionConfig ec, ModelSetConfig modelSetConfig, BenchmarkSettingsBasics bbs) {
......@@ -61,6 +81,8 @@ public class BenchmarkMain {
}
String benchmarkVariant = args[0];
disableAccessWarnings();
// read basic settings (min, maxsize, etc.)
ObjectMapper mapper = Utils.getMapper();
BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json",
......
......@@ -17,14 +17,36 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public abstract class JastaddAbstractBenchmarkScenario<TBenchmarkConfigWrapper extends JastaddAbstractBenchmarkConfig> extends
BenchmarkScenario<JastaddMatch, JastaddDriver, TBenchmarkConfigWrapper> {
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 {
super(new JastaddDriverFactory(flushCaches), new JastaddModelOperationFactory(), new JastaddMatchComparator(), bc);
disableAccessWarnings();
((JastaddDriverFactory)driverFactory).setReceiver(receiver);
}
......
......@@ -78,7 +78,7 @@ clean {
dependencies {
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 {
......
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src">
<attributes>
<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="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<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.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
......@@ -6,22 +6,22 @@
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
......
......@@ -16,8 +16,6 @@ package hu.bme.mit.trainbenchmark.benchmark.driver;
*
* @author szarnyasg
*
* @param <TElement>
* the type of the individual model elements
*/
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