Skip to content

Commit

Permalink
Migrate to play 2.6
Browse files Browse the repository at this point in the history
  • Loading branch information
KadekM committed Jul 10, 2017
1 parent 960bf23 commit c70869a
Show file tree
Hide file tree
Showing 11 changed files with 40 additions and 47 deletions.
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
language: scala
scala:
- 2.11.7
- 2.11.11
- 2.12.2

jdk:
- oraclejdk8
install: true
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ This plugin uses concepts from [Play20StartApp][] to make sending emails (text,

play-easymail is cross-tested with Java 1.6, Java 1.7 (Up to `0.6.x`) and Java 1.8 (from `0.7.0`)

* The `master` branch contains the code for Play! Framework 2.5.x (play-easymail version `0.8.0` and up).
* The `master` branch contains the code for Play! Framework 2.6.x (play-easymail version `0.9.0` and up).
* The `2.5.x` branch contains the code for 2.5.x (play-easymail version `0.8 - 0.8.x`).
* The `2.4.x` branch contains the code for 2.4.x (play-easymail version `0.7 - 0.7.x`).
* The `2.3.x` branch contains the code for 2.3.x (play-easymail version `0.6 - 0.6.x`).
* The `2.2.x` branch contains the code for 2.2.x (play-easymail version `0.5 - 0.5.x`).
Expand Down
12 changes: 6 additions & 6 deletions code/app/com/feth/play/module/mail/DefaultMailer.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package com.feth.play.module.mail;

import javax.inject.Inject;
import javax.inject.Singleton;

import akka.actor.ActorSystem;
import play.Configuration;
import com.typesafe.config.Config;
import play.libs.mailer.MailerClient;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class DefaultMailer extends Mailer {
@Inject
public DefaultMailer(final Configuration configuration, final MailerClient mailClient,
final ActorSystem actorSystem) {
public DefaultMailer(final Config configuration, final MailerClient mailClient,
final ActorSystem actorSystem) {
super(configuration, configuration.getConfig(Configs.CONFIG_BASE), mailClient, actorSystem);
}

Expand Down
49 changes: 19 additions & 30 deletions code/app/com/feth/play/module/mail/Mailer.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
package com.feth.play.module.mail;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;

import javax.inject.Inject;

import com.google.inject.assistedinject.Assisted;

import akka.actor.ActorSystem;
import akka.actor.Cancellable;
import play.Configuration;
import com.google.inject.assistedinject.Assisted;
import com.typesafe.config.Config;
import play.libs.mailer.Email;
import play.libs.mailer.MailerClient;
import scala.concurrent.duration.Duration;
import scala.concurrent.duration.FiniteDuration;

import javax.inject.Inject;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;

public class Mailer implements IMailer {

public static class Configs {
Expand All @@ -40,7 +38,7 @@ public class SettingKeys {

protected final boolean includeXMailerHeader;

protected final Configuration configuration;
protected final Config configuration;

protected final MailerClient mailClient;

Expand All @@ -50,7 +48,7 @@ private String getVersion() {
return getConfiguration().getString(SettingKeys.VERSION);
}

private Configuration getConfiguration() {
private Config getConfiguration() {
return configuration.getConfig(Configs.CONFIG_BASE);
}

Expand All @@ -76,19 +74,19 @@ public static String getEmailName(final String email, final String name) {
}

@Inject
public Mailer(final Configuration configuration, @Assisted final Configuration mailerConfig,
final MailerClient mailClient, final ActorSystem actorSystem) {
public Mailer(final Config configuration, @Assisted final Config mailerConfig,
final MailerClient mailClient, final ActorSystem actorSystem) {
this.configuration = configuration;
this.mailClient = mailClient;
this.actorSystem = actorSystem;

this.delay = Duration.create(mailerConfig.getLong(SettingKeys.DELAY, 1L), TimeUnit.SECONDS);
this.delay = Duration.create(mailerConfig.getLong(SettingKeys.DELAY), TimeUnit.SECONDS);

final Configuration fromConfig = mailerConfig.getConfig(SettingKeys.FROM);
final Config fromConfig = mailerConfig.getConfig(SettingKeys.FROM);
this.sender = getEmailName(fromConfig.getString(SettingKeys.FROM_EMAIL),
fromConfig.getString(SettingKeys.FROM_NAME));

this.includeXMailerHeader = mailerConfig.getBoolean(SettingKeys.INCLUDE_XMAILER_HEADER, true);
this.includeXMailerHeader = mailerConfig.getBoolean(SettingKeys.INCLUDE_XMAILER_HEADER);
}

public static class Mail extends Email {
Expand Down Expand Up @@ -180,17 +178,8 @@ public Mail(final String subject, final Body body, final List<String> recipients
this(subject, body, recipients, cc, bcc, null, null);
}

public Mail(final String subject, final Body body, final List<String> recipients, final String replyTo) {
this(subject, body, recipients, null, null, null, replyTo);
}

public Mail(final String subject, final Body body, final List<String> recipients, final List<String> cc,
final String replyTo) {
this(subject, body, recipients, cc, null, null, replyTo);
}

public Mail(final String subject, final Body body, final List<String> recipients, final List<String> cc,
final List<String> bcc, final String replyTo) {
final List<String> bcc, final List<String> replyTo) {
this(subject, body, recipients, cc, bcc, null, replyTo);
}

Expand All @@ -210,7 +199,7 @@ public Mail(final String subject, final Body body, final List<String> recipients
}

public Mail(final String subject, final Body body, final List<String> recipients, final List<String> cc,
final List<String> bcc, final Map<String, List<String>> customHeaders, final String replyTo) {
final List<String> bcc, final Map<String, List<String>> customHeaders, final List<String> replyTo) {
if (subject == null || subject.trim().isEmpty()) {
throw new RuntimeException("Subject must not be null or empty");
}
Expand Down Expand Up @@ -269,7 +258,7 @@ public void run() {
}

public interface MailerFactory {
public Mailer create(final Configuration mailerConfig);
public Mailer create(final Config mailerConfig);
}

@Override
Expand Down
5 changes: 3 additions & 2 deletions code/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ organization := "com.feth"

name := "play-easymail"

scalaVersion := "2.11.7"
scalaVersion := "2.12.2"

libraryDependencies ++= Seq(
"com.typesafe.play" %% "play-mailer" % "5.0.0"
"com.typesafe.play" %% "play-mailer" % "6.0.0",
guice
)

lazy val root = (project in file(".")).enablePlugins(PlayJava)
Expand Down
2 changes: 1 addition & 1 deletion code/conf/reference.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# play-easymail default configuration
play-easymail {
version="0.8.2-SNAPSHOT"
version="0.9.0-SNAPSHOT"

# Whether to add the X-Mailer header or not
includeXMailerHeader=true
Expand Down
2 changes: 1 addition & 1 deletion code/project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=0.13.11
sbt.version=0.13.15
2 changes: 1 addition & 1 deletion code/project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ resolvers += "Typesafe Snapshots Repository" at "http://repo.typesafe.com/typesa
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % Option(System.getProperty("play.version")).getOrElse("2.5.1"))
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % Option(System.getProperty("play.version")).getOrElse("2.6.1"))

addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")

Expand Down
2 changes: 1 addition & 1 deletion code/version.sbt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
version in ThisBuild := "0.8.2-SNAPSHOT"
version in ThisBuild := "0.9.0-SNAPSHOT"
4 changes: 2 additions & 2 deletions samples/play-easymail-usage/build.sbt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
name := "play-easymail-usage"

scalaVersion := "2.11.7"
scalaVersion := "2.12.2"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
// Comment the next line for local development:
"com.feth" %% "play-easymail" % "0.8.2-SNAPSHOT"
"com.feth" %% "play-easymail" % "0.9.0-SNAPSHOT"
)
// Uncomment the next line for local development of the Play Easymail core:
//lazy val playEasymail = project.in(file("modules/play-easymail")).enablePlugins(PlayJava)
Expand Down
2 changes: 1 addition & 1 deletion samples/play-easymail-usage/project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ logLevel := Level.Warn
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % Option(System.getProperty("play.version")).getOrElse("2.5.1"))
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % Option(System.getProperty("play.version")).getOrElse("2.6.1"))

0 comments on commit c70869a

Please sign in to comment.