Java rewrite - step 1 - build with Maven (#431)
* Add root and parent pom.xml files * parent: add scala-maven-plugin to pluginManagement * fix packaging * domain: add module * parent,domain: add dependencies * maven: add filesystem module * parent: disable coverage and pitest * domain: move classes from test to main as they are used in filesystem * config: add module * console: add module * Add reactor-graph * fix typo * uishell: add module * Restore explicit dependencies Don’t depend upon transitive dependencies if we want to be able to restructure module dependencies. * storage: add module * lib: add module Included adding a Resource case class in filesystem to replace one generated by a scala plugin * storage-aws: add module * cli: add module * app: add module * app: make jar runnable * Updated build instructions in README * Convert readme to markdown * Add reactor graph to readme * Switch Guthub Actions to using Maven to build
This commit is contained in:
parent
ab72522379
commit
baea18f3f3
26 changed files with 1134 additions and 53 deletions
41
.github/GitHub-Actions.org
vendored
Normal file
41
.github/GitHub-Actions.org
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
* Deploying using Github Actions
|
||||
|
||||
** Actions definition: workflow/sonatype-deploy.yml
|
||||
|
||||
When a GitHub Release is created, usually from a tag, this action will trigger.
|
||||
|
||||
Using JDK8 the software will be packaged, including running any tests.
|
||||
|
||||
Then the Deploy script will sign the created artifacts then deploy them according to the distributionManagement configuration in the `pom.xml`.
|
||||
|
||||
** Deploy Script
|
||||
|
||||
Uses a signing key provided from the GitHub Actions Secrets as an environment variable to sign the artifact(s) before they are then deployed.
|
||||
|
||||
*** Inputs
|
||||
|
||||
**** DEPLOY_PROJECTS (optional)
|
||||
|
||||
An optional list of modules in a multi-module project to be deployed. If this value is not specified, then all projects will be deployed.
|
||||
|
||||
** Maven Configuration
|
||||
|
||||
Picks up the credentials from Environment variables for authenticating both with GPG and with the target deployment server (e.g. sonatype-nexus).
|
||||
|
||||
*** Inputs
|
||||
|
||||
**** NEXUS_USERNAME
|
||||
|
||||
The username for your account on the deployment server.
|
||||
|
||||
**** NEXUS_PASSWORD
|
||||
|
||||
The password for your account on the deployement server.
|
||||
|
||||
**** GPG_KEYNAME
|
||||
|
||||
The key to use when signing.
|
||||
|
||||
**** GPG_PASSPHRASE
|
||||
|
||||
The passphrase to unlock the key to use when signing.
|
53
.github/NOTES
vendored
Normal file
53
.github/NOTES
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
Add subkeys:
|
||||
|
||||
????
|
||||
|
||||
Publish:
|
||||
|
||||
gpg --send-keys --keyserver keyserver.ubuntu.com $KEYID
|
||||
gpg --send-keys --keyserver pgp.mit.edu $KEYID
|
||||
gpg --send-keys --keyserver pool.sks-keyservers.net $KEYID
|
||||
|
||||
Backup:
|
||||
|
||||
gpg --export --armor pcampbell@kemitix.net > gpg-key-backup.asc
|
||||
gpg --export-secret-keys --armor pcampbell@kemitix.net >> gpg-key-backup.asc
|
||||
|
||||
Export sub-keys:
|
||||
|
||||
gpg --export-secret-subkeys pcampbell@kemitix.net > subkeys
|
||||
|
||||
Remove master keys:
|
||||
|
||||
gpg --delete-secret-key pcampbell@kemitix.net
|
||||
|
||||
Import sub-keys and clean up:
|
||||
|
||||
gpg --import subkeys
|
||||
|
||||
shred --remove subkeys
|
||||
|
||||
Delete any encryption subkeys:
|
||||
|
||||
gpg --edit-key pcampbell@kemitix.net
|
||||
|
||||
2
|
||||
delkey
|
||||
save
|
||||
|
||||
Change passphrase:
|
||||
|
||||
gpg --edit-key pcampbell@kemitix.net
|
||||
passwd
|
||||
save
|
||||
|
||||
Export keys:
|
||||
|
||||
gpg --export --armor pcampbell@kemitix.net > codesigning.asc
|
||||
gpg --export-secret-keys --armor pcampbell@kemitix.net >> codesigning.asc
|
||||
|
||||
Encrypt keys:
|
||||
|
||||
gpg --symmetric --cipher-algo AES256 codesigning.asc
|
||||
|
||||
shred codesigning.asc
|
BIN
.github/codesigning.asc.gpg
vendored
Normal file
BIN
.github/codesigning.asc.gpg
vendored
Normal file
Binary file not shown.
28
.github/settings.xml
vendored
Normal file
28
.github/settings.xml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0">
|
||||
<servers>
|
||||
<server>
|
||||
<id>sonatype-nexus-snapshots</id>
|
||||
<username>${env.NEXUS_USERNAME}</username>
|
||||
<password>${env.NEXUS_PASSWORD}</password>
|
||||
</server>
|
||||
<server>
|
||||
<id>sonatype-nexus-staging</id>
|
||||
<username>${env.NEXUS_USERNAME}</username>
|
||||
<password>${env.NEXUS_PASSWORD}</password>
|
||||
</server>
|
||||
</servers>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>gpg-sign</id>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
</activation>
|
||||
<properties>
|
||||
<gpg.executable>gpg</gpg.executable>
|
||||
<gpg.keyname>${env.GPG_KEYNAME}</gpg.keyname>
|
||||
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
</settings>
|
26
.github/workflows/maven-build.yml
vendored
Normal file
26
.github/workflows/maven-build.yml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
# This workflow will build a Java project with Maven
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||
|
||||
name: maven
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: '*'
|
||||
pull_request:
|
||||
branches: '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
java: [ 8 ]
|
||||
steps:
|
||||
- uses: kamiazya/setup-graphviz@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: setup-jdk-${{ matrix.java }}
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: ${{ matrix.java }}
|
||||
- name: build-jar
|
||||
run: mvn -B install
|
21
.github/workflows/scala.yml
vendored
21
.github/workflows/scala.yml
vendored
|
@ -1,21 +0,0 @@
|
|||
name: Scala CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: '*'
|
||||
pull_request:
|
||||
branches: '*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Build with Scala Build Tool
|
||||
run: sbt test
|
38
.github/workflows/sonatype-deploy.yml
vendored
Normal file
38
.github/workflows/sonatype-deploy.yml
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
name: Deploy to Sonatype Nexus
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Build with Maven
|
||||
run: mvn -B install
|
||||
- name: Nexus Repo Publish
|
||||
run: |
|
||||
gpg --quiet \
|
||||
--batch \
|
||||
--yes \
|
||||
--decrypt \
|
||||
--passphrase="${{ secrets.GPG_PASSPHRASE }}" \
|
||||
--output codesigning.asc \
|
||||
.github/codesigning.asc.gpg
|
||||
gpg --batch \
|
||||
--fast-import codesigning.asc
|
||||
mvn --settings .github/settings.xml \
|
||||
-Dskip-Tests=true \
|
||||
-P release \
|
||||
-B \
|
||||
deploy
|
||||
env:
|
||||
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
||||
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
|
||||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
|
@ -1,20 +1,18 @@
|
|||
* thorp
|
||||
# thorp
|
||||
|
||||
Synchronisation of files with S3 using the hash of the file contents.
|
||||
|
||||
[[https://www.codacy.com/app/kemitix/thorp][file:https://img.shields.io/codacy/grade/c1719d44f1f045a8b71e1665a6d3ce6c.svg?style=for-the-badge]]
|
||||
[[https://search.maven.org/search?q=net.kemitix.thorp][file:https://img.shields.io/maven-central/v/net.kemitix.thorp/thorp_2.12.svg?style=for-the-badge]]
|
||||
[![Maven Central](https://img.shields.io/maven-central/v/net.kemitix.thorp/thorp_2.12.svg?style=for-the-badge)](https://search.maven.org/search?q=net.kemitix.thorp)
|
||||
|
||||
Originally based on Alex Kudlick's [[https://github.com/akud/aws-s3-sync-by-hash][aws-s3-sync-by-hash]].
|
||||
Originally based on Alex Kudlick's [aws-s3-sync-by-hash](https://github.com/akud/aws-s3-sync-by-hash).
|
||||
|
||||
The normal ~aws s3 sync ...~ command only uses the time stamp of files
|
||||
The normal `aws s3 sync ...` command only uses the time stamp of files
|
||||
to decide what files need to be copied. This utility looks at the md5
|
||||
hash of the file contents.
|
||||
|
||||
* Usage
|
||||
# Usage
|
||||
|
||||
#+begin_example
|
||||
thorp
|
||||
$ thorp
|
||||
Usage: thorp [options]
|
||||
|
||||
-V, --version Display the version and quit
|
||||
|
@ -28,65 +26,66 @@ hash of the file contents.
|
|||
-d, --debug Enable debug logging
|
||||
--no-global Ignore global configuration
|
||||
--no-user Ignore user configuration
|
||||
#+end_example
|
||||
|
||||
If you don't provide a ~source~ the current diretory will be used.
|
||||
If you don't provide a `source` the current directory will be used.
|
||||
|
||||
The ~--include~ and ~--exclude~ parameters can be used more than once.
|
||||
The `--include` and `--exclude` parameters can be used more than once.
|
||||
|
||||
The ~--source~ parameter can be used more than once, in which case,
|
||||
The `--source` parameter can be used more than once, in which case,
|
||||
all files in all sources will be consolidated into the same
|
||||
bucket/prefix.
|
||||
|
||||
** Batch mode
|
||||
## Batch mode
|
||||
|
||||
Batch mode disable the ANSI console display and logs simple messages
|
||||
that can be written to a file.
|
||||
|
||||
* Configuration
|
||||
# Configuration
|
||||
|
||||
Configuration will be read from these files:
|
||||
|
||||
- Global: ~/etc/thorp.conf~
|
||||
- User: ~ ~/.config/thorp.conf~
|
||||
- Source: ~${source}/.thorp.conf~
|
||||
- Global: `/etc/thorp.conf`
|
||||
- User: `~/.config/thorp.conf`
|
||||
- Source: `${source}/.thorp.conf`
|
||||
|
||||
Command line arguments override those in Source, which override
|
||||
those in User, which override those Global, which override any
|
||||
built-in config.
|
||||
|
||||
When there is more than one source, only the first ".thorp.conf"
|
||||
When there is more than one source, only the first `.thorp.conf`
|
||||
file found will be used.
|
||||
|
||||
Built-in config consists of using the current working directory as
|
||||
the ~source~.
|
||||
the `source`.
|
||||
|
||||
Note, that ~include~ and ~exclude~ are cumulative across all
|
||||
configuration files.
|
||||
|
||||
* Caching
|
||||
# Caching
|
||||
|
||||
The last modified time for files is used to decide whether to calculate the hash values for the file. If a file has not been updated, then the hash values stored in the `.thorp.cache` file located in the root of the source is used. Otherwise the file will be read to caculate the the new hashes.
|
||||
|
||||
* Behaviour
|
||||
# Behaviour
|
||||
|
||||
When considering a local file, the following table governs what should happen:
|
||||
|
||||
|---+------------+------------+------------------+--------------------+---------------------|
|
||||
| # | local file | remote key | hash of same key | hash of other keys | action |
|
||||
|---+------------+------------+------------------+--------------------+---------------------|
|
||||
|---|------------|------------|------------------|--------------------|---------------------|
|
||||
| 1 | exists | exists | matches | - | do nothing |
|
||||
| 2 | exists | is missing | - | matches | copy from other key |
|
||||
| 3 | exists | is missing | - | no matches | upload |
|
||||
| 4 | exists | exists | no match | matches | copy from other key |
|
||||
| 5 | exists | exists | no match | no matches | upload |
|
||||
| 6 | is missing | exists | - | - | delete |
|
||||
|---+------------+------------+------------------+--------------------+---------------------|
|
||||
|
||||
* Executable JAR
|
||||
# Executable JAR
|
||||
|
||||
To build as an executable jar, perform `sbt assembly`
|
||||
To build as an executable jar, perform `mvn package`
|
||||
|
||||
This will create the file `cli/target/scala-2.13/thorp`
|
||||
This will create the file `app/target/thorp-${version}-jar-with-dependencies.jar`
|
||||
|
||||
Copy this file to your `PATH`.
|
||||
Copy and rename this file into your `PATH`.
|
||||
|
||||
# Structure/Dependencies
|
||||
|
||||
![Dependency Graph](docs/images/reactor-graph.png)
|
100
app/pom.xml
Normal file
100
app/pom.xml
Normal file
|
@ -0,0 +1,100 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp</artifactId>
|
||||
<name>thorp</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-cli</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-lib</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-storage</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-storage-aws</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-uishell</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- command line parsing -->
|
||||
<dependency>
|
||||
<groupId>com.github.scopt</groupId>
|
||||
<artifactId>scopt_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- eip-zio -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix</groupId>
|
||||
<artifactId>eip-zio_2.13</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<configuration>
|
||||
<descriptorRefs>
|
||||
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||
</descriptorRefs>
|
||||
<archive>
|
||||
<manifest>
|
||||
<mainClass>net.kemitix.thorp.Main</mainClass>
|
||||
</manifest>
|
||||
</archive>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -22,7 +22,8 @@ import scala.io.AnsiColor.{WHITE, RESET}
|
|||
|
||||
trait Program {
|
||||
|
||||
lazy val version = s"${WHITE}Thorp v${thorp.BuildInfo.version}$RESET"
|
||||
val version = "0.11.0"
|
||||
lazy val versionLabel = s"${WHITE}Thorp v${version}$RESET"
|
||||
|
||||
def run(args: List[String]): ZIO[
|
||||
Storage with Console with Config with Clock with FileSystem with Hasher with FileScanner,
|
||||
|
@ -32,7 +33,7 @@ trait Program {
|
|||
cli <- CliArgs.parse(args)
|
||||
config <- ConfigurationBuilder.buildConfig(cli)
|
||||
_ <- Config.set(config)
|
||||
_ <- Console.putStrLn(version)
|
||||
_ <- Console.putStrLn(versionLabel)
|
||||
_ <- ZIO.when(!showVersion(cli))(executeWithUI.catchAll(handleErrors))
|
||||
} yield ()
|
||||
}
|
||||
|
|
53
cli/pom.xml
Normal file
53
cli/pom.xml
Normal file
|
@ -0,0 +1,53 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-cli</artifactId>
|
||||
<name>cli</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - testing -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
69
config/pom.xml
Normal file
69
config/pom.xml
Normal file
|
@ -0,0 +1,69 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-config</artifactId>
|
||||
<name>config</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- command line parsing -->
|
||||
<dependency>
|
||||
<groupId>com.github.scopt</groupId>
|
||||
<artifactId>scopt_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- zio -->
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio_2.13</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio-streams_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - testing -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
47
console/pom.xml
Normal file
47
console/pom.xml
Normal file
|
@ -0,0 +1,47 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-console</artifactId>
|
||||
<name>console</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- zio -->
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio_2.13</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio-streams_2.13</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
BIN
docs/images/reactor-graph.png
Normal file
BIN
docs/images/reactor-graph.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 299 KiB |
59
domain/pom.xml
Normal file
59
domain/pom.xml
Normal file
|
@ -0,0 +1,59 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
<name>domain</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- eip-zio -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix</groupId>
|
||||
<artifactId>eip-zio_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- zio -->
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio_2.13</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio-streams_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - testing -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
59
filesystem/pom.xml
Normal file
59
filesystem/pom.xml
Normal file
|
@ -0,0 +1,59 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
<name>filesystem</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- zio -->
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio_2.13</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio-streams_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - testing -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,15 @@
|
|||
package net.kemitix.thorp.filesystem
|
||||
|
||||
import java.io.File
|
||||
import java.nio.file.{Path, Paths}
|
||||
|
||||
final case class Resource(
|
||||
cls: Object,
|
||||
file: String
|
||||
) {
|
||||
|
||||
def toPath: Path = Paths.get(cls.getClass.getResource(file).getPath)
|
||||
def toFile: File = toPath.toFile
|
||||
def getCanonicalPath: String = toPath.toFile.getCanonicalPath
|
||||
def length: Long = toFile.length()
|
||||
}
|
71
lib/pom.xml
Normal file
71
lib/pom.xml
Normal file
|
@ -0,0 +1,71 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-lib</artifactId>
|
||||
<name>lib</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-console</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-storage</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- command line parsing -->
|
||||
<dependency>
|
||||
<groupId>com.github.scopt</groupId>
|
||||
<artifactId>scopt_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - testing -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
183
parent/pom.xml
Normal file
183
parent/pom.xml
Normal file
|
@ -0,0 +1,183 @@
|
|||
<?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>net.kemitix</groupId>
|
||||
<artifactId>kemitix-parent</artifactId>
|
||||
<version>5.3.0</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<scala-maven-plugin.version>4.4.0</scala-maven-plugin.version>
|
||||
<tiles-maven-plugin.version>2.16</tiles-maven-plugin.version>
|
||||
<kemitix-maven-tiles.version>2.7.0</kemitix-maven-tiles.version>
|
||||
<scala-library.version>2.13.0</scala-library.version>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-config</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-console</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-uishell</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-storage</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-lib</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-storage-aws</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-cli</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-app</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
<version>${scala-library.version}</version>
|
||||
</dependency>
|
||||
<!-- scala - zio -->
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio_2.13</artifactId>
|
||||
<version>1.0.0-RC16</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio-streams_2.13</artifactId>
|
||||
<version>1.0.0-RC16</version>
|
||||
</dependency>
|
||||
<!-- scala - eip-zio -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix</groupId>
|
||||
<artifactId>eip-zio_2.13</artifactId>
|
||||
<version>0.3.2</version>
|
||||
</dependency>
|
||||
<!-- scala - command line parsing -->
|
||||
<dependency>
|
||||
<groupId>com.github.scopt</groupId>
|
||||
<artifactId>scopt_2.13</artifactId>
|
||||
<version>4.0.0-RC2</version>
|
||||
</dependency>
|
||||
<!-- scala - test -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<version>3.0.8</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<version>4.4.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
<version>${scala-maven-plugin.version}</version>
|
||||
<configuration>
|
||||
<args>
|
||||
<arg>-Ywarn-unused:imports</arg>
|
||||
<arg>-Xfatal-warnings</arg>
|
||||
<arg>-feature</arg>
|
||||
<arg>-deprecation</arg>
|
||||
<arg>-unchecked</arg>
|
||||
<arg>-language:postfixOps</arg>
|
||||
<arg>-language:higherKinds</arg>
|
||||
</args>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>scala-compile-first</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals>
|
||||
<goal>add-source</goal>
|
||||
<goal>compile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>scala-test-compile</id>
|
||||
<phase>process-test-resources</phase>
|
||||
<goals>
|
||||
<goal>testCompile</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.repaint.maven</groupId>
|
||||
<artifactId>tiles-maven-plugin</artifactId>
|
||||
<version>${tiles-maven-plugin.version}</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<tiles>
|
||||
<tile>net.kemitix.tiles:maven-plugins:${kemitix-maven-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:enforcer:${kemitix-maven-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:compiler-jdk-8:${kemitix-maven-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:huntbugs:${kemitix-maven-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:pmd:${kemitix-maven-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:digraph:${kemitix-maven-tiles.version}</tile>
|
||||
<tile>net.kemitix.tiles:testing:${kemitix-maven-tiles.version}</tile>
|
||||
<!-- <tile>net.kemitix.tiles:coverage:${kemitix-maven-tiles.version}</tile>-->
|
||||
<!-- <tile>net.kemitix.tiles:pitest:${kemitix-maven-tiles.version}</tile>-->
|
||||
</tiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
53
pom.xml
Normal file
53
pom.xml
Normal file
|
@ -0,0 +1,53 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-root</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<modules>
|
||||
<module>parent</module>
|
||||
<module>domain</module>
|
||||
<module>filesystem</module>
|
||||
<module>config</module>
|
||||
<module>console</module>
|
||||
<module>uishell</module>
|
||||
<module>storage</module>
|
||||
<module>lib</module>
|
||||
<module>storage-aws</module>
|
||||
<module>cli</module>
|
||||
<module>app</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
<maven-graph-plugin.version>1.45</maven-graph-plugin.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.fusesource.mvnplugins</groupId>
|
||||
<artifactId>maven-graph-plugin</artifactId>
|
||||
<version>${maven-graph-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>reactor</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<direction>TB</direction>
|
||||
<hideTransitive>true</hideTransitive>
|
||||
<hideVersion>true</hideVersion>
|
||||
<hideOptional>true</hideOptional>
|
||||
<hideScopes>test,provided</hideScopes>
|
||||
<target>${project.basedir}/docs/images/reactor-graph.png</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
83
storage-aws/pom.xml
Normal file
83
storage-aws/pom.xml
Normal file
|
@ -0,0 +1,83 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-storage-aws</artifactId>
|
||||
<name>storage-aws</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-storage</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-console</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-lib</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- aws-sdk -->
|
||||
<dependency>
|
||||
<groupId>com.amazonaws</groupId>
|
||||
<artifactId>aws-java-sdk-s3</artifactId>
|
||||
<version>1.11.792</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.10.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
||||
<artifactId>jackson-dataformat-cbor</artifactId>
|
||||
<version>2.10.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
<artifactId>jaxb-api</artifactId>
|
||||
<version>2.3.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - testing -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -25,8 +25,8 @@ class UploaderTest extends FreeSpec with MockFactory {
|
|||
val uiChannel: UChannel[Any, UIEvent] = zioMessage => ()
|
||||
|
||||
"upload" - {
|
||||
val aSource: File = Resource(this, "")
|
||||
val aFile: File = Resource(this, "small-file")
|
||||
val aSource: File = Resource(this, "").toFile
|
||||
val aFile: File = Resource(this, "small-file").toFile
|
||||
val aHash = MD5Hash("aHash")
|
||||
val hashes = Map[HashType, MD5Hash](MD5 -> aHash)
|
||||
val remoteKey = RemoteKey("aRemoteKey")
|
||||
|
|
51
storage/pom.xml
Normal file
51
storage/pom.xml
Normal file
|
@ -0,0 +1,51 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-storage</artifactId>
|
||||
<name>storage</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-uishell</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-domain</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- zio -->
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio_2.13</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio-streams_2.13</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
73
uishell/pom.xml
Normal file
73
uishell/pom.xml
Normal file
|
@ -0,0 +1,73 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-parent</artifactId>
|
||||
<version>DEV-SNAPSHOT</version>
|
||||
<relativePath>../parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>thorp-uishell</artifactId>
|
||||
<name>uishell</name>
|
||||
|
||||
<dependencies>
|
||||
<!-- thorp -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-console</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.kemitix.thorp</groupId>
|
||||
<artifactId>thorp-filesystem</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala -->
|
||||
<dependency>
|
||||
<groupId>org.scala-lang</groupId>
|
||||
<artifactId>scala-library</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- eip-zio -->
|
||||
<dependency>
|
||||
<groupId>net.kemitix</groupId>
|
||||
<artifactId>eip-zio_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- zio -->
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio_2.13</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dev.zio</groupId>
|
||||
<artifactId>zio-streams_2.13</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- scala - testing -->
|
||||
<dependency>
|
||||
<groupId>org.scalatest</groupId>
|
||||
<artifactId>scalatest_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.scalamock</groupId>
|
||||
<artifactId>scalamock_2.13</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>scala-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
Loading…
Reference in a new issue