Skip to content
Snippets Groups Projects
Verified Commit 1305bd57 authored by Rico Bergmann's avatar Rico Bergmann
Browse files

Migrate to Maven as we are plain Java now

parent 2ad1ccc5
Branches
No related tags found
No related merge requests found
import com.simplytyped.Antlr4Plugin.autoImport.antlr4PackageName
import sbt.Keys.{libraryDependencies, scalacOptions, version}
val emfcommonVersion = "2.12.0"
val emfecoreVersion = "2.12.0"
val scoptVersion = "3.7.0"
val liftVersion = "3.3.0"
val gsonVersion = "2.8.5"
val scrollVersion = "1.8"
javacOptions ++= Seq("-encoding", "UTF-8")
lazy val mjparser = (project in file("."))
.settings(
name := "ModelJoinParser",
version := "0.1",
scalaVersion := "2.12.6",
libraryDependencies ++= Seq(
"com.github.max-leuthaeuser" %% "scroll" % scrollVersion,
"org.scala-lang" % "scala-reflect" % scalaVersion.value,
"org.scala-lang" % "scala-compiler" % scalaVersion.value,
"org.eclipse.emf" % "org.eclipse.emf.common" % emfcommonVersion,
"org.eclipse.emf" % "org.eclipse.emf.ecore" % emfecoreVersion,
"com.github.scopt" %% "scopt" % scoptVersion,
"net.liftweb" %% "lift-json" % liftVersion,
"com.google.code.gson" % "gson" % gsonVersion,
"org.junit.platform" % "junit-platform-runner" % "1.0.0" % "test",
"org.junit.jupiter" % "junit-jupiter-engine" % "5.0.0" % "test",
"org.junit.vintage" % "junit-vintage-engine" % "4.12.0" % "test",
"org.assertj" % "assertj-core" % "3.12.2" % "test",
"net.aichler" % "jupiter-interface" % JupiterKeys.jupiterVersion.value % Test
),
scalacOptions ++= Seq(
"-language:implicitConversions"
),
).enablePlugins(Antlr4Plugin)
antlr4PackageName in Antlr4 := Some("org.rosi_project.model_sync.model_join.representation.parser.antlr.generated")
antlr4GenVisitor in Antlr4 := true
antlr4GenListener in Antlr4 := false
pom.xml 0 → 100644
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.rosi_project.model_sync</groupId>
<artifactId>model_join</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- Runtime dependencies -->
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
<version>4.7.2</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.0-jre</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.5.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.12.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.antlr</groupId>
<artifactId>antlr4-maven-plugin</artifactId>
<version>4.3</version>
<executions>
<execution>
<id>antlr</id>
<goals>
<goal>antlr4</goal>
</goals>
<configuration>
<arguments>
<argument>-package</argument>
<argument>org.rosi_project.model_sync.model_join.representation.parser.antlr.generated</argument>
</arguments>
<listener>false</listener>
<visitor>true</visitor>
<outputDirectory>${project.build.directory}/generated-sources/antlr4/org/rosi_project/model_sync/model_join/representation/parser/antlr/generated</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
sbt.version = 1.2.7
resolvers += Resolver.jcenterRepo
addSbtPlugin("net.aichler" % "sbt-jupiter-interface" % "0.8.2")
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.4")
addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "1.0.0")
addSbtPlugin("com.simplytyped" % "sbt-antlr4" % "0.8.2")
package org.rosi_project.model_sync.model_join.representation.writer;
import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.logging.Logger;
import org.junit.jupiter.api.Test;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.runner.RunWith;
import org.rosi_project.model_sync.model_join.representation.writer.TestedModels.Listing2;
class StringBasedModelJoinWriterAcceptanceTests {
private static final Logger log = Logger.getLogger(StringBasedModelJoinWriterAcceptanceTests.class.getSimpleName());
private static final Logger log =
Logger.getLogger(StringBasedModelJoinWriterAcceptanceTests.class.getSimpleName());
/**
* @see TestedModels
*/
@Test
void writeProducesListing2FromTechnicalReport() {
StringBasedModelJoinWriter writer = StringBasedModelJoinWriter.withNewlines();
String writerOutput = writer.write(Listing2.asModelJoin);
/**
* @see TestedModels
*/
@Test
void writeProducesListing2FromTechnicalReport() {
StringBasedModelJoinWriter writer = StringBasedModelJoinWriter.withNewlines();
String writerOutput = writer.write(Listing2.asModelJoin);
log.info("Writer output:");
log.info(writerOutput);
log.info("Writer output:");
log.info(writerOutput);
String sanitizedWriterOutput = sanitize(writerOutput);
String sanitizedWriterOutput = sanitize(writerOutput);
String expectedOutput = sanitize(Listing2.asString);
String expectedOutput = sanitize(Listing2.asString);
// Although AssertJ provides an isEqualToIgnoringWhitespace as well as an
// isEqualToIgnoringNewline method, there's none that ignores both. Thus we reside to manual
// sanitization
assertThat(sanitizedWriterOutput).isEqualTo(expectedOutput);
}
// Although AssertJ provides an isEqualToIgnoringWhitespace as well as an
// isEqualToIgnoringNewline method, there's none that ignores both. Thus we reside to manual
// sanitization
assertThat(sanitizedWriterOutput).isEqualTo(expectedOutput);
}
private String sanitize(String rawModelJoin) {
return rawModelJoin.replaceAll("\\s", "");
}
private String sanitize(String rawModelJoin) {
return rawModelJoin.replaceAll("\\s", "");
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment