Skip to content

Commit ab443e6

Browse files
committedJan 26, 2016
Preparing first release
1 parent 4406086 commit ab443e6

File tree

5 files changed

+287
-19
lines changed

5 files changed

+287
-19
lines changed
 

‎.travis.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
language: java
2+
3+
sudo: false # faster builds
4+
5+
jdk:
6+
- oraclejdk8
7+
8+
install:
9+
true
10+
11+
before_script:
12+
- pip install --user codecov
13+
- curl http://www.jpm4j.org/install/script | sh
14+
15+
script:
16+
- jdk_switcher use oraclejdk8
17+
- mvn -U -B -V test --fail-at-end -Dsource.skip=true -Dmaven.javadoc.skip=true
18+
19+
after_success:
20+
- jdk_switcher use oraclejdk8
21+
- mvn clean test jacoco:report coveralls:report
22+
- codecov --build "$TRAVIS_JOB_NUMBER-jdk8"
23+
24+
notifications:
25+
email:
26+
on_failure: change

‎CHANGELOG.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Change Log
2+
All notable changes to Spring-Boot-Email-Tools project will be documented in this file.
3+
This project adheres to [Semantic Versioning](http://semver.org/).
4+
5+
## [Unreleased]
6+
7+
8+
## [0.1.0] - 2016-01-26
9+
### Added
10+
- Basic implementation with an `EmailService` that may use the Freemarker template engine .

‎README.md

+19-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
11
# spring-boot-email-tools
22
A set of services and tools for sending emails in a **Spring Boot** application using *Freemarker* template engine.
33

4+
**Source Website:** *[github.com/robertotru/spring-boot-email-tools](http://github.com/robertotru/spring-boot-email-tools/)*<br />
5+
6+
**Latest Release:** *0.1.0*<br />
7+
**Latest Artifacts:** * com.github.robertotru:/spring-boot-email-tools* <br />
8+
**Continuous Integration:**<br />
9+
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/ com.github.robertotru/spring-boot-email-tools/badge.svg)](https://maven-badges.herokuapp.com/maven-central/ com.github.robertotru/spring-boot-email-tools)
10+
<br />
11+
[![Build Status](https://travis-ci.org/robertotru/spring-boot-email-tools.svg?branch=master)](https://travis-ci.org/robertotru/spring-boot-email-tools)
12+
[![Coverage Status](https://coveralls.io/repos/robertotru/spring-boot-email-tools/badge.svg?branch=master&service=github)](https://coveralls.io/github/robertotru/spring-boot-email-tools?branch=master)
13+
[![codecov.io](https://codecov.io/github/robertotru/spring-boot-email-tools/coverage.svg?branch=master)](https://codecov.io/github/robertotru/spring-boot-email-tools?branch=master)
14+
[![Codacy Badge](https://api.codacy.com/project/badge/grade/7a4364b93df6473fb18a597e900edceb)](https://www.codacy.com/app/roberto-trunfio/spring-boot-email-tools)
15+
16+
![codecov.io](https://codecov.io/github/robertotru/spring-boot-email-tools/branch.svg?branch=master)
17+
418

519
## Dependency
20+
Latest release is:
621

722
```xml
823
<dependency>
9-
<groupId>spring-boot-utils</groupId>
10-
<artifactId>spring-boot-email</artifactId>
11-
<version>${release-version}</version>
24+
<groupId>com.github.robertotru</groupId>
25+
<artifactId>spring-boot-email-tools</artifactId>
26+
<version>0.1.0</version>
1227
</dependency>
1328
```
1429

@@ -172,7 +187,7 @@ This is required to set the a proper content-id.
172187

173188
## Exception handling
174189

175-
This library uses Zalando's [Problems for Spring Web MVC library](https://github.com/zalando/problem-spring-web). To have an explicit handling of library specificy exceptions thrown by spring-boot-email-tools, just define your controller advice as follows.
190+
This library uses Zalando's [Problems for Spring Web MVC library](https://github.com/zalando/problem-spring-web). To have an explicit handling of library specificy exceptions thrown by spring-boot-email-tools, just define your controller advice as follows.
176191
177192
```java
178193
@ControllerAdvice

‎pom.xml

+174-15
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,50 @@
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66

7-
<groupId>spring-boot-utils</groupId>
8-
<artifactId>spring-boot-email</artifactId>
7+
<groupId>com.github.robertotru</groupId>
8+
<artifactId>spring-boot-email-tools</artifactId>
99
<packaging>jar</packaging>
10-
<version>0.0.1-SNAPSHOT</version>
10+
<version>0.1.0-SNAPSHOT</version>
11+
1112
<name>SpringBootEmail</name>
1213
<description>Utilities to deal with emails in Spring Boot using Freemarker templating</description>
1314

1415
<parent>
1516
<groupId>org.springframework.boot</groupId>
1617
<artifactId>spring-boot-starter-parent</artifactId>
17-
<version>1.2.7.RELEASE</version>
18+
<version>1.3.2.RELEASE</version>
1819
<relativePath/>
1920
</parent>
2021

22+
<inceptionYear>2015</inceptionYear>
23+
24+
<url>https://github.com/robertotru/spring-boot-email-tools</url>
25+
<scm>
26+
<connection>scm:git:git@github.com:robertotru/spring-boot-email-tools.git</connection>
27+
<developerConnection>scm:git:git@github.com:robertotru/spring-boot-email-tools.git</developerConnection>
28+
<url>https://github.com/robertotru/spring-boot-email-tools</url>
29+
</scm>
30+
<issueManagement>
31+
<system>GitHub Issue Tracking</system>
32+
<url/>
33+
</issueManagement>
34+
<licenses>
35+
<license>
36+
<name>The Apache License, Version 2.0</name>
37+
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
38+
<distribution>repo</distribution>
39+
</license>
40+
</licenses>
41+
42+
<properties>
43+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
44+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
45+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
46+
<java.version>1.8</java.version>
47+
<maven.compiler.source>1.8</maven.compiler.source>
48+
<maven.compiler.target>1.8</maven.compiler.target>
49+
</properties>
50+
2151
<developers>
2252
<developer>
2353
<id>rtrunfio</id>
@@ -32,15 +62,6 @@
3262
</developer>
3363
</developers>
3464

35-
<properties>
36-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
37-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
38-
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
39-
<java.version>1.8</java.version>
40-
<maven.compiler.source>1.8</maven.compiler.source>
41-
<maven.compiler.target>1.8</maven.compiler.target>
42-
</properties>
43-
4465
<dependencies>
4566
<dependency>
4667
<groupId>org.springframework.boot</groupId>
@@ -79,7 +100,7 @@
79100
<dependency>
80101
<groupId>com.google.guava</groupId>
81102
<artifactId>guava</artifactId>
82-
<version>18.0</version>
103+
<version>19.0</version>
83104
</dependency>
84105

85106
<!-- Boilerplate code killer -->
@@ -103,9 +124,29 @@
103124
<version>1.6.3</version>
104125
<scope>test</scope>
105126
</dependency>
106-
127+
<dependency>
128+
<groupId>it.ozimov</groupId>
129+
<artifactId>java8-hamcrest-matchers</artifactId>
130+
<version>0.3.0</version>
131+
<scope>test</scope>
132+
</dependency>
107133
</dependencies>
108134

135+
136+
<prerequisites>
137+
<maven>3.0.4</maven>
138+
</prerequisites>
139+
140+
<distributionManagement>
141+
<snapshotRepository>
142+
<id>ossrh</id>
143+
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
144+
</snapshotRepository>
145+
<repository>
146+
<id>ossrh</id>
147+
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
148+
</repository>
149+
</distributionManagement>
109150
<build>
110151
<resources>
111152
<resource>
@@ -122,9 +163,127 @@
122163
<artifactId>maven-surefire-plugin</artifactId>
123164
<version>2.18.1</version>
124165
</plugin>
166+
<plugin>
167+
<groupId>org.jacoco</groupId>
168+
<artifactId>jacoco-maven-plugin</artifactId>
169+
<version>0.7.5.201505241946</version>
170+
<executions>
171+
<execution>
172+
<goals>
173+
<goal>prepare-agent</goal>
174+
</goals>
175+
</execution>
176+
<execution>
177+
<id>report</id>
178+
<phase>test</phase>
179+
<goals>
180+
<goal>report</goal>
181+
</goals>
182+
</execution>
183+
</executions>
184+
</plugin>
185+
186+
<!--Deploy plugins -->
187+
<plugin>
188+
<groupId>org.codehaus.mojo</groupId>
189+
<artifactId>versions-maven-plugin</artifactId>
190+
<version>2.2</version>
191+
<configuration>
192+
<generateBackupPoms>false</generateBackupPoms>
193+
</configuration>
194+
</plugin>
195+
<plugin>
196+
<groupId>org.apache.maven.plugins</groupId>
197+
<artifactId>maven-scm-plugin</artifactId>
198+
<version>1.9.4</version>
199+
<configuration>
200+
<pushChanges>false</pushChanges>
201+
<tag>${project.version}</tag>
202+
</configuration>
203+
</plugin>
125204
</plugins>
126205
</build>
127206

207+
<profiles>
208+
<profile>
209+
<id>disable-java8-doclint</id>
210+
<activation>
211+
<jdk>[1.8,)</jdk>
212+
</activation>
213+
<build>
214+
<plugins>
215+
<plugin>
216+
<groupId>org.apache.maven.plugins</groupId>
217+
<artifactId>maven-javadoc-plugin</artifactId>
218+
<version>2.10.3</version>
219+
<configuration>
220+
<additionalparam>-Xdoclint:none</additionalparam>
221+
</configuration>
222+
</plugin>
223+
</plugins>
224+
</build>
225+
</profile>
226+
<profile>
227+
<id>release</id>
228+
<build>
229+
<plugins>
230+
<plugin>
231+
<groupId>org.apache.maven.plugins</groupId>
232+
<artifactId>maven-source-plugin</artifactId>
233+
<version>2.4</version>
234+
<executions>
235+
<execution>
236+
<id>attach-sources</id>
237+
<goals>
238+
<goal>jar-no-fork</goal>
239+
</goals>
240+
</execution>
241+
</executions>
242+
</plugin>
243+
<plugin>
244+
<groupId>org.apache.maven.plugins</groupId>
245+
<artifactId>maven-javadoc-plugin</artifactId>
246+
<version>2.10.3</version>
247+
<executions>
248+
<execution>
249+
<id>attach-javadocs</id>
250+
<goals>
251+
<goal>jar</goal>
252+
</goals>
253+
</execution>
254+
</executions>
255+
</plugin>
256+
<plugin>
257+
<groupId>org.apache.maven.plugins</groupId>
258+
<artifactId>maven-gpg-plugin</artifactId>
259+
<version>1.5</version>
260+
<executions>
261+
<execution>
262+
<id>sign-artifacts</id>
263+
<phase>verify</phase>
264+
<goals>
265+
<goal>sign</goal>
266+
</goals>
267+
</execution>
268+
</executions>
269+
</plugin>
270+
<plugin>
271+
<groupId>org.sonatype.plugins</groupId>
272+
<artifactId>nexus-staging-maven-plugin</artifactId>
273+
<version>1.6.6</version>
274+
<extensions>true</extensions>
275+
<configuration>
276+
<serverId>ossrh</serverId>
277+
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
278+
<autoReleaseAfterClose>true</autoReleaseAfterClose>
279+
</configuration>
280+
</plugin>
281+
</plugins>
282+
</build>
283+
</profile>
284+
</profiles>
285+
286+
128287
<repositories>
129288
<repository>
130289
<id>spring-releases</id>

‎release.sh

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/bin/bash
2+
# Deploy maven artifact in current directory into Maven central repository
3+
# using maven-release-plugin goals
4+
5+
6+
7+
###########################################################
8+
###########################################################
9+
cat << "RELEASE"
10+
██████╗ ███████╗██╗ ███████╗ █████╗ ███████╗███████╗
11+
██╔══██╗██╔════╝██║ ██╔════╝██╔══██╗██╔════╝██╔════╝
12+
██████╔╝█████╗ ██║ █████╗ ███████║███████╗█████╗
13+
██╔══██╗██╔══╝ ██║ ██╔══╝ ██╔══██║╚════██║██╔══╝
14+
██║ ██║███████╗███████╗███████╗██║ ██║███████║███████╗
15+
╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝
16+
RELEASE
17+
18+
set -e
19+
20+
mvn --settings ~/.m2/home-settings.xml scm:check-local-modification
21+
22+
# release
23+
echo "\n----------------------------------------"
24+
echo "When at prompt, type the release version (e.g. from 1.0-SNAPSHOT to 1.0)\n"
25+
mvn --settings ~/.m2/home-settings.xml versions:set
26+
git commit -am "[Deploy phase] Preparing release"
27+
mvn --settings ~/.m2/home-settings.xml clean deploy -P release
28+
mvn --settings ~/.m2/home-settings.xml scm:tag
29+
echo 'Release deployed'
30+
31+
32+
###########################################################
33+
###########################################################
34+
# next development version
35+
cat << "NEXT_ITERATION"
36+
███╗ ██╗███████╗██╗ ██╗████████╗
37+
████╗ ██║██╔════╝╚██╗██╔╝╚══██╔══╝
38+
██╔██╗ ██║█████╗ ╚███╔╝ ██║
39+
██║╚██╗██║██╔══╝ ██╔██╗ ██║
40+
██║ ╚████║███████╗██╔╝ ██╗ ██║
41+
╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚═╝
42+
43+
██╗████████╗███████╗██████╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗
44+
██║╚══██╔══╝██╔════╝██╔══██╗██╔══██╗╚══██╔══╝██║██╔═══██╗████╗ ██║
45+
██║ ██║ █████╗ ██████╔╝███████║ ██║ ██║██║ ██║██╔██╗ ██║
46+
██║ ██║ ██╔══╝ ██╔══██╗██╔══██║ ██║ ██║██║ ██║██║╚██╗██║
47+
██║ ██║ ███████╗██║ ██║██║ ██║ ██║ ██║╚██████╔╝██║ ╚████║
48+
╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝
49+
NEXT_ITERATION
50+
51+
echo "When at prompt, type the SNAPSHOT version (e.g. from 1.0 to 2.0-SNAPSHOT)\n"
52+
mvn --settings ~/.m2/home-settings.xml versions:set
53+
git commit -am "[Deploy phase] Preparing for next iteration"
54+
55+
# updating origin
56+
git push --force --follow-tags
57+
58+
echo 'Next iteration prepared'

0 commit comments

Comments
 (0)
Please sign in to comment.