Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
296 lines (286 sloc)
8.63 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> | |
<properties> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | |
<maven.compiler.source>17</maven.compiler.source> | |
<maven.compiler.target>17</maven.compiler.target> | |
<maven.install.skip>true</maven.install.skip> | |
<!-- <skipTests>true</skipTests>--> | |
</properties> | |
<groupId>me.grishka.smithereen</groupId> | |
<artifactId>server</artifactId> | |
<version>0.4.1</version> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-jar-plugin</artifactId> | |
<version>3.2.0</version> | |
<configuration> | |
<archive> | |
<manifest> | |
<mainClass>smithereen.SmithereenApplication</mainClass> | |
</manifest> | |
</archive> | |
<finalName>smithereen</finalName> | |
</configuration> | |
</plugin> | |
<plugin> | |
<artifactId>maven-assembly-plugin</artifactId> | |
<executions> | |
<execution> | |
<phase>package</phase> | |
<goals> | |
<goal>single</goal> | |
</goals> | |
</execution> | |
</executions> | |
<configuration> | |
<descriptorRefs> | |
<descriptorRef>jar-with-dependencies</descriptorRef> | |
</descriptorRefs> | |
<archive> | |
<manifest> | |
<mainClass>smithereen.SmithereenApplication</mainClass> | |
</manifest> | |
</archive> | |
<finalName>smithereen</finalName> | |
</configuration> | |
</plugin> | |
<plugin> | |
<artifactId>maven-surefire-plugin</artifactId> | |
<version>3.0.0-M4</version> | |
</plugin> | |
<!-- I don't care about this fancy repository stuff, I just want the jar copied to the server --> | |
<!-- Define deployHost property in your ~/.m2/settings.xml for this to work --> | |
<!-- See https://maven.apache.org/examples/injecting-properties-via-settings.html for details --> | |
<plugin> | |
<artifactId>maven-deploy-plugin</artifactId> | |
<version>2.7</version> | |
<executions> | |
<execution> | |
<id>default-deploy</id> | |
<phase>none</phase> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.codehaus.mojo</groupId> | |
<artifactId>exec-maven-plugin</artifactId> | |
<version>1.6.0</version> | |
<executions> | |
<execution> | |
<id>upload-jar-with-dependencies</id> | |
<phase>deploy</phase> | |
<goals> | |
<goal>exec</goal> | |
</goals> | |
<configuration> | |
<executable>scp</executable> | |
<arguments> | |
<argument>${basedir}/target/smithereen-jar-with-dependencies.jar</argument> | |
<argument>root@${deployHost}:/opt/smithereen/smithereen.jar</argument> | |
</arguments> | |
</configuration> | |
</execution> | |
<execution> | |
<id>restart-systemd-service</id> | |
<phase>deploy</phase> | |
<goals> | |
<goal>exec</goal> | |
</goals> | |
<configuration> | |
<executable>ssh</executable> | |
<arguments> | |
<argument>root@${deployHost}</argument> | |
<argument>service smithereen restart</argument> | |
</arguments> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>com.github.eirslett</groupId> | |
<artifactId>frontend-maven-plugin</artifactId> | |
<!-- Use the latest released version: | |
https://repo1.maven.org/maven2/com/github/eirslett/frontend-maven-plugin/ --> | |
<version>1.12.0</version> | |
<configuration> | |
<nodeVersion>v16.13.1</nodeVersion> | |
<workingDirectory>src/main/web</workingDirectory> | |
<installDirectory>target</installDirectory> | |
</configuration> | |
<executions> | |
<execution> | |
<!-- optional: you don't really need execution ids, but it looks nice in your build log. --> | |
<id>install node and npm</id> | |
<goals> | |
<goal>install-node-and-npm</goal> | |
</goals> | |
</execution> | |
<execution> | |
<id>npm install</id> | |
<goals> | |
<goal>npm</goal> | |
</goals> | |
<configuration> | |
<arguments>install --no-audit --no-fund</arguments> | |
</configuration> | |
</execution> | |
<execution> | |
<id>postcss: desktop</id> | |
<goals> | |
<goal>npx</goal> | |
</goals> | |
<phase>generate-resources</phase> | |
<configuration> | |
<arguments>postcss desktop.scss -o ${basedir}/target/generated-resources/public/res/desktop.css</arguments> | |
</configuration> | |
</execution> | |
<execution> | |
<id>postcss: mobile</id> | |
<goals> | |
<goal>npx</goal> | |
</goals> | |
<phase>generate-resources</phase> | |
<configuration> | |
<arguments>postcss mobile.scss -o ${basedir}/target/generated-resources/public/res/mobile.css</arguments> | |
</configuration> | |
</execution> | |
<execution> | |
<id>compile typescript</id> | |
<goals> | |
<goal>npx</goal> | |
</goals> | |
<phase>generate-resources</phase> | |
<configuration> | |
<arguments>tsc -p common_ts --outFile ${basedir}/target/typescript/common.js</arguments> | |
</configuration> | |
</execution> | |
<execution> | |
<id>minify js</id> | |
<goals> | |
<goal>npx</goal> | |
</goals> | |
<phase>generate-resources</phase> | |
<configuration> | |
<arguments>uglify-js --compress --mangle --source-map content='${basedir}/target/typescript/common.js.map',url='common.js.map',root='common_ts' -o ${basedir}/target/generated-resources/public/res/common.js ${basedir}/target/typescript/common.js</arguments> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>me.ccampo</groupId> | |
<artifactId>git-version-maven-plugin</artifactId> | |
<version>0.1.0</version> <!-- Use the latest stable version if possible --> | |
<extensions>true</extensions> | |
<configuration> | |
<strategy hint="git"> | |
<!-- Strategy specific configuration goes here --> | |
<nonQualifierBranches>master</nonQualifierBranches> | |
<preReleaseStage>dev</preReleaseStage> | |
<dirtyQualifier>dirty</dirtyQualifier> | |
<snapshot>false</snapshot> | |
</strategy> | |
<deleteTemporaryFile>true</deleteTemporaryFile> | |
</configuration> | |
</plugin> | |
</plugins> | |
<resources> | |
<resource> | |
<directory>src/main/resources</directory> | |
<filtering>true</filtering> | |
<includes> | |
<include>version.properties</include> | |
</includes> | |
</resource> | |
<resource> | |
<directory>src/main/resources</directory> | |
<excludes> | |
<exclude>version.properties</exclude> | |
</excludes> | |
</resource> | |
<resource> | |
<directory>target/generated-resources</directory> | |
</resource> | |
<!-- copy typescript sources into /public so they're available from browser devtools --> | |
<resource> | |
<directory>src/main/web</directory> | |
<targetPath>public/res</targetPath> | |
<includes> | |
<include>common_ts/*.ts</include> | |
</includes> | |
</resource> | |
</resources> | |
</build> | |
<dependencies> | |
<dependency> | |
<groupId>com.sparkjava</groupId> | |
<artifactId>spark-core</artifactId> | |
<version>2.9.3</version> | |
</dependency> | |
<dependency> | |
<groupId>io.pebbletemplates</groupId> | |
<artifactId>pebble</artifactId> | |
<version>3.1.5</version> | |
</dependency> | |
<dependency> | |
<groupId>mysql</groupId> | |
<artifactId>mysql-connector-java</artifactId> | |
<!-- TODO remove all uses of resultSet.first() and upgrade this --> | |
<version>8.0.18</version> | |
</dependency> | |
<dependency> | |
<groupId>org.jetbrains</groupId> | |
<artifactId>annotations</artifactId> | |
<version>23.0.0</version> | |
<scope>compile</scope> | |
</dependency> | |
<dependency> | |
<!-- jsoup HTML parser library @ https://jsoup.org/ --> | |
<groupId>org.jsoup</groupId> | |
<artifactId>jsoup</artifactId> | |
<version>1.14.3</version> | |
</dependency> | |
<dependency> | |
<groupId>com.squareup.okhttp3</groupId> | |
<artifactId>okhttp</artifactId> | |
<version>3.14.9</version> | |
</dependency> | |
<dependency> | |
<groupId>org.junit.jupiter</groupId> | |
<artifactId>junit-jupiter</artifactId> | |
<version>5.8.2</version> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.slf4j</groupId> | |
<artifactId>slf4j-simple</artifactId> | |
<version>1.7.36</version> | |
</dependency> | |
<dependency> | |
<groupId>javax.mail</groupId> | |
<artifactId>mail</artifactId> | |
<version>1.5.0-b01</version> | |
</dependency> | |
<dependency> | |
<groupId>com.google.code.gson</groupId> | |
<artifactId>gson</artifactId> | |
<version>2.9.0</version> | |
</dependency> | |
<dependency> | |
<groupId>cz.jirutka.unidecode</groupId> | |
<artifactId>unidecode</artifactId> | |
<version>1.0.1</version> | |
</dependency> | |
<dependency> | |
<groupId>net.java.dev.jna</groupId> | |
<artifactId>jna</artifactId> | |
<version>5.11.0</version> | |
</dependency> | |
</dependencies> | |
</project> |