diff options
| -rw-r--r-- | .gitignore | 39 | ||||
| -rw-r--r-- | clams-server/pom.xml | 61 | ||||
| -rw-r--r-- | clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java | 11 | ||||
| -rw-r--r-- | clams-shared/pom.xml | 20 | ||||
| -rw-r--r-- | pom.xml | 168 |
5 files changed, 299 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..480bdf5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ +.kotlin + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store
\ No newline at end of file diff --git a/clams-server/pom.xml b/clams-server/pom.xml new file mode 100644 index 0000000..f99740a --- /dev/null +++ b/clams-server/pom.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + <parent> + <groupId>no.eliashaugsbakk.clams-cms</groupId> + <artifactId>clams-cms</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + + <artifactId>clams-server</artifactId> + + <properties> + <maven.compiler.source>25</maven.compiler.source> + <maven.compiler.target>25</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + <dependencies> + <dependency> + <groupId>no.eliashaugsbakk.clams-cms</groupId> + <artifactId>clams-shared</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> + <groupId>io.javalin</groupId> + <artifactId>javalin</artifactId> + <version>7.2.2</version> + </dependency> + + <dependency> + <groupId>io.javalin</groupId> + <artifactId>javalin-rendering-pebble</artifactId> + <version>7.2.2</version> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>2.0.17</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <configuration> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> + <mainClass>no.eliashaugsbakk.clams.server.Main</mainClass> + </transformer> + </transformers> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java new file mode 100644 index 0000000..62c1677 --- /dev/null +++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java @@ -0,0 +1,11 @@ +package no.eliashaugsbakk.clams.server; + +import io.javalin.Javalin; + +public class Main { + void main() { + var app = Javalin.create(config -> { + config.routes.get("/", ctx -> ctx.result("Hello World")); + }).start(7070); + } +} diff --git a/clams-shared/pom.xml b/clams-shared/pom.xml new file mode 100644 index 0000000..ef2a0a5 --- /dev/null +++ b/clams-shared/pom.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + <parent> + <groupId>no.eliashaugsbakk.clams-cms</groupId> + <artifactId>clams-cms</artifactId> + <version>0.1.0-SNAPSHOT</version> + </parent> + + <artifactId>clams-shared</artifactId> + + <properties> + <maven.compiler.source>25</maven.compiler.source> + <maven.compiler.target>25</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + MAVEN COMMAND REFERENCE FOR PERSONAL PROJECTS + + [ DEVELOPMENT ] + - Standard JAR: mvn clean package + - Fat (Shaded) JAR: mvn clean package (Generates *-fat.jar) + - Native Binary: mvn clean package -Pnative + + [ TESTING ] + - Unit Tests: mvn test + - Integration Tests: mvn failsafe:integration-test failsafe:verify + - Full Verification: mvn verify (Runs all tests + coverage reports) + + [ RELEASES & UPDATES ] + - Update version: mvn release:prepare + - Check Updates: mvn versions:display-dependency-updates +--> +<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>no.eliashaugsbakk.clams-cms</groupId> + <artifactId>clams-cms</artifactId> + <version>0.1.0-SNAPSHOT</version> + <packaging>pom</packaging> + <modules> + <module>clams-server</module> + <module>clams-shared</module> + </modules> + + <scm> + <connection>scm:git:https://github.com/eliashaugsbakk/clams-cms.git</connection> + <developerConnection>scm:git:[email protected]:eliashaugsbakk/clams-cms.git</developerConnection> + <url>https://github.com/eliashaugsbakk/clams-cms</url> + <tag>HEAD</tag> + </scm> + + <properties> + <maven.compiler.source>25</maven.compiler.source> + <maven.compiler.target>25</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + + <junit.version>6.1.1</junit.version> + <mockito.version>5.23.0</mockito.version> + + <maven-compiler.version>3.14.1</maven-compiler.version> + <maven-surefire.version>3.5.4</maven-surefire.version> + <maven-failsafe.version>3.5.6</maven-failsafe.version> + <maven-shade.version>3.6.0</maven-shade.version> + <maven-release.version>3.1.1</maven-release.version> + <versions-maven.version>2.18.0</versions-maven.version> + </properties> + + <dependencies> + <!-- Testing Frameworks --> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter</artifactId> + <version>${junit.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-junit-jupiter</artifactId> + <version>${mockito.version}</version> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${maven-compiler.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${maven-surefire.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <version>${maven-failsafe.version}</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>${maven-shade.version}</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <shadedArtifactAttached>true</shadedArtifactAttached> + <shadedClassifierName>fat</shadedClassifierName> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-release-plugin</artifactId> + <version>${maven-release.version}</version> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>versions-maven-plugin</artifactId> + <version>${versions-maven.version}</version> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + <!-- Java Compiler Setup --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <release>25</release> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + + <!-- Unit Tests (*Test.java) --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + </plugin> + + <!-- Integration Tests (*IT.java) --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + </executions> + </plugin> + + <!-- Automated Versioning / Git Tagging --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-release-plugin</artifactId> + <configuration> + <tagNameFormat>v@{project.version}</tagNameFormat> + <autoVersionSubmodules>true</autoVersionSubmodules> + </configuration> + </plugin> + + <!-- Dependency Management utility --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>versions-maven-plugin</artifactId> + </plugin> + </plugins> + </build> +</project> |
