Merge full and lite profiles and create one jar for both.
Default: full version. Enable lite version with option --lite
java -jar target/Kustvakt-0.80-SNAPSHOT.jar --lite
Change-Id: I640869ed09512504cc4e5411b0ac1f797cea2113
diff --git a/Changes b/Changes
index 1ba881e..7e88b0c 100644
--- a/Changes
+++ b/Changes
@@ -19,6 +19,8 @@
- Fix authorization with POST tests.
- Add apiVersion for checking VC in caching process (#806)
- Update system-vc and fix get statistics with VC reference test.
+- Merge full and lite profiles and create one jar for both.
+
# version 0.79.1
diff --git a/pom.xml b/pom.xml
index 5723592..47c2b01 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,6 +22,7 @@
<!-- Align JBoss Logging with Hibernate Validator 9 requirements -->
<jboss.logging.version>3.6.1.Final</jboss.logging.version>
</properties>
+ <!--
<profiles>
<profile>
<id>full</id>
@@ -34,7 +35,6 @@
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.1</version>
<executions>
- <!-- option 1 -->
<execution>
<id>full</id>
<phase>package</phase>
@@ -42,7 +42,7 @@
<goal>shade</goal>
</goals>
<configuration>
- <finalName>Kustvakt-full-${project.version}</finalName>
+ <finalName>Kustvakt-${project.version}</finalName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
@@ -97,7 +97,7 @@
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.1</version>
<executions>
- <!--option 2 -->
+
<execution>
<id>lite</id>
<phase>package</phase>
@@ -154,6 +154,7 @@
</profile>
</profiles>
+ -->
<build>
<resources>
<resource>
@@ -180,6 +181,60 @@
</testResource>
</testResources>
<plugins>
+ <plugin>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>3.6.1</version>
+ <executions>
+ <!-- option 1 -->
+ <execution>
+ <!--<id>full</id>-->
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <finalName>Kustvakt-${project.version}</finalName>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+ <mainClass>
+ de.ids_mannheim.korap.server.KustvaktServer
+ </mainClass>
+ <manifestEntries>
+ <Multi-Release>true</Multi-Release>
+ </manifestEntries>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring.handlers</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring.schemas</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring/aot.factories</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/hk2-locator/default</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>META-INF/spring.tooling</resource>
+ </transformer>
+ </transformers>
+ <filters>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <!--<exclude>db/lite/**</exclude>-->
+ <exclude>META-INF/*.SF</exclude>
+ <exclude>META-INF/*.DSA</exclude>
+ <exclude>META-INF/*.RSA</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<!-- Formatter plugin for Eclipse based coding conventions http://maven-java-formatter-plugin.googlecode.com/svn/site/0.4/usage.html -->
<plugin>
<groupId>com.googlecode.maven-java-formatter-plugin</groupId>
diff --git a/src/main/java/de/ids_mannheim/korap/core/web/controller/SearchController.java b/src/main/java/de/ids_mannheim/korap/core/web/controller/SearchController.java
index e2613ce..a600c81 100644
--- a/src/main/java/de/ids_mannheim/korap/core/web/controller/SearchController.java
+++ b/src/main/java/de/ids_mannheim/korap/core/web/controller/SearchController.java
@@ -20,6 +20,7 @@
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.oauth2.service.OAuth2ScopeService;
import de.ids_mannheim.korap.security.context.TokenContext;
+import de.ids_mannheim.korap.server.KustvaktBaseServer;
import de.ids_mannheim.korap.utils.JsonUtils;
import de.ids_mannheim.korap.utils.ServiceInfo;
import de.ids_mannheim.korap.web.KustvaktResponseHandler;
@@ -89,10 +90,15 @@
@Path("{version}/info")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public Response info () {
+ String kustvaktVersion = "full";
+ if (KustvaktBaseServer.kargs != null && KustvaktBaseServer.kargs.isLite())
+ kustvaktVersion = "lite";
+
Map<String, Object> m = new HashMap<>();
m.put("latest_api_version", config.getCurrentVersion());
m.put("supported_api_versions", config.getSupportedVersions());
- m.put("kustvakt_version", ServiceInfo.getInfo().getVersion());
+ m.put("kustvakt_version", kustvaktVersion + "-" +
+ ServiceInfo.getInfo().getVersion());
m.put("krill_version", searchService.getKrillVersion());
m.put("koral_version", ServiceInfo.getInfo().getKoralVersion());
try {
diff --git a/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java b/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java
index 7465bcf..0f0b68f 100644
--- a/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java
+++ b/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java
@@ -48,7 +48,7 @@
protected static String springConfig = "default-config.xml";
protected static String rootPackages;
- protected static KustvaktArgs kargs;
+ public static KustvaktArgs kargs;
public KustvaktBaseServer () {
rootPackages = "de.ids_mannheim.korap.core.web;"
@@ -66,6 +66,14 @@
KustvaktArgs kargs = new KustvaktArgs();
for (int i = 0; i < args.length; i++) {
switch ((args[i])) {
+ case "--lite":
+ kargs.setLite(true);
+ springConfig = "default-lite-config.xml";
+ rootPackages = "de.ids_mannheim.korap.core.web; "
+ + "de.ids_mannheim.korap.web.filter; "
+ + "de.ids_mannheim.korap.web.utils; "
+ + "com.fasterxml.jackson.jaxrs.json;";
+ break;
case "--spring-config":
kargs.setSpringConfig(args[i + 1]);
break;
@@ -231,10 +239,21 @@
@Getter
private String springConfig;
private int port;
+ private boolean isLite;
public KustvaktArgs () {
this.port = -1;
this.springConfig = null;
+ this.isLite = false;
}
+
+ public boolean isLite () {
+ return isLite;
+ }
+
+ public void setLite (boolean isLite) {
+ this.isLite = isLite;
+
+ }
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java b/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java
index 129cda2..7051c3e 100644
--- a/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java
+++ b/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java
@@ -17,7 +17,12 @@
if (kargs == null)
System.exit(0);
- server.loadProperties("data/kustvakt.conf", "kustvakt.conf");
+ if (kargs.isLite()) {
+ server.loadProperties("data/kustvakt-lite.conf", "kustvakt-lite.conf");
+ }
+ else {
+ server.loadProperties("data/kustvakt.conf", "kustvakt.conf");
+ }
server.start();
}
}
diff --git a/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java b/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
index a4edbd1..fa0f1ca 100644
--- a/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
+++ b/src/test/java/de/ids_mannheim/korap/config/LiteJerseyTest.java
@@ -16,6 +16,9 @@
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.web.context.support.GenericWebApplicationContext;
+import de.ids_mannheim.korap.server.KustvaktBaseServer;
+import de.ids_mannheim.korap.server.KustvaktBaseServer.KustvaktArgs;
+
@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:test-config-lite.xml")
public abstract class LiteJerseyTest extends JerseyTest {
@@ -51,10 +54,15 @@
@Override
protected DeploymentContext configureDeployment () {
+ KustvaktArgs ka = new KustvaktArgs();
+ ka.setLite(true);
+ KustvaktBaseServer.kargs = ka;
+
return ServletDeploymentContext
.forServlet(new ServletContainer(
new ResourceConfig().packages(classPackages)))
.addListener(StaticContextLoaderListener.class)
- .contextParam("adminToken", "secret").build();
+ .contextParam("adminToken", "secret")
+ .build();
}
}
diff --git a/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java b/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java
index 2bed357..68a0cc8 100644
--- a/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java
+++ b/src/test/java/de/ids_mannheim/korap/config/SpringJerseyTest.java
@@ -18,6 +18,9 @@
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.web.context.support.GenericWebApplicationContext;
+import de.ids_mannheim.korap.server.KustvaktBaseServer;
+import de.ids_mannheim.korap.server.KustvaktBaseServer.KustvaktArgs;
+
@DirtiesContext(classMode = ClassMode.BEFORE_CLASS)
@ExtendWith(SpringExtension.class)
@ContextConfiguration("classpath:test-config.xml")
@@ -63,6 +66,9 @@
@Override
protected DeploymentContext configureDeployment () {
+ KustvaktArgs ka = new KustvaktArgs();
+ ka.setLite(false);
+ KustvaktBaseServer.kargs = ka;
return ServletDeploymentContext
.forServlet(new ServletContainer(
new ResourceConfig().packages(classPackages)))
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
index d8e5416..847de71 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/InfoControllerTest.java
@@ -35,7 +35,7 @@
node.at("/latest_api_version").asText());
assertEquals(config.getSupportedVersions().size(),
node.at("/supported_api_versions").size());
- assertEquals(ServiceInfo.getInfo().getVersion(),
+ assertEquals("full-"+ServiceInfo.getInfo().getVersion(),
node.at("/kustvakt_version").asText());
assertEquals(krill.getIndex().getVersion(),
node.at("/krill_version").asText());
diff --git a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerAdminTest.java b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerAdminTest.java
index 34e9c9a..db790ed 100644
--- a/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerAdminTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/controller/vc/VirtualCorpusControllerAdminTest.java
@@ -75,6 +75,7 @@
assertEquals(Status.CREATED.getStatusCode(), response.getStatus());
JsonNode node = testAdminListVC_UsingAdminToken("system",
ResourceType.SYSTEM);
+ System.out.println(node.toPrettyString());
assertEquals(2, node.size());
testDeleteSystemVC(admin, "new-system-vc");
}
diff --git a/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java b/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
index 27054fd..20f8672 100644
--- a/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/lite/InfoControllerTest.java
@@ -35,7 +35,7 @@
node.at("/latest_api_version").asText());
assertEquals(config.getSupportedVersions().size(),
node.at("/supported_api_versions").size());
- assertEquals(ServiceInfo.getInfo().getVersion(),
+ assertEquals("lite-"+ServiceInfo.getInfo().getVersion(),
node.at("/kustvakt_version").asText());
assertEquals(krill.getIndex().getVersion(),
node.at("/krill_version").asText());