summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJannis M. Hoffmann <jannis.hoffmann@rwth-aachen.de>2022-05-22 15:39:00 +0200
committerJannis M. Hoffmann <jannis.hoffmann@rwth-aachen.de>2022-05-22 15:39:00 +0200
commit1f11775ff8ea42ac1d9c8d1e54628a9e5935d18d (patch)
tree59923d8b8c00a350f7f30c8bbdd53d34276b5b45
parent6ed400461bb2429a5818c58a0a5b92f555700edc (diff)
improved build process
-rw-r--r--MANIFEST6
-rw-r--r--MANIFEST.SKIP5
-rw-r--r--Makefile.PL18
-rw-r--r--README.md49
-rwxr-xr-xactions.sh8
-rwxr-xr-xscript/qmauth.pl2
6 files changed, 69 insertions, 19 deletions
diff --git a/MANIFEST b/MANIFEST
index 0293df1..49c28e4 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -8,6 +8,7 @@ lib/JWebmail/I18N/de.pm
lib/JWebmail/I18N/en.pm
lib/JWebmail/Model/ReadMails/Role.pm
lib/JWebmail/Model/ReadMails/MockMaildir.pm
+lib/JWebmail/Model/ReadMails/MockJSON.pm
lib/JWebmail/Model/ReadMails/QMailAuthuser.pm
lib/JWebmail/Model/WriteMails.pm
lib/JWebmail/Plugin/Helper.pm
@@ -37,7 +38,7 @@ templates/error.html.ep
public/style.css
-jwebmail.conf
+jwebmail.toml
README.md
CHANGES.md
@@ -47,3 +48,6 @@ actions.sh
Makefile.PL
MANIFEST
+MANIFEST.SKIP
+MYMETA.yml
+MYMETA.json
diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP
new file mode 100644
index 0000000..92eef71
--- /dev/null
+++ b/MANIFEST.SKIP
@@ -0,0 +1,5 @@
+extract/
+log/
+.git/
+.gitignore
+.vscode/settings.json
diff --git a/Makefile.PL b/Makefile.PL
index 6e1ef4c..312fb5a 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -2,20 +2,34 @@ use ExtUtils::MakeMaker;
WriteMakefile(
AUTHOR => '"Jannis M. Hoffmann" <jannis@fehcom.de>',
+ ABSTRACT_FROM => 'lib/JWebmail.pm',
MIN_PERL_VERSION => 'v5.22',
NAME => 'JWebmail',
VERSION_FROM => 'lib/JWebmail.pm',
LICENSE => 'gpl_3',
PREREQ_PM => {
Mojolicious => '9.19',
- Crypt::URandom => 'v0.36',
+ Crypt::URandom => '0.36',
Digest::HMAC_MD5 => '1.04',
Email::MIME => '1.949',
Mail::Box::Manager => 'v3.9',
Role::Tiny => 'v2.2',
- Class::Method::Modifiers => 'v2.13',
+ Class::Method::Modifiers => '2.13',
TOML::Tiny => '0.15',
namespace::clean => '0.27',
},
+ EXE_FILES => ['script/jwebmail', 'script/qmauth.pl'],
test => {TESTS => 't/*.t'},
+ META_MERGE => {
+ 'meta-spec' => { version => 2 },
+ resources => {
+ bugtracker => {web => 'https://github.com/D1CED/JWebmail/issues'},
+ repository => {
+ type => 'git',
+ url => 'git://github.com/D1CED/JWebmail.git',
+ web => 'https://github.com/D1CED/JWebmail',
+ },
+ },
+ },
)
+
diff --git a/README.md b/README.md
index 0040006..06185ec 100644
--- a/README.md
+++ b/README.md
@@ -79,43 +79,62 @@ matching have been published. No need to monkey_patch and it works well enough.
## Concepts
Logging Mojo::Log
+ Object system Mojo::Base and Role::Tiny
+ Exceptions
+ Configuration Plugin::INIConfig
+ Static server Mojolicious::Static
+ Application server
+ (De-)Serialization
+
+ # Controller
Router Mojolicious::Routes
Middleware (auth) Mojo under
Controller/Handler Mojolicious::Controller
- Templates Mojolicious::Renderer (format ep)
+ HTTP Req/Resp
Sessions Mojo::Sessions (cookies) and Plugin::ServerSideSessionData
- Flash Mojo
Validation Mojo::Validator
- MIME handling
- Static server Mojolicious::Static
- Maildir client
- Object system Mojo::Base and Role::Tiny
- Exceptions
- Frontend code
- Configuration Plugin::INIConfig
+
+ # View
+ Templates Plugin::EPRenderer
+ View extensions Mojolicious::Renderer
Pagination self developed
I18N Plugin::I18N2
+ CSS Framework Pure CSS
+ Frontend crypto (for CRAM)
+ # Model
+ Maildir client
+ Mail sending
+
+ # Development
+ Testing prove/Test::More
Debug printing Data::Dumper
- Development server Mojo
+ Development server Mojo::Morbo
Frontend package manager NPM
+ Frontend build tool esbuild
Backend package manager CPAN
+ Backend build tool ExtUtils::MakeMaker
+ Task runner action.sh
Dependencies
------------
-- M & V
- - Mojolicious
- - Config::Tiny
- - Crypt::URandom
-- C
+- Role::Tiny
+ - Class::Metod::Modifiers
+- Mojolicious
+- Config::Tiny
+- Crypt::URandom
+- Digest::HMAC_MD5
+- (for Model)
- Mail::Box::Manager
- Email::MIME
## Architecture
+Process overview
+
Webserver <--> Application
Server
|
diff --git a/actions.sh b/actions.sh
index 400feae..2c37cc2 100755
--- a/actions.sh
+++ b/actions.sh
@@ -12,6 +12,14 @@ install () {
make install
}
+help_text="$help_text dist\t[]\tcreate a source distribution\n"
+dist () {
+ perl Makefile.PL
+ make
+ make test
+ make dist
+}
+
help_text="$help_text run_tests\t[arg]\tpasses arg to the 'prove' tool\n"
run_tests () {
eval "prove -l ${1-} t/"
diff --git a/script/qmauth.pl b/script/qmauth.pl
index 5bc7bb5..3ecadef 100755
--- a/script/qmauth.pl
+++ b/script/qmauth.pl
@@ -245,7 +245,7 @@ sub move {
}
-main() if !caller;
+main unless caller;
1