diff --git a/cli/pom.xml b/cli/pom.xml
new file mode 100644
index 0000000..ca910a6
--- /dev/null
+++ b/cli/pom.xml
@@ -0,0 +1,46 @@
+
+
+
+ jef
+ jef
+ 0.1
+
+ 4.0.0
+
+ cli
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.2.0
+
+
+
+ true
+ jef.main.Main
+
+
+
+
+
+
+
+
+
+ jef
+ core
+ 0.1
+ runtime
+
+
+
\ No newline at end of file
diff --git a/src/main/java/jef/main/Main.java b/cli/src/main/java/jef/main/Main.java
similarity index 100%
rename from src/main/java/jef/main/Main.java
rename to cli/src/main/java/jef/main/Main.java
diff --git a/src/main/java/jef/main/MigrationCommandHandler.java b/cli/src/main/java/jef/main/MigrationCommandHandler.java
similarity index 100%
rename from src/main/java/jef/main/MigrationCommandHandler.java
rename to cli/src/main/java/jef/main/MigrationCommandHandler.java
diff --git a/cli/src/main/java/jef/util/Util.java b/cli/src/main/java/jef/util/Util.java
new file mode 100644
index 0000000..7a2255c
--- /dev/null
+++ b/cli/src/main/java/jef/util/Util.java
@@ -0,0 +1,23 @@
+package jef.util;
+
+import java.util.Optional;
+
+public abstract class Util {
+ public static Optional tryGet(ThrowableSupplier s) {
+ try {
+ return Optional.ofNullable(s.get());
+ } catch (Throwable t) {
+ return Optional.empty();
+ }
+ }
+
+ @FunctionalInterface
+ public interface ThrowableSupplier {
+ T get() throws Throwable;
+ }
+
+ @FunctionalInterface
+ public interface ThrowableFunction {
+ R apply(T t) throws Throwable;
+ }
+}
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 0000000..1eed43f
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,20 @@
+
+
+
+ jef
+ jef
+ 0.1
+
+ 4.0.0
+
+ core
+
+
+ 17
+ 17
+ UTF-8
+
+
+
\ No newline at end of file
diff --git a/src/main/java/jef/Database.java b/core/src/main/java/jef/Database.java
similarity index 91%
rename from src/main/java/jef/Database.java
rename to core/src/main/java/jef/Database.java
index b2945a2..8bebe6a 100644
--- a/src/main/java/jef/Database.java
+++ b/core/src/main/java/jef/Database.java
@@ -4,8 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
@Getter
@AllArgsConstructor
diff --git a/src/main/java/jef/DatabaseOptions.java b/core/src/main/java/jef/DatabaseOptions.java
similarity index 100%
rename from src/main/java/jef/DatabaseOptions.java
rename to core/src/main/java/jef/DatabaseOptions.java
diff --git a/src/main/java/jef/DbSet.java b/core/src/main/java/jef/DbSet.java
similarity index 100%
rename from src/main/java/jef/DbSet.java
rename to core/src/main/java/jef/DbSet.java
diff --git a/src/main/java/jef/MigrationException.java b/core/src/main/java/jef/MigrationException.java
similarity index 100%
rename from src/main/java/jef/MigrationException.java
rename to core/src/main/java/jef/MigrationException.java
diff --git a/src/main/java/jef/Queryable.java b/core/src/main/java/jef/Queryable.java
similarity index 100%
rename from src/main/java/jef/Queryable.java
rename to core/src/main/java/jef/Queryable.java
diff --git a/src/main/java/jef/QueryableProxy.java b/core/src/main/java/jef/QueryableProxy.java
similarity index 100%
rename from src/main/java/jef/QueryableProxy.java
rename to core/src/main/java/jef/QueryableProxy.java
diff --git a/src/main/java/jef/asm/AsmParseException.java b/core/src/main/java/jef/asm/AsmParseException.java
similarity index 100%
rename from src/main/java/jef/asm/AsmParseException.java
rename to core/src/main/java/jef/asm/AsmParseException.java
diff --git a/src/main/java/jef/asm/AsmParseResult.java b/core/src/main/java/jef/asm/AsmParseResult.java
similarity index 93%
rename from src/main/java/jef/asm/AsmParseResult.java
rename to core/src/main/java/jef/asm/AsmParseResult.java
index b430100..778ea66 100644
--- a/src/main/java/jef/asm/AsmParseResult.java
+++ b/core/src/main/java/jef/asm/AsmParseResult.java
@@ -5,7 +5,6 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import java.lang.reflect.Field;
-import java.util.List;
import java.util.Set;
@AllArgsConstructor
diff --git a/src/main/java/jef/asm/AsmParser.java b/core/src/main/java/jef/asm/AsmParser.java
similarity index 100%
rename from src/main/java/jef/asm/AsmParser.java
rename to core/src/main/java/jef/asm/AsmParser.java
diff --git a/src/main/java/jef/asm/FilterClassVisitor.java b/core/src/main/java/jef/asm/FilterClassVisitor.java
similarity index 100%
rename from src/main/java/jef/asm/FilterClassVisitor.java
rename to core/src/main/java/jef/asm/FilterClassVisitor.java
diff --git a/src/main/java/jef/asm/FilterMethodVisitor.java b/core/src/main/java/jef/asm/FilterMethodVisitor.java
similarity index 100%
rename from src/main/java/jef/asm/FilterMethodVisitor.java
rename to core/src/main/java/jef/asm/FilterMethodVisitor.java
diff --git a/src/main/java/jef/asm/OptimizedAsmParser.java b/core/src/main/java/jef/asm/OptimizedAsmParser.java
similarity index 100%
rename from src/main/java/jef/asm/OptimizedAsmParser.java
rename to core/src/main/java/jef/asm/OptimizedAsmParser.java
diff --git a/src/main/java/jef/expressions/AndExpression.java b/core/src/main/java/jef/expressions/AndExpression.java
similarity index 97%
rename from src/main/java/jef/expressions/AndExpression.java
rename to core/src/main/java/jef/expressions/AndExpression.java
index ecafc74..33bff87 100644
--- a/src/main/java/jef/expressions/AndExpression.java
+++ b/core/src/main/java/jef/expressions/AndExpression.java
@@ -5,7 +5,6 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import java.util.List;
-import java.util.Objects;
import java.util.stream.Collectors;
@Getter
diff --git a/src/main/java/jef/expressions/BinaryExpression.java b/core/src/main/java/jef/expressions/BinaryExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/BinaryExpression.java
rename to core/src/main/java/jef/expressions/BinaryExpression.java
diff --git a/core/src/main/java/jef/expressions/ConstantExpression.java b/core/src/main/java/jef/expressions/ConstantExpression.java
new file mode 100644
index 0000000..f58b34f
--- /dev/null
+++ b/core/src/main/java/jef/expressions/ConstantExpression.java
@@ -0,0 +1,37 @@
+package jef.expressions;
+
+import lombok.AllArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+@EqualsAndHashCode
+public class ConstantExpression implements Expression {
+ public static final ConstantExpression V0 = new ConstantExpression(0);
+ public static final ConstantExpression V1 = new ConstantExpression(1);
+ public static final ConstantExpression V2 = new ConstantExpression(2);
+ public static final ConstantExpression V3 = new ConstantExpression(3);
+ public static final ConstantExpression V4 = new ConstantExpression(4);
+ public static final ConstantExpression V5 = new ConstantExpression(5);
+
+ protected final Object value;
+
+ @Override
+ public Type getType() {
+ return Type.CONSTANT;
+ }
+
+ @Override
+ public Priority getPriority() {
+ return Priority.CONSTANT;
+ }
+
+ @Override
+ public String toString() {
+ if (value instanceof String) {
+ return "\"" + value + "\"";
+ }
+ return value.toString();
+ }
+}
diff --git a/src/main/java/jef/expressions/Expression.java b/core/src/main/java/jef/expressions/Expression.java
similarity index 100%
rename from src/main/java/jef/expressions/Expression.java
rename to core/src/main/java/jef/expressions/Expression.java
diff --git a/src/main/java/jef/expressions/FieldExpression.java b/core/src/main/java/jef/expressions/FieldExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/FieldExpression.java
rename to core/src/main/java/jef/expressions/FieldExpression.java
diff --git a/src/main/java/jef/expressions/FunctionExpression.java b/core/src/main/java/jef/expressions/FunctionExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/FunctionExpression.java
rename to core/src/main/java/jef/expressions/FunctionExpression.java
diff --git a/src/main/java/jef/expressions/IntermediateFieldExpression.java b/core/src/main/java/jef/expressions/IntermediateFieldExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/IntermediateFieldExpression.java
rename to core/src/main/java/jef/expressions/IntermediateFieldExpression.java
diff --git a/src/main/java/jef/expressions/LimitExpression.java b/core/src/main/java/jef/expressions/LimitExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/LimitExpression.java
rename to core/src/main/java/jef/expressions/LimitExpression.java
diff --git a/src/main/java/jef/expressions/NullExpression.java b/core/src/main/java/jef/expressions/NullExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/NullExpression.java
rename to core/src/main/java/jef/expressions/NullExpression.java
diff --git a/src/main/java/jef/expressions/OrExpression.java b/core/src/main/java/jef/expressions/OrExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/OrExpression.java
rename to core/src/main/java/jef/expressions/OrExpression.java
diff --git a/src/main/java/jef/expressions/OrderExpression.java b/core/src/main/java/jef/expressions/OrderExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/OrderExpression.java
rename to core/src/main/java/jef/expressions/OrderExpression.java
diff --git a/src/main/java/jef/expressions/ParameterExpression.java b/core/src/main/java/jef/expressions/ParameterExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/ParameterExpression.java
rename to core/src/main/java/jef/expressions/ParameterExpression.java
diff --git a/src/main/java/jef/expressions/SelectExpression.java b/core/src/main/java/jef/expressions/SelectExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/SelectExpression.java
rename to core/src/main/java/jef/expressions/SelectExpression.java
diff --git a/src/main/java/jef/expressions/TableExpression.java b/core/src/main/java/jef/expressions/TableExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/TableExpression.java
rename to core/src/main/java/jef/expressions/TableExpression.java
diff --git a/src/main/java/jef/expressions/TernaryExpression.java b/core/src/main/java/jef/expressions/TernaryExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/TernaryExpression.java
rename to core/src/main/java/jef/expressions/TernaryExpression.java
diff --git a/src/main/java/jef/expressions/UnaryExpression.java b/core/src/main/java/jef/expressions/UnaryExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/UnaryExpression.java
rename to core/src/main/java/jef/expressions/UnaryExpression.java
diff --git a/src/main/java/jef/expressions/WhereExpression.java b/core/src/main/java/jef/expressions/WhereExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/WhereExpression.java
rename to core/src/main/java/jef/expressions/WhereExpression.java
diff --git a/src/main/java/jef/expressions/modifier/ExpressionModifier.java b/core/src/main/java/jef/expressions/modifier/ExpressionModifier.java
similarity index 100%
rename from src/main/java/jef/expressions/modifier/ExpressionModifier.java
rename to core/src/main/java/jef/expressions/modifier/ExpressionModifier.java
diff --git a/src/main/java/jef/expressions/modifier/ExpressionOptimizerBottomUp.java b/core/src/main/java/jef/expressions/modifier/ExpressionOptimizerBottomUp.java
similarity index 100%
rename from src/main/java/jef/expressions/modifier/ExpressionOptimizerBottomUp.java
rename to core/src/main/java/jef/expressions/modifier/ExpressionOptimizerBottomUp.java
diff --git a/src/main/java/jef/expressions/modifier/ExpressionOptimizerTopDown.java b/core/src/main/java/jef/expressions/modifier/ExpressionOptimizerTopDown.java
similarity index 100%
rename from src/main/java/jef/expressions/modifier/ExpressionOptimizerTopDown.java
rename to core/src/main/java/jef/expressions/modifier/ExpressionOptimizerTopDown.java
diff --git a/src/main/java/jef/expressions/modifier/IConst0Fixer.java b/core/src/main/java/jef/expressions/modifier/IConst0Fixer.java
similarity index 100%
rename from src/main/java/jef/expressions/modifier/IConst0Fixer.java
rename to core/src/main/java/jef/expressions/modifier/IConst0Fixer.java
diff --git a/src/main/java/jef/expressions/modifier/TableAliasInjector.java b/core/src/main/java/jef/expressions/modifier/TableAliasInjector.java
similarity index 100%
rename from src/main/java/jef/expressions/modifier/TableAliasInjector.java
rename to core/src/main/java/jef/expressions/modifier/TableAliasInjector.java
diff --git a/src/main/java/jef/expressions/modifier/TernaryOptimizerUtil.java b/core/src/main/java/jef/expressions/modifier/TernaryOptimizerUtil.java
similarity index 100%
rename from src/main/java/jef/expressions/modifier/TernaryOptimizerUtil.java
rename to core/src/main/java/jef/expressions/modifier/TernaryOptimizerUtil.java
diff --git a/src/main/java/jef/expressions/modifier/TernaryRewriter.java b/core/src/main/java/jef/expressions/modifier/TernaryRewriter.java
similarity index 100%
rename from src/main/java/jef/expressions/modifier/TernaryRewriter.java
rename to core/src/main/java/jef/expressions/modifier/TernaryRewriter.java
diff --git a/src/main/java/jef/expressions/selectable/DatabaseFunctionExpression.java b/core/src/main/java/jef/expressions/selectable/DatabaseFunctionExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/selectable/DatabaseFunctionExpression.java
rename to core/src/main/java/jef/expressions/selectable/DatabaseFunctionExpression.java
diff --git a/src/main/java/jef/expressions/selectable/DatabaseSelectAllExpression.java b/core/src/main/java/jef/expressions/selectable/DatabaseSelectAllExpression.java
similarity index 78%
rename from src/main/java/jef/expressions/selectable/DatabaseSelectAllExpression.java
rename to core/src/main/java/jef/expressions/selectable/DatabaseSelectAllExpression.java
index 8b022fa..d2eb8f1 100644
--- a/src/main/java/jef/expressions/selectable/DatabaseSelectAllExpression.java
+++ b/core/src/main/java/jef/expressions/selectable/DatabaseSelectAllExpression.java
@@ -9,13 +9,13 @@ public class DatabaseSelectAllExpression implements Expression, SelectableExpres
public static final DatabaseSelectAllExpression INSTANCE = new DatabaseSelectAllExpression();
@Override
- public Expression.Type getType() {
- return Expression.Type.CONSTANT;
+ public Type getType() {
+ return Type.CONSTANT;
}
@Override
- public Expression.Priority getPriority() {
- return Expression.Priority.UNDEFINED;
+ public Priority getPriority() {
+ return Priority.UNDEFINED;
}
@Override
diff --git a/src/main/java/jef/expressions/selectable/SelectableExpression.java b/core/src/main/java/jef/expressions/selectable/SelectableExpression.java
similarity index 100%
rename from src/main/java/jef/expressions/selectable/SelectableExpression.java
rename to core/src/main/java/jef/expressions/selectable/SelectableExpression.java
diff --git a/src/main/java/jef/expressions/visitors/DebugExpressionVisitor.java b/core/src/main/java/jef/expressions/visitors/DebugExpressionVisitor.java
similarity index 100%
rename from src/main/java/jef/expressions/visitors/DebugExpressionVisitor.java
rename to core/src/main/java/jef/expressions/visitors/DebugExpressionVisitor.java
diff --git a/src/main/java/jef/expressions/visitors/ExpressionVisitor.java b/core/src/main/java/jef/expressions/visitors/ExpressionVisitor.java
similarity index 100%
rename from src/main/java/jef/expressions/visitors/ExpressionVisitor.java
rename to core/src/main/java/jef/expressions/visitors/ExpressionVisitor.java
diff --git a/src/main/java/jef/model/DbContext.java b/core/src/main/java/jef/model/DbContext.java
similarity index 100%
rename from src/main/java/jef/model/DbContext.java
rename to core/src/main/java/jef/model/DbContext.java
diff --git a/src/main/java/jef/model/DbContextOptions.java b/core/src/main/java/jef/model/DbContextOptions.java
similarity index 100%
rename from src/main/java/jef/model/DbContextOptions.java
rename to core/src/main/java/jef/model/DbContextOptions.java
diff --git a/src/main/java/jef/model/DbEntity.java b/core/src/main/java/jef/model/DbEntity.java
similarity index 100%
rename from src/main/java/jef/model/DbEntity.java
rename to core/src/main/java/jef/model/DbEntity.java
diff --git a/src/main/java/jef/model/DbEntityBuilder.java b/core/src/main/java/jef/model/DbEntityBuilder.java
similarity index 100%
rename from src/main/java/jef/model/DbEntityBuilder.java
rename to core/src/main/java/jef/model/DbEntityBuilder.java
diff --git a/src/main/java/jef/model/DbField.java b/core/src/main/java/jef/model/DbField.java
similarity index 100%
rename from src/main/java/jef/model/DbField.java
rename to core/src/main/java/jef/model/DbField.java
diff --git a/src/main/java/jef/model/DbFieldBuilder.java b/core/src/main/java/jef/model/DbFieldBuilder.java
similarity index 100%
rename from src/main/java/jef/model/DbFieldBuilder.java
rename to core/src/main/java/jef/model/DbFieldBuilder.java
diff --git a/src/main/java/jef/model/EntityDefaultConstructorChecker.java b/core/src/main/java/jef/model/EntityDefaultConstructorChecker.java
similarity index 100%
rename from src/main/java/jef/model/EntityDefaultConstructorChecker.java
rename to core/src/main/java/jef/model/EntityDefaultConstructorChecker.java
diff --git a/src/main/java/jef/model/EntityInitializer.java b/core/src/main/java/jef/model/EntityInitializer.java
similarity index 100%
rename from src/main/java/jef/model/EntityInitializer.java
rename to core/src/main/java/jef/model/EntityInitializer.java
diff --git a/src/main/java/jef/model/ForeignKeyBuilder.java b/core/src/main/java/jef/model/ForeignKeyBuilder.java
similarity index 96%
rename from src/main/java/jef/model/ForeignKeyBuilder.java
rename to core/src/main/java/jef/model/ForeignKeyBuilder.java
index ecc34ba..274a06f 100644
--- a/src/main/java/jef/model/ForeignKeyBuilder.java
+++ b/core/src/main/java/jef/model/ForeignKeyBuilder.java
@@ -4,8 +4,6 @@ import jef.model.constraints.ForeignKeyConstraint;
import jef.serializable.SerializableObject;
import lombok.RequiredArgsConstructor;
-import java.util.List;
-
@RequiredArgsConstructor
public class ForeignKeyBuilder {
private final ForeignKeyConstraint foreignKey;
diff --git a/src/main/java/jef/model/ForeignKeyExposeInitializer.java b/core/src/main/java/jef/model/ForeignKeyExposeInitializer.java
similarity index 100%
rename from src/main/java/jef/model/ForeignKeyExposeInitializer.java
rename to core/src/main/java/jef/model/ForeignKeyExposeInitializer.java
diff --git a/src/main/java/jef/model/ForeignKeyInitializer.java b/core/src/main/java/jef/model/ForeignKeyInitializer.java
similarity index 100%
rename from src/main/java/jef/model/ForeignKeyInitializer.java
rename to core/src/main/java/jef/model/ForeignKeyInitializer.java
diff --git a/src/main/java/jef/model/KeyBuilder.java b/core/src/main/java/jef/model/KeyBuilder.java
similarity index 100%
rename from src/main/java/jef/model/KeyBuilder.java
rename to core/src/main/java/jef/model/KeyBuilder.java
diff --git a/src/main/java/jef/model/ModelBuilder.java b/core/src/main/java/jef/model/ModelBuilder.java
similarity index 100%
rename from src/main/java/jef/model/ModelBuilder.java
rename to core/src/main/java/jef/model/ModelBuilder.java
diff --git a/src/main/java/jef/model/ModelBuilderOptions.java b/core/src/main/java/jef/model/ModelBuilderOptions.java
similarity index 100%
rename from src/main/java/jef/model/ModelBuilderOptions.java
rename to core/src/main/java/jef/model/ModelBuilderOptions.java
diff --git a/src/main/java/jef/model/ModelException.java b/core/src/main/java/jef/model/ModelException.java
similarity index 100%
rename from src/main/java/jef/model/ModelException.java
rename to core/src/main/java/jef/model/ModelException.java
diff --git a/src/main/java/jef/model/PrimaryKeyInitializer.java b/core/src/main/java/jef/model/PrimaryKeyInitializer.java
similarity index 100%
rename from src/main/java/jef/model/PrimaryKeyInitializer.java
rename to core/src/main/java/jef/model/PrimaryKeyInitializer.java
diff --git a/src/main/java/jef/model/ReflectionUtil.java b/core/src/main/java/jef/model/ReflectionUtil.java
similarity index 100%
rename from src/main/java/jef/model/ReflectionUtil.java
rename to core/src/main/java/jef/model/ReflectionUtil.java
diff --git a/src/main/java/jef/model/SqlTypeMapper.java b/core/src/main/java/jef/model/SqlTypeMapper.java
similarity index 100%
rename from src/main/java/jef/model/SqlTypeMapper.java
rename to core/src/main/java/jef/model/SqlTypeMapper.java
diff --git a/src/main/java/jef/model/annotations/Clazz.java b/core/src/main/java/jef/model/annotations/Clazz.java
similarity index 100%
rename from src/main/java/jef/model/annotations/Clazz.java
rename to core/src/main/java/jef/model/annotations/Clazz.java
diff --git a/src/main/java/jef/model/annotations/ForeignKey.java b/core/src/main/java/jef/model/annotations/ForeignKey.java
similarity index 100%
rename from src/main/java/jef/model/annotations/ForeignKey.java
rename to core/src/main/java/jef/model/annotations/ForeignKey.java
diff --git a/src/main/java/jef/model/annotations/Id.java b/core/src/main/java/jef/model/annotations/Id.java
similarity index 100%
rename from src/main/java/jef/model/annotations/Id.java
rename to core/src/main/java/jef/model/annotations/Id.java
diff --git a/src/main/java/jef/model/annotations/Index.java b/core/src/main/java/jef/model/annotations/Index.java
similarity index 100%
rename from src/main/java/jef/model/annotations/Index.java
rename to core/src/main/java/jef/model/annotations/Index.java
diff --git a/src/main/java/jef/model/annotations/Key.java b/core/src/main/java/jef/model/annotations/Key.java
similarity index 100%
rename from src/main/java/jef/model/annotations/Key.java
rename to core/src/main/java/jef/model/annotations/Key.java
diff --git a/src/main/java/jef/model/annotations/NotNull.java b/core/src/main/java/jef/model/annotations/NotNull.java
similarity index 100%
rename from src/main/java/jef/model/annotations/NotNull.java
rename to core/src/main/java/jef/model/annotations/NotNull.java
diff --git a/src/main/java/jef/model/annotations/Transient.java b/core/src/main/java/jef/model/annotations/Transient.java
similarity index 100%
rename from src/main/java/jef/model/annotations/Transient.java
rename to core/src/main/java/jef/model/annotations/Transient.java
diff --git a/src/main/java/jef/model/annotations/Unique.java b/core/src/main/java/jef/model/annotations/Unique.java
similarity index 100%
rename from src/main/java/jef/model/annotations/Unique.java
rename to core/src/main/java/jef/model/annotations/Unique.java
diff --git a/src/main/java/jef/model/annotations/processors/AnnotationProcessor.java b/core/src/main/java/jef/model/annotations/processors/AnnotationProcessor.java
similarity index 100%
rename from src/main/java/jef/model/annotations/processors/AnnotationProcessor.java
rename to core/src/main/java/jef/model/annotations/processors/AnnotationProcessor.java
diff --git a/src/main/java/jef/model/annotations/processors/ForeignKeyProcessor.java b/core/src/main/java/jef/model/annotations/processors/ForeignKeyProcessor.java
similarity index 100%
rename from src/main/java/jef/model/annotations/processors/ForeignKeyProcessor.java
rename to core/src/main/java/jef/model/annotations/processors/ForeignKeyProcessor.java
diff --git a/src/main/java/jef/model/annotations/processors/IndexProcessor.java b/core/src/main/java/jef/model/annotations/processors/IndexProcessor.java
similarity index 95%
rename from src/main/java/jef/model/annotations/processors/IndexProcessor.java
rename to core/src/main/java/jef/model/annotations/processors/IndexProcessor.java
index b487bc4..bcc8802 100644
--- a/src/main/java/jef/model/annotations/processors/IndexProcessor.java
+++ b/core/src/main/java/jef/model/annotations/processors/IndexProcessor.java
@@ -1,8 +1,6 @@
package jef.model.annotations.processors;
-import jef.model.DbEntity;
import jef.model.DbEntityBuilder;
-import jef.model.DbField;
import jef.model.DbFieldBuilder;
import jef.model.annotations.Index;
import jef.model.constraints.IndexConstraint;
diff --git a/src/main/java/jef/model/annotations/processors/KeyProcessor.java b/core/src/main/java/jef/model/annotations/processors/KeyProcessor.java
similarity index 95%
rename from src/main/java/jef/model/annotations/processors/KeyProcessor.java
rename to core/src/main/java/jef/model/annotations/processors/KeyProcessor.java
index 83c00ef..a1d0666 100644
--- a/src/main/java/jef/model/annotations/processors/KeyProcessor.java
+++ b/core/src/main/java/jef/model/annotations/processors/KeyProcessor.java
@@ -1,8 +1,6 @@
package jef.model.annotations.processors;
-import jef.model.DbEntity;
import jef.model.DbEntityBuilder;
-import jef.model.DbField;
import jef.model.DbFieldBuilder;
import jef.model.annotations.Key;
import jef.model.constraints.KeyConstraint;
diff --git a/src/main/java/jef/model/annotations/processors/KeyProcessorBase.java b/core/src/main/java/jef/model/annotations/processors/KeyProcessorBase.java
similarity index 100%
rename from src/main/java/jef/model/annotations/processors/KeyProcessorBase.java
rename to core/src/main/java/jef/model/annotations/processors/KeyProcessorBase.java
diff --git a/src/main/java/jef/model/annotations/processors/NotNullProcessor.java b/core/src/main/java/jef/model/annotations/processors/NotNullProcessor.java
similarity index 100%
rename from src/main/java/jef/model/annotations/processors/NotNullProcessor.java
rename to core/src/main/java/jef/model/annotations/processors/NotNullProcessor.java
diff --git a/src/main/java/jef/model/annotations/processors/UniqueProcessor.java b/core/src/main/java/jef/model/annotations/processors/UniqueProcessor.java
similarity index 96%
rename from src/main/java/jef/model/annotations/processors/UniqueProcessor.java
rename to core/src/main/java/jef/model/annotations/processors/UniqueProcessor.java
index 95757ef..d36b63a 100644
--- a/src/main/java/jef/model/annotations/processors/UniqueProcessor.java
+++ b/core/src/main/java/jef/model/annotations/processors/UniqueProcessor.java
@@ -8,7 +8,6 @@ import jef.serializable.SerializableObject;
import java.lang.annotation.Annotation;
import java.util.List;
-import java.util.stream.Collectors;
public class UniqueProcessor extends KeyProcessorBase {
public static final UniqueProcessor INSTANCE = new UniqueProcessor();
diff --git a/src/main/java/jef/model/constraints/Constraint.java b/core/src/main/java/jef/model/constraints/Constraint.java
similarity index 100%
rename from src/main/java/jef/model/constraints/Constraint.java
rename to core/src/main/java/jef/model/constraints/Constraint.java
diff --git a/src/main/java/jef/model/constraints/ConstraintBase.java b/core/src/main/java/jef/model/constraints/ConstraintBase.java
similarity index 100%
rename from src/main/java/jef/model/constraints/ConstraintBase.java
rename to core/src/main/java/jef/model/constraints/ConstraintBase.java
diff --git a/src/main/java/jef/model/constraints/ForeignKeyConstraint.java b/core/src/main/java/jef/model/constraints/ForeignKeyConstraint.java
similarity index 100%
rename from src/main/java/jef/model/constraints/ForeignKeyConstraint.java
rename to core/src/main/java/jef/model/constraints/ForeignKeyConstraint.java
diff --git a/src/main/java/jef/model/constraints/IndexConstraint.java b/core/src/main/java/jef/model/constraints/IndexConstraint.java
similarity index 100%
rename from src/main/java/jef/model/constraints/IndexConstraint.java
rename to core/src/main/java/jef/model/constraints/IndexConstraint.java
diff --git a/src/main/java/jef/model/constraints/KeyConstraint.java b/core/src/main/java/jef/model/constraints/KeyConstraint.java
similarity index 100%
rename from src/main/java/jef/model/constraints/KeyConstraint.java
rename to core/src/main/java/jef/model/constraints/KeyConstraint.java
diff --git a/src/main/java/jef/model/constraints/PrimaryKeyConstraint.java b/core/src/main/java/jef/model/constraints/PrimaryKeyConstraint.java
similarity index 100%
rename from src/main/java/jef/model/constraints/PrimaryKeyConstraint.java
rename to core/src/main/java/jef/model/constraints/PrimaryKeyConstraint.java
diff --git a/src/main/java/jef/model/constraints/UniqueKeyConstraint.java b/core/src/main/java/jef/model/constraints/UniqueKeyConstraint.java
similarity index 100%
rename from src/main/java/jef/model/constraints/UniqueKeyConstraint.java
rename to core/src/main/java/jef/model/constraints/UniqueKeyConstraint.java
diff --git a/src/main/java/jef/model/migration/Migration.java b/core/src/main/java/jef/model/migration/Migration.java
similarity index 100%
rename from src/main/java/jef/model/migration/Migration.java
rename to core/src/main/java/jef/model/migration/Migration.java
diff --git a/src/main/java/jef/model/migration/MigrationBuilder.java b/core/src/main/java/jef/model/migration/MigrationBuilder.java
similarity index 100%
rename from src/main/java/jef/model/migration/MigrationBuilder.java
rename to core/src/main/java/jef/model/migration/MigrationBuilder.java
diff --git a/src/main/java/jef/model/migration/creator/MigrationBuilderGenerator.java b/core/src/main/java/jef/model/migration/creator/MigrationBuilderGenerator.java
similarity index 100%
rename from src/main/java/jef/model/migration/creator/MigrationBuilderGenerator.java
rename to core/src/main/java/jef/model/migration/creator/MigrationBuilderGenerator.java
diff --git a/src/main/java/jef/model/migration/creator/MigrationCreator.java b/core/src/main/java/jef/model/migration/creator/MigrationCreator.java
similarity index 100%
rename from src/main/java/jef/model/migration/creator/MigrationCreator.java
rename to core/src/main/java/jef/model/migration/creator/MigrationCreator.java
diff --git a/src/main/java/jef/model/migration/creator/ModelBuilderGenerator.java b/core/src/main/java/jef/model/migration/creator/ModelBuilderGenerator.java
similarity index 100%
rename from src/main/java/jef/model/migration/creator/ModelBuilderGenerator.java
rename to core/src/main/java/jef/model/migration/creator/ModelBuilderGenerator.java
diff --git a/src/main/java/jef/model/migration/creator/ModelChangeDetector.java b/core/src/main/java/jef/model/migration/creator/ModelChangeDetector.java
similarity index 100%
rename from src/main/java/jef/model/migration/creator/ModelChangeDetector.java
rename to core/src/main/java/jef/model/migration/creator/ModelChangeDetector.java
diff --git a/src/main/java/jef/model/migration/operation/AddFieldOperation.java b/core/src/main/java/jef/model/migration/operation/AddFieldOperation.java
similarity index 97%
rename from src/main/java/jef/model/migration/operation/AddFieldOperation.java
rename to core/src/main/java/jef/model/migration/operation/AddFieldOperation.java
index f1caca2..a25d840 100644
--- a/src/main/java/jef/model/migration/operation/AddFieldOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/AddFieldOperation.java
@@ -3,8 +3,6 @@ package jef.model.migration.operation;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import java.util.List;
-
@Getter
@AllArgsConstructor
public class AddFieldOperation implements MigrationOperation {
diff --git a/src/main/java/jef/model/migration/operation/AddForeignKeyOperation.java b/core/src/main/java/jef/model/migration/operation/AddForeignKeyOperation.java
similarity index 97%
rename from src/main/java/jef/model/migration/operation/AddForeignKeyOperation.java
rename to core/src/main/java/jef/model/migration/operation/AddForeignKeyOperation.java
index 382248f..3693276 100644
--- a/src/main/java/jef/model/migration/operation/AddForeignKeyOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/AddForeignKeyOperation.java
@@ -5,7 +5,6 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.List;
-import java.util.stream.Collectors;
@Getter
@AllArgsConstructor
diff --git a/src/main/java/jef/model/migration/operation/AddIndexOperation.java b/core/src/main/java/jef/model/migration/operation/AddIndexOperation.java
similarity index 94%
rename from src/main/java/jef/model/migration/operation/AddIndexOperation.java
rename to core/src/main/java/jef/model/migration/operation/AddIndexOperation.java
index 9ae1c1b..d14b858 100644
--- a/src/main/java/jef/model/migration/operation/AddIndexOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/AddIndexOperation.java
@@ -3,7 +3,6 @@ package jef.model.migration.operation;
import lombok.Getter;
import java.util.List;
-import java.util.stream.Collectors;
@Getter
public class AddIndexOperation extends AddKeyOperationBase {
diff --git a/src/main/java/jef/model/migration/operation/AddKeyOperation.java b/core/src/main/java/jef/model/migration/operation/AddKeyOperation.java
similarity index 94%
rename from src/main/java/jef/model/migration/operation/AddKeyOperation.java
rename to core/src/main/java/jef/model/migration/operation/AddKeyOperation.java
index 870df5a..151261c 100644
--- a/src/main/java/jef/model/migration/operation/AddKeyOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/AddKeyOperation.java
@@ -3,7 +3,6 @@ package jef.model.migration.operation;
import lombok.Getter;
import java.util.List;
-import java.util.stream.Collectors;
@Getter
public class AddKeyOperation extends AddKeyOperationBase {
diff --git a/src/main/java/jef/model/migration/operation/AddKeyOperationBase.java b/core/src/main/java/jef/model/migration/operation/AddKeyOperationBase.java
similarity index 100%
rename from src/main/java/jef/model/migration/operation/AddKeyOperationBase.java
rename to core/src/main/java/jef/model/migration/operation/AddKeyOperationBase.java
diff --git a/src/main/java/jef/model/migration/operation/AddPrimaryKeyOperation.java b/core/src/main/java/jef/model/migration/operation/AddPrimaryKeyOperation.java
similarity index 94%
rename from src/main/java/jef/model/migration/operation/AddPrimaryKeyOperation.java
rename to core/src/main/java/jef/model/migration/operation/AddPrimaryKeyOperation.java
index cd7b964..ae4d68a 100644
--- a/src/main/java/jef/model/migration/operation/AddPrimaryKeyOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/AddPrimaryKeyOperation.java
@@ -3,7 +3,6 @@ package jef.model.migration.operation;
import lombok.Getter;
import java.util.List;
-import java.util.stream.Collectors;
@Getter
public class AddPrimaryKeyOperation extends AddKeyOperationBase {
diff --git a/src/main/java/jef/model/migration/operation/AddTableOperation.java b/core/src/main/java/jef/model/migration/operation/AddTableOperation.java
similarity index 95%
rename from src/main/java/jef/model/migration/operation/AddTableOperation.java
rename to core/src/main/java/jef/model/migration/operation/AddTableOperation.java
index 792c3ff..d48fa68 100644
--- a/src/main/java/jef/model/migration/operation/AddTableOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/AddTableOperation.java
@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.List;
-import java.util.stream.Collectors;
@Getter
@AllArgsConstructor
diff --git a/src/main/java/jef/model/migration/operation/AddUniqueKeyOperation.java b/core/src/main/java/jef/model/migration/operation/AddUniqueKeyOperation.java
similarity index 94%
rename from src/main/java/jef/model/migration/operation/AddUniqueKeyOperation.java
rename to core/src/main/java/jef/model/migration/operation/AddUniqueKeyOperation.java
index 7840cb4..0936763 100644
--- a/src/main/java/jef/model/migration/operation/AddUniqueKeyOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/AddUniqueKeyOperation.java
@@ -3,7 +3,6 @@ package jef.model.migration.operation;
import lombok.Getter;
import java.util.List;
-import java.util.stream.Collectors;
@Getter
public class AddUniqueKeyOperation extends AddKeyOperationBase {
diff --git a/src/main/java/jef/model/migration/operation/DropConstraintOperation.java b/core/src/main/java/jef/model/migration/operation/DropConstraintOperation.java
similarity index 96%
rename from src/main/java/jef/model/migration/operation/DropConstraintOperation.java
rename to core/src/main/java/jef/model/migration/operation/DropConstraintOperation.java
index c5e50b8..54ea8b5 100644
--- a/src/main/java/jef/model/migration/operation/DropConstraintOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/DropConstraintOperation.java
@@ -3,8 +3,6 @@ package jef.model.migration.operation;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import java.util.List;
-
@Getter
@AllArgsConstructor
public class DropConstraintOperation implements MigrationOperation {
diff --git a/src/main/java/jef/model/migration/operation/DropFieldOperation.java b/core/src/main/java/jef/model/migration/operation/DropFieldOperation.java
similarity index 96%
rename from src/main/java/jef/model/migration/operation/DropFieldOperation.java
rename to core/src/main/java/jef/model/migration/operation/DropFieldOperation.java
index 2a5a875..25b6fc1 100644
--- a/src/main/java/jef/model/migration/operation/DropFieldOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/DropFieldOperation.java
@@ -3,8 +3,6 @@ package jef.model.migration.operation;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import java.util.List;
-
@Getter
@AllArgsConstructor
public class DropFieldOperation implements MigrationOperation {
diff --git a/src/main/java/jef/model/migration/operation/DropTableOperation.java b/core/src/main/java/jef/model/migration/operation/DropTableOperation.java
similarity index 95%
rename from src/main/java/jef/model/migration/operation/DropTableOperation.java
rename to core/src/main/java/jef/model/migration/operation/DropTableOperation.java
index 8e0a014..fe83b0c 100644
--- a/src/main/java/jef/model/migration/operation/DropTableOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/DropTableOperation.java
@@ -3,8 +3,6 @@ package jef.model.migration.operation;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import java.util.List;
-
@Getter
@AllArgsConstructor
public class DropTableOperation implements MigrationOperation {
diff --git a/src/main/java/jef/model/migration/operation/MigrationOperation.java b/core/src/main/java/jef/model/migration/operation/MigrationOperation.java
similarity index 100%
rename from src/main/java/jef/model/migration/operation/MigrationOperation.java
rename to core/src/main/java/jef/model/migration/operation/MigrationOperation.java
diff --git a/src/main/java/jef/model/migration/operation/RenameFieldOperation.java b/core/src/main/java/jef/model/migration/operation/RenameFieldOperation.java
similarity index 97%
rename from src/main/java/jef/model/migration/operation/RenameFieldOperation.java
rename to core/src/main/java/jef/model/migration/operation/RenameFieldOperation.java
index 20e93c9..7494cd9 100644
--- a/src/main/java/jef/model/migration/operation/RenameFieldOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/RenameFieldOperation.java
@@ -3,8 +3,6 @@ package jef.model.migration.operation;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import java.util.List;
-
@Getter
@AllArgsConstructor
public class RenameFieldOperation implements MigrationOperation {
diff --git a/src/main/java/jef/model/migration/operation/RenameTableOperation.java b/core/src/main/java/jef/model/migration/operation/RenameTableOperation.java
similarity index 96%
rename from src/main/java/jef/model/migration/operation/RenameTableOperation.java
rename to core/src/main/java/jef/model/migration/operation/RenameTableOperation.java
index 97849b4..a435c08 100644
--- a/src/main/java/jef/model/migration/operation/RenameTableOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/RenameTableOperation.java
@@ -3,8 +3,6 @@ package jef.model.migration.operation;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import java.util.List;
-
@Getter
@AllArgsConstructor
public class RenameTableOperation implements MigrationOperation {
diff --git a/src/main/java/jef/model/migration/operation/UpdateFieldOperation.java b/core/src/main/java/jef/model/migration/operation/UpdateFieldOperation.java
similarity index 97%
rename from src/main/java/jef/model/migration/operation/UpdateFieldOperation.java
rename to core/src/main/java/jef/model/migration/operation/UpdateFieldOperation.java
index f5994c9..078ac5a 100644
--- a/src/main/java/jef/model/migration/operation/UpdateFieldOperation.java
+++ b/core/src/main/java/jef/model/migration/operation/UpdateFieldOperation.java
@@ -2,8 +2,6 @@ package jef.model.migration.operation;
import lombok.Getter;
-import java.util.List;
-
@Getter
public class UpdateFieldOperation extends AddFieldOperation {
private final String newName;
diff --git a/src/main/java/jef/mysql/migration/MigrationApplier.java b/core/src/main/java/jef/mysql/migration/MigrationApplier.java
similarity index 100%
rename from src/main/java/jef/mysql/migration/MigrationApplier.java
rename to core/src/main/java/jef/mysql/migration/MigrationApplier.java
diff --git a/src/main/java/jef/operations/FilterOp.java b/core/src/main/java/jef/operations/FilterOp.java
similarity index 100%
rename from src/main/java/jef/operations/FilterOp.java
rename to core/src/main/java/jef/operations/FilterOp.java
diff --git a/src/main/java/jef/operations/LimitOp.java b/core/src/main/java/jef/operations/LimitOp.java
similarity index 100%
rename from src/main/java/jef/operations/LimitOp.java
rename to core/src/main/java/jef/operations/LimitOp.java
diff --git a/src/main/java/jef/operations/Operation.java b/core/src/main/java/jef/operations/Operation.java
similarity index 100%
rename from src/main/java/jef/operations/Operation.java
rename to core/src/main/java/jef/operations/Operation.java
diff --git a/src/main/java/jef/operations/SortOp.java b/core/src/main/java/jef/operations/SortOp.java
similarity index 100%
rename from src/main/java/jef/operations/SortOp.java
rename to core/src/main/java/jef/operations/SortOp.java
diff --git a/src/main/java/jef/query/MysqlQueryBuilder.java b/core/src/main/java/jef/query/MysqlQueryBuilder.java
similarity index 100%
rename from src/main/java/jef/query/MysqlQueryBuilder.java
rename to core/src/main/java/jef/query/MysqlQueryBuilder.java
diff --git a/src/main/java/jef/query/QueryBuilder.java b/core/src/main/java/jef/query/QueryBuilder.java
similarity index 100%
rename from src/main/java/jef/query/QueryBuilder.java
rename to core/src/main/java/jef/query/QueryBuilder.java
diff --git a/src/main/java/jef/serializable/SerializableFunction.java b/core/src/main/java/jef/serializable/SerializableFunction.java
similarity index 100%
rename from src/main/java/jef/serializable/SerializableFunction.java
rename to core/src/main/java/jef/serializable/SerializableFunction.java
diff --git a/src/main/java/jef/serializable/SerializableObject.java b/core/src/main/java/jef/serializable/SerializableObject.java
similarity index 100%
rename from src/main/java/jef/serializable/SerializableObject.java
rename to core/src/main/java/jef/serializable/SerializableObject.java
diff --git a/src/main/java/jef/serializable/SerializablePredicate.java b/core/src/main/java/jef/serializable/SerializablePredicate.java
similarity index 100%
rename from src/main/java/jef/serializable/SerializablePredicate.java
rename to core/src/main/java/jef/serializable/SerializablePredicate.java
diff --git a/src/main/java/jef/util/Check.java b/core/src/main/java/jef/util/Check.java
similarity index 100%
rename from src/main/java/jef/util/Check.java
rename to core/src/main/java/jef/util/Check.java
diff --git a/src/main/java/jef/util/Log.java b/core/src/main/java/jef/util/Log.java
similarity index 100%
rename from src/main/java/jef/util/Log.java
rename to core/src/main/java/jef/util/Log.java
diff --git a/src/main/java/jef/util/Util.java b/core/src/main/java/jef/util/Util.java
similarity index 100%
rename from src/main/java/jef/util/Util.java
rename to core/src/main/java/jef/util/Util.java
diff --git a/src/test/java/jef/asm/OptimizedAsmParserTest.java b/core/src/test/java/jef/asm/OptimizedAsmParserTest.java
similarity index 100%
rename from src/test/java/jef/asm/OptimizedAsmParserTest.java
rename to core/src/test/java/jef/asm/OptimizedAsmParserTest.java
diff --git a/src/test/java/jef/expressions/modifier/ExpressionOptimizerBottomUpTest.java b/core/src/test/java/jef/expressions/modifier/ExpressionOptimizerBottomUpTest.java
similarity index 100%
rename from src/test/java/jef/expressions/modifier/ExpressionOptimizerBottomUpTest.java
rename to core/src/test/java/jef/expressions/modifier/ExpressionOptimizerBottomUpTest.java
diff --git a/src/test/java/jef/expressions/modifier/ExpressionOptimizerTestBase.java b/core/src/test/java/jef/expressions/modifier/ExpressionOptimizerTestBase.java
similarity index 100%
rename from src/test/java/jef/expressions/modifier/ExpressionOptimizerTestBase.java
rename to core/src/test/java/jef/expressions/modifier/ExpressionOptimizerTestBase.java
diff --git a/src/test/java/jef/expressions/modifier/ExpressionOptimizerTopDownTest.java b/core/src/test/java/jef/expressions/modifier/ExpressionOptimizerTopDownTest.java
similarity index 100%
rename from src/test/java/jef/expressions/modifier/ExpressionOptimizerTopDownTest.java
rename to core/src/test/java/jef/expressions/modifier/ExpressionOptimizerTopDownTest.java
diff --git a/src/test/java/jef/model/DbContextSimpleTest.java b/core/src/test/java/jef/model/DbContextSimpleTest.java
similarity index 100%
rename from src/test/java/jef/model/DbContextSimpleTest.java
rename to core/src/test/java/jef/model/DbContextSimpleTest.java
diff --git a/src/test/java/jef/model/EntityDefaultConstructorCheckerTest.java b/core/src/test/java/jef/model/EntityDefaultConstructorCheckerTest.java
similarity index 100%
rename from src/test/java/jef/model/EntityDefaultConstructorCheckerTest.java
rename to core/src/test/java/jef/model/EntityDefaultConstructorCheckerTest.java
diff --git a/src/test/java/jef/model/EntityInitializerCollectionAnnotationClassInheritTest.java b/core/src/test/java/jef/model/EntityInitializerCollectionAnnotationClassInheritTest.java
similarity index 100%
rename from src/test/java/jef/model/EntityInitializerCollectionAnnotationClassInheritTest.java
rename to core/src/test/java/jef/model/EntityInitializerCollectionAnnotationClassInheritTest.java
diff --git a/src/test/java/jef/model/EntityInitializerCollectionAnnotationMissingTest.java b/core/src/test/java/jef/model/EntityInitializerCollectionAnnotationMissingTest.java
similarity index 100%
rename from src/test/java/jef/model/EntityInitializerCollectionAnnotationMissingTest.java
rename to core/src/test/java/jef/model/EntityInitializerCollectionAnnotationMissingTest.java
diff --git a/src/test/java/jef/model/EntityInitializerDbSetAnnotationClassInheritTest.java b/core/src/test/java/jef/model/EntityInitializerDbSetAnnotationClassInheritTest.java
similarity index 100%
rename from src/test/java/jef/model/EntityInitializerDbSetAnnotationClassInheritTest.java
rename to core/src/test/java/jef/model/EntityInitializerDbSetAnnotationClassInheritTest.java
diff --git a/src/test/java/jef/model/EntityInitializerDbSetAnnotationMissingTest.java b/core/src/test/java/jef/model/EntityInitializerDbSetAnnotationMissingTest.java
similarity index 100%
rename from src/test/java/jef/model/EntityInitializerDbSetAnnotationMissingTest.java
rename to core/src/test/java/jef/model/EntityInitializerDbSetAnnotationMissingTest.java
diff --git a/src/test/java/jef/model/EntityInitializerMultiple1To1RelationTest.java b/core/src/test/java/jef/model/EntityInitializerMultiple1To1RelationTest.java
similarity index 100%
rename from src/test/java/jef/model/EntityInitializerMultiple1To1RelationTest.java
rename to core/src/test/java/jef/model/EntityInitializerMultiple1To1RelationTest.java
diff --git a/src/test/java/jef/model/EntityInitializerMultiple1ToNRelationTest.java b/core/src/test/java/jef/model/EntityInitializerMultiple1ToNRelationTest.java
similarity index 100%
rename from src/test/java/jef/model/EntityInitializerMultiple1ToNRelationTest.java
rename to core/src/test/java/jef/model/EntityInitializerMultiple1ToNRelationTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerNToNRelationTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerNToNRelationTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerNToNRelationTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerNToNRelationTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerNestedList2LayerTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerNestedList2LayerTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerNestedList2LayerTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerNestedList2LayerTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerNestedListMissingPrimaryKeyTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerNestedListMissingPrimaryKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerNestedListMissingPrimaryKeyTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerNestedListMissingPrimaryKeyTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerNestedListSimpleTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerNestedListSimpleTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerNestedListSimpleTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerNestedListSimpleTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerNestedObject2LayerTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerNestedObject2LayerTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerNestedObject2LayerTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerNestedObject2LayerTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerNestedObjectMissingPrimaryKeyTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerNestedObjectMissingPrimaryKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerNestedObjectMissingPrimaryKeyTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerNestedObjectMissingPrimaryKeyTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerNestedObjectSimpleTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerNestedObjectSimpleTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerNestedObjectSimpleTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerNestedObjectSimpleTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerRecursive1To1RelationTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerRecursive1To1RelationTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerRecursive1To1RelationTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerRecursive1To1RelationTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerRecursive1ToNRelationTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerRecursive1ToNRelationTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerRecursive1ToNRelationTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerRecursive1ToNRelationTest.java
diff --git a/src/test/java/jef/model/ForeignKeyInitializerRecursiveWithParent1ToNRelationTest.java b/core/src/test/java/jef/model/ForeignKeyInitializerRecursiveWithParent1ToNRelationTest.java
similarity index 100%
rename from src/test/java/jef/model/ForeignKeyInitializerRecursiveWithParent1ToNRelationTest.java
rename to core/src/test/java/jef/model/ForeignKeyInitializerRecursiveWithParent1ToNRelationTest.java
diff --git a/src/test/java/jef/model/KeyBuilderPrimaryDropRelatedForeignKeyDropTest.java b/core/src/test/java/jef/model/KeyBuilderPrimaryDropRelatedForeignKeyDropTest.java
similarity index 100%
rename from src/test/java/jef/model/KeyBuilderPrimaryDropRelatedForeignKeyDropTest.java
rename to core/src/test/java/jef/model/KeyBuilderPrimaryDropRelatedForeignKeyDropTest.java
diff --git a/src/test/java/jef/model/ModelBuilderCloneTest.java b/core/src/test/java/jef/model/ModelBuilderCloneTest.java
similarity index 100%
rename from src/test/java/jef/model/ModelBuilderCloneTest.java
rename to core/src/test/java/jef/model/ModelBuilderCloneTest.java
diff --git a/src/test/java/jef/model/ModelBuilderSimpleTest.java b/core/src/test/java/jef/model/ModelBuilderSimpleTest.java
similarity index 100%
rename from src/test/java/jef/model/ModelBuilderSimpleTest.java
rename to core/src/test/java/jef/model/ModelBuilderSimpleTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeViaMethodTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeViaMethodTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeViaMethodTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorExposeViaMethodTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidEntityTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidEntityTest.java
similarity index 91%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidEntityTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidEntityTest.java
index c807322..9e81986 100644
--- a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidEntityTest.java
+++ b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidEntityTest.java
@@ -12,9 +12,7 @@ import lombok.Getter;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrowsExactly;
-import static org.junit.jupiter.api.Assertions.assertTrue;
class ForeignKeyProcessorInvalidEntityTest {
@Test
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidFieldTypeTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidFieldTypeTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidFieldTypeTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorInvalidFieldTypeTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorMissingPrimaryKeyTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorMissingPrimaryKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorMissingPrimaryKeyTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorMissingPrimaryKeyTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNonExistingFieldOrGetterTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNonExistingFieldOrGetterTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNonExistingFieldOrGetterTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNonExistingFieldOrGetterTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNotPrimaryKeyTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNotPrimaryKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNotPrimaryKeyTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorNotPrimaryKeyTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSelfReferenceTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSelfReferenceTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSelfReferenceTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSelfReferenceTest.java
diff --git a/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSimpleTest.java b/core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSimpleTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSimpleTest.java
rename to core/src/test/java/jef/model/annotations/processors/ForeignKeyProcessorSimpleTest.java
diff --git a/src/test/java/jef/model/annotations/processors/IndexProcessorClassTest.java b/core/src/test/java/jef/model/annotations/processors/IndexProcessorClassTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/IndexProcessorClassTest.java
rename to core/src/test/java/jef/model/annotations/processors/IndexProcessorClassTest.java
diff --git a/src/test/java/jef/model/annotations/processors/IndexProcessorFieldTest.java b/core/src/test/java/jef/model/annotations/processors/IndexProcessorFieldTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/IndexProcessorFieldTest.java
rename to core/src/test/java/jef/model/annotations/processors/IndexProcessorFieldTest.java
diff --git a/src/test/java/jef/model/annotations/processors/KeyProcessorClassTest.java b/core/src/test/java/jef/model/annotations/processors/KeyProcessorClassTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/KeyProcessorClassTest.java
rename to core/src/test/java/jef/model/annotations/processors/KeyProcessorClassTest.java
diff --git a/src/test/java/jef/model/annotations/processors/KeyProcessorFieldTest.java b/core/src/test/java/jef/model/annotations/processors/KeyProcessorFieldTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/KeyProcessorFieldTest.java
rename to core/src/test/java/jef/model/annotations/processors/KeyProcessorFieldTest.java
diff --git a/src/test/java/jef/model/annotations/processors/NotNullProcessorTest.java b/core/src/test/java/jef/model/annotations/processors/NotNullProcessorTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/NotNullProcessorTest.java
rename to core/src/test/java/jef/model/annotations/processors/NotNullProcessorTest.java
diff --git a/src/test/java/jef/model/annotations/processors/UniqueProcessorClassTest.java b/core/src/test/java/jef/model/annotations/processors/UniqueProcessorClassTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/UniqueProcessorClassTest.java
rename to core/src/test/java/jef/model/annotations/processors/UniqueProcessorClassTest.java
diff --git a/src/test/java/jef/model/annotations/processors/UniqueProcessorFieldTest.java b/core/src/test/java/jef/model/annotations/processors/UniqueProcessorFieldTest.java
similarity index 100%
rename from src/test/java/jef/model/annotations/processors/UniqueProcessorFieldTest.java
rename to core/src/test/java/jef/model/annotations/processors/UniqueProcessorFieldTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorAddEntityTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorAddEntityTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorAddEntityTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorAddEntityTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorAddFieldTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorAddFieldTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorAddFieldTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorAddFieldTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorAddForeignKeyTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorAddForeignKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorAddForeignKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorAddForeignKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorAddIndexTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorAddIndexTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorAddIndexTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorAddIndexTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorAddKeyTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorAddKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorAddKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorAddKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorAddUniqueTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorAddUniqueTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorAddUniqueTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorAddUniqueTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorEmptyTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorEmptyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorEmptyTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorEmptyTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorInitialMigrationTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorInitialMigrationTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorInitialMigrationTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorInitialMigrationTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorRenameEntityTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorRenameEntityTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorRenameEntityTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorRenameEntityTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldConstraintsTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldConstraintsTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldConstraintsTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldConstraintsTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldTest.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldTest.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorRenameFieldTest.java
diff --git a/src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java b/core/src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java
rename to core/src/test/java/jef/model/migration/creator/MigrationCreatorTestBase.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddEntityTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddEntityTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorAddEntityTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddEntityTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddFieldTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddFieldTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorAddFieldTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddFieldTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddForeignKeyTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddForeignKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorAddForeignKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddForeignKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddIndexTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddIndexTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorAddIndexTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddIndexTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddKeyTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorAddKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddPrimaryKeyTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddPrimaryKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorAddPrimaryKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddPrimaryKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddUniqueTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddUniqueTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorAddUniqueTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorAddUniqueTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropEntityTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropEntityTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorDropEntityTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropEntityTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropFieldTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropFieldTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorDropFieldTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropFieldTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropForeignKeyTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropForeignKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorDropForeignKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropForeignKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropIndexTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropIndexTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorDropIndexTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropIndexTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropKeyTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorDropKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropPrimaryKeyTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropPrimaryKeyTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorDropPrimaryKeyTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropPrimaryKeyTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropUniqueTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropUniqueTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorDropUniqueTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorDropUniqueTest.java
diff --git a/src/test/java/jef/model/migration/creator/ModelChangeDetectorNoChangeTest.java b/core/src/test/java/jef/model/migration/creator/ModelChangeDetectorNoChangeTest.java
similarity index 100%
rename from src/test/java/jef/model/migration/creator/ModelChangeDetectorNoChangeTest.java
rename to core/src/test/java/jef/model/migration/creator/ModelChangeDetectorNoChangeTest.java
diff --git a/src/test/java/jef/mysql/migration/MysqlMigrationTest.java b/core/src/test/java/jef/mysql/migration/MysqlMigrationTest.java
similarity index 100%
rename from src/test/java/jef/mysql/migration/MysqlMigrationTest.java
rename to core/src/test/java/jef/mysql/migration/MysqlMigrationTest.java
diff --git a/src/test/java/jef/operations/FilterOpTest.java b/core/src/test/java/jef/operations/FilterOpTest.java
similarity index 97%
rename from src/test/java/jef/operations/FilterOpTest.java
rename to core/src/test/java/jef/operations/FilterOpTest.java
index 0c849a4..de13071 100644
--- a/src/test/java/jef/operations/FilterOpTest.java
+++ b/core/src/test/java/jef/operations/FilterOpTest.java
@@ -6,7 +6,6 @@ import lombok.Getter;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import java.util.Arrays;
import java.util.List;
public class FilterOpTest {
diff --git a/src/test/java/jef/operations/LimitOpTest.java b/core/src/test/java/jef/operations/LimitOpTest.java
similarity index 100%
rename from src/test/java/jef/operations/LimitOpTest.java
rename to core/src/test/java/jef/operations/LimitOpTest.java
diff --git a/src/test/java/jef/operations/SortOpTest.java b/core/src/test/java/jef/operations/SortOpTest.java
similarity index 100%
rename from src/test/java/jef/operations/SortOpTest.java
rename to core/src/test/java/jef/operations/SortOpTest.java
diff --git a/src/test/java/jef/query/QueryBuilderTest.java b/core/src/test/java/jef/query/QueryBuilderTest.java
similarity index 100%
rename from src/test/java/jef/query/QueryBuilderTest.java
rename to core/src/test/java/jef/query/QueryBuilderTest.java
diff --git a/src/test/java/jef/visitors/DebugExpressionVisitorTest.java b/core/src/test/java/jef/visitors/DebugExpressionVisitorTest.java
similarity index 100%
rename from src/test/java/jef/visitors/DebugExpressionVisitorTest.java
rename to core/src/test/java/jef/visitors/DebugExpressionVisitorTest.java
diff --git a/mysql/pom.xml b/mysql/pom.xml
new file mode 100644
index 0000000..c9bf3ca
--- /dev/null
+++ b/mysql/pom.xml
@@ -0,0 +1,28 @@
+
+
+
+ jef
+ jef
+ 0.1
+
+ 4.0.0
+
+ mysql
+
+
+ jef
+ core
+ 0.1
+ compile
+
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
\ No newline at end of file
diff --git a/src/main/java/jef/mysql/MysqlDatabase.java b/mysql/src/main/java/jef/mysql/MysqlDatabase.java
similarity index 100%
rename from src/main/java/jef/mysql/MysqlDatabase.java
rename to mysql/src/main/java/jef/mysql/MysqlDatabase.java
diff --git a/src/main/java/jef/mysql/migration/MysqlMigrationApplier.java b/mysql/src/main/java/jef/mysql/migration/MysqlMigrationApplier.java
similarity index 100%
rename from src/main/java/jef/mysql/migration/MysqlMigrationApplier.java
rename to mysql/src/main/java/jef/mysql/migration/MysqlMigrationApplier.java
diff --git a/src/main/java/jef/mysql/migration/MysqlMigrationOperationTranslator.java b/mysql/src/main/java/jef/mysql/migration/MysqlMigrationOperationTranslator.java
similarity index 100%
rename from src/main/java/jef/mysql/migration/MysqlMigrationOperationTranslator.java
rename to mysql/src/main/java/jef/mysql/migration/MysqlMigrationOperationTranslator.java
diff --git a/pom.xml b/pom.xml
index 340230a..84737bd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,12 @@
jef
jef
0.1
+ pom
+
+ core
+ cli
+ mysql
+
UTF-8
@@ -94,28 +100,15 @@
maven-compiler-plugin
3.8.0
-
- org.apache.maven.plugins
- maven-resources-plugin
- 2.7
-
- ${project.build.sourceEncoding}
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.2.0
-
-
-
- true
- jef.main.Main
-
-
-
-
-
+
+
+
+
+
+
+
+
+
org.apache.maven.plugins
maven-surefire-plugin
3.0.0-M7
@@ -178,9 +171,9 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/jef/expressions/ConstantExpression.java b/src/main/java/jef/expressions/ConstantExpression.java
deleted file mode 100644
index b803f4f..0000000
--- a/src/main/java/jef/expressions/ConstantExpression.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package jef.expressions;
-
-import lombok.AllArgsConstructor;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-
-@Getter
-@AllArgsConstructor
-@EqualsAndHashCode
-public class ConstantExpression implements Expression {
- public static final jef.expressions.ConstantExpression V0 = new jef.expressions.ConstantExpression(0);
- public static final jef.expressions.ConstantExpression V1 = new jef.expressions.ConstantExpression(1);
- public static final jef.expressions.ConstantExpression V2 = new jef.expressions.ConstantExpression(2);
- public static final jef.expressions.ConstantExpression V3 = new jef.expressions.ConstantExpression(3);
- public static final jef.expressions.ConstantExpression V4 = new jef.expressions.ConstantExpression(4);
- public static final jef.expressions.ConstantExpression V5 = new jef.expressions.ConstantExpression(5);
-
- protected final Object value;
-
- @Override
- public Type getType() {
- return Type.CONSTANT;
- }
-
- @Override
- public Priority getPriority() {
- return Priority.CONSTANT;
- }
-
- @Override
- public String toString() {
- if (value instanceof String) {
- return "\"" + value + "\"";
- }
- return value.toString();
- }
-}