Skip to content

Commit 334878b

Browse files
committed
Merge branch 'release/1.0'
2 parents e19592a + 18dec4b commit 334878b

44 files changed

Lines changed: 2898 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
sudo: required
2+
3+
language: java
4+
5+
services:
6+
- docker
7+
8+
addons:
9+
sonarqube:
10+
organization: "differentway-github"
11+
token:
12+
secure: "fnzS5t/buOCMWV5xx8sGOcPG+6P3LZwFuyOjOI9efm8s6uaYc2dHaKz9A45W2FB6O74pCohO8hVOh+C610fdnlES4JZ3kEy0V4/NWB9jun6w0dT+kPFRCUPmcyrS1zVZvEtlzuy2dUSPUgKfWQKnufZMex1VxghJge022+bGKbxsSYCcn0/EkOnHKN3hcP/WtjgfMQ7NrGrR+nGzZIblQRDL2bLyhx7skI7aVyo4qv93GyFGk5dIqmJtXlh+p8ylzImrJnM+V74NbRQe+YkgYZbH1VNaAzhCiSCRc8YltrAyJXJ1kLS778rIaQptLu2kn3wsZbC1dgGikg0rhy++on/cMvYWPo8LhQO7hGq31pTIblXI3+l0aU+FrKCXbpofIxbXwzBmZUOLa+StfnB9ANvsC9sn2RZ0A73U7lo/4jGY5EmjjyCze7TcyDonySyA/BrmwvDgnxKXrkAcI5jsY4bK+3Zy8pZkCYhoqilTwMsvs54m5skmLA3qv6l4tdmtNRgZD3EUnNutkjpp86gbrMa6d4k0/b2pxSjnK+MhQWKcpgXbH+Z935gTVTUcWxslu+kPXOhuH2uuiScOCCc0O/R7kPjVbFWakdjylOLFubaGKi9PmCyoYfiAcjfhFGoD7t6pXWjQdo3aRSp1d20qnioKi/c0w66hVQImiSU77Dw="
13+
branches:
14+
- master
15+
- develop
16+
17+
script:
18+
# JaCoCo is used to have code coverage, the agent has to be activated
19+
- mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar
20+
21+
deploy:
22+
provider: script
23+
skip_cleanup: true
24+
script: release/deploy.sh
25+
on:
26+
tags: true
27+
branch: master
28+
29+
env:
30+
global:
31+
# OSSRH_JIRA_USERNAME
32+
- secure: "caws3wHcWWqniMDyBq0TejNpJdgZYogiLWsWNMRAbnKvvwtwP21OQDAs/fIW8/7R85U1gT/WY9J/W375EzMHLn7kCqd8H15DMvWbr06WPhs/oxcWIaRaijv9YmVxX/aqPc/31B0YsEY/f5bDtZcu8guVKvhGpBsZMVTK1pHshUbskYvx/0NLDkJgC/KhW0taYfYoQ+6aKS6s15kqUyC+kXMrf7qNiiajWPbgARWAAPHci/XWzlqn9QD+kUq4YK2xgtq6ris5fudfrA1/z5EG+7E5qdsZ7UZaJfs3PGnBv1tpLTKWt2KxcgMVI+P5nEsjxpZ//RJDW7g9wKvJFbwgfB+2b44dAMzer4xOjzK+PeueiOsgXP42MzyUXDlTSAks7+W2u48qntQVYCOv9pMb0rKjUk5LL6SaGQuiZPgNs13jZXiPH8EVxwsf67qjz/wf0KNpejoDxhwa5mnlqOLyTc/+NufIf0Zea1t3Et5YwXZR7i9DvS+N8j01eeHYhIPjMtSAidO7lj+3oRMTw4O+hrnplj3khUJd3J585I6QEPYxcPYH/2gUOmrl7rXuPC0CHa7oiXsHcpBZsGdDxzkkv1s4qTEH6Y3uujb+rXV3CF1cUMGqXwXztyed0WO9KSdXvTjYK/8jQussSVJanbVd3XGUFSYqhJxOWMpxBIqDgQk="
33+
# OSSRH_JIRA_PASSWORD
34+
- secure: "cYNSycG67mhSUHrOZRcsXeuxMJJ2laScbXT9BNXTThu8GGHat2H/uHIBWvmUl8XVzNGTcQb6L0iI2EGYDAXwqmSWD2qhBStcRBmwSEPvEHmExEiBy8vL33YVH/YWOg50f39A3AZNZAWarrqEZV1UAMiC3Eqgsmn0xkl+C+KJ5WWPMOQItYfV+jq3Gl+MCO6zKF0CLJWfkm4KFbvGkUeQDAgg7+F9kqTAN8Tj/fTxV5PY2MqsqNKVbi91ObhYM3ChW1ZrA/4CTbUAoooAXyc8yJGDgHNVqeOfC4Pe6+BZyl231438x0jf1M2SHA3izx9OHLirSWAOFyseOImxYrTUw+4yB0u43p/2EtY7Njls0dTTVXDjTadskIKYnM/yFVjlw7IGULSahOyICLA/t5bWnl8CMHsPv83ezdRnloMha6My0oB9k4Qk8JHDv4ZP7o/FSKQpngbA/0KEunclLIqlkjqAJ+5vyQrdCyp2KbAGFQEDv6/3U7P8KxM6HSgy21I8r1M3QBrvTHfbw9UbTNBZeDRy0LPwBGo6A7UH6SALW3gYkX8RGan2otEZxUFKX/ZGDnTK9sWiNyUYPlBfMTKCdQlcTKtRorK/4ypQdvcm29jV+44mxKvmvikddAi92sLUgvhfo7nSVgQ5JJYGVLyZEhK2SDzqimJTDq5gsJe+KwA="
35+
# GPG_KEY_NAME
36+
- secure: "amjeDAgcasXubwZ9hIYf1SfuwmYg9/CQxYwR5vDEzxXbKGzXJWUWy5aDWv/8b6NZ6lOm+wiaGutEvmF/M43SYhc+7NUQZfNBJQQJMZrILsUhFN6hCVeQKSZQ8932fvHnlXzGMrleiUpW/5m5YajS9GyCkV3+Z7hSxW8MuLsYeFGkmCU8S0idUGjt17EklBn4ZNYN1UQr6VJsRgf1ZLzdmdULeQaJBToZNdrP3HH7nfwACa/l7Hq1b1wN87du9QwWcPONc/7JMeZwXpX2kYdQgAaGTk91Z0Kycp7yjMw5SQKm349y3cvensWz0EAmq9ElEUJStafHSat57NjcHXR+fuynfwde0wRkVa9pfJb126lQCnv0E5rT3pJn7GeRXTcUKFKV8pzITEZbU4Xv6j0WFgLF5Ms9Tw01bpCVASq3e1ebO2yjGxLYPhCTOfSw3N5Pubo5DsTDVvFZcZ9aH1/E6wbJ+b1J4lvzyH+xWVw3aFa/hoksfu+vMfOe24YNymaOeOc9V++bi71Ddf8+cWuOHcESPa7M4YEBO6PpfGKqXPK/7W8DrKjfupAfH4qIMUI5KTDPBtjvujyQcQU3949B0QcJcvHGyjk4P0F6L47xUhE4CnyVRV3FkIZita25atZJFc9o3ZiBCJIQ8Jau2u/H/lgGc9EkS7pirmJlwWWcOEY="
37+
# GPG_PASSPHRASE
38+
- secure: "DR4U1DbQBQyVfsKay6QHlQ//sZmQpvx/N0vkECtQqUtZuROBsoIwQj/s5Sc79VIIWjFQGLOaOaOKd8nC0s1Om0RTB2a1DdaUIrBlsLP7vfVeGwCE4FsJdrIY3mDfg7V+gQenbzvhqtupx7/+l2lQcXQb84Jqd9cECjfRUpNy9l441oTlnmV9p8NiM6hkFI2t2SLZAmTjkzIaaOZO16jBKgoALTd+OpGvmYLUYDlNXwpSI0sdyzWMIEudREDAWUsJRGiOFUdy4AyfhZpfGHV2PhKo4wBNIZLH6l5Ifb3KKVtOeavgN4rQ5u+tNPI/PoRnyoTbHHBFe5ICjvZewwhxJPxlw7UOF4iPURlla+3QTvQCV1ptQHmJ7E/fZZ1jZbDIEb8se4XtLOk5Nxcfp6FTcKvVBAoo3mezONDxBSC2w3LnNtwPLRVtfH3BaqnEQwZ4yb5JGjFwgQ4mbMzc1fF6w+L26LgsoayUoykulKwaKvqk1BSyIVvC0/To6bIPUsqWACAIXFmlqhGt3aCQhoAAxF2uItGPBbMW/+KepOS0PRsM13TrZDdqc8TWiSsW8KdfsvswR1dT7BDfsNtwNCCSx2m2qFxdxwAd81IcVtVgcpQiWj6R9378SUnTr4KtM2UCMumV5xcpn5/rZ2pqQSOFVl5M6xiiOK4Q9It7whapZUc="
39+
40+
cache:
41+
directories:
42+
- '$HOME/.m2/repository'
43+
- '$HOME/.sonar/cache'
44+

README.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,18 @@
1-
# couchmove
1+
<img src="https://cdn.worldvectorlogo.com/logos/couchbase.svg" width="300" />
2+
3+
### What is Couchmove?
4+
5+
Couchmove is an open-source Java migration tool for [Couchbase](https://www.couchbase.com/), which is an NoSQL document-oriented database, well know for it's performance and scalability.
6+
7+
Couchmove can help you *track*, *manage* and *apply changes* in your Couchbase buckets. The concept is very similar to other database migration tools such as [Liquibase](http://www.liquibase.org), [Flyway](http://flywaydb.org), [mongeez](https://github.com/secondmarket/mongeez), [mongobee](http://mongodb-tools.com/tool/mongobee/) ...
8+
9+
### What's special?
10+
11+
Couchmove is widely inspired from [Flyway](http://flywaydb.org) : it strongly favors simplicity and convention over configuration : There is *no XML configuration files*. Just **json documents**, **design documents** to import and **n1ql** files to execute.
12+
13+
### How to use?
14+
15+
Check out our [wiki](https://github.com/differentway/couchmove/wiki)
16+
17+
---
18+
[![Build Status](https://travis-ci.org/differentway/couchmove.svg?branch=develop)](https://travis-ci.org/differentway/couchmove) [![Quality Gate](https://sonarcloud.io/api/badges/gate?key=com.github.differentway:couchmove:develop)](https://sonarqube.com/dashboard/index/com.github.differentway:couchmove:develop) [![Licence](https://img.shields.io/hexpm/l/plug.svg)](https://github.com/differentway/couchmove/blob/master/LICENSE)

pom.xml

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<name>Couchmove</name>
8+
<description>Couchbase data migration tool for Java</description>
9+
<url>https://github.com/differentway/couchmove</url>
10+
<properties>
11+
<java.version>1.8</java.version>
12+
<couchbase.client.version>2.4.5</couchbase.client.version>
13+
</properties>
14+
15+
<groupId>com.github.differentway</groupId>
16+
<artifactId>couchmove</artifactId>
17+
<version>1.0</version>
18+
19+
<licenses>
20+
<license>
21+
<name>The Apache Software License, Version 2.0</name>
22+
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
23+
<distribution>repo</distribution>
24+
</license>
25+
</licenses>
26+
27+
<scm>
28+
<connection>scm:git:git@github.com:differentway/couchmove.git</connection>
29+
<developerConnection>scm:git:git@github.com:differentway/couchmove.git</developerConnection>
30+
<url>git@github.com:differentway/couchmove.git</url>
31+
<tag>couchmove-tag</tag>
32+
</scm>
33+
34+
<developers>
35+
<developer>
36+
<id>differentway</id>
37+
<name>differentway</name>
38+
</developer>
39+
</developers>
40+
41+
<dependencies>
42+
<dependency>
43+
<groupId>org.projectlombok</groupId>
44+
<artifactId>lombok</artifactId>
45+
<version>1.16.16</version>
46+
<scope>provided</scope>
47+
</dependency>
48+
<dependency>
49+
<groupId>com.couchbase.client</groupId>
50+
<artifactId>java-client</artifactId>
51+
<version>${couchbase.client.version}</version>
52+
</dependency>
53+
<dependency>
54+
<groupId>org.slf4j</groupId>
55+
<artifactId>slf4j-api</artifactId>
56+
<version>1.7.25</version>
57+
</dependency>
58+
<dependency>
59+
<groupId>com.github.adedayo.intellij.sdk</groupId>
60+
<artifactId>annotations-java8</artifactId>
61+
<version>142.1</version>
62+
</dependency>
63+
<dependency>
64+
<groupId>commons-codec</groupId>
65+
<artifactId>commons-codec</artifactId>
66+
<version>1.10</version>
67+
</dependency>
68+
<dependency>
69+
<groupId>commons-io</groupId>
70+
<artifactId>commons-io</artifactId>
71+
<version>2.5</version>
72+
</dependency>
73+
<dependency>
74+
<groupId>com.google.guava</groupId>
75+
<artifactId>guava</artifactId>
76+
<version>22.0</version>
77+
</dependency>
78+
<dependency>
79+
<groupId>commons-lang</groupId>
80+
<artifactId>commons-lang</artifactId>
81+
<version>2.6</version>
82+
</dependency>
83+
<dependency>
84+
<groupId>junit</groupId>
85+
<artifactId>junit</artifactId>
86+
<version>4.12</version>
87+
<scope>test</scope>
88+
</dependency>
89+
<dependency>
90+
<groupId>com.tngtech.java</groupId>
91+
<artifactId>junit-dataprovider</artifactId>
92+
<version>1.10.0</version>
93+
<scope>test</scope>
94+
</dependency>
95+
<dependency>
96+
<groupId>com.github.differentway</groupId>
97+
<artifactId>couchbase-testcontainer</artifactId>
98+
<version>1.0</version>
99+
<scope>test</scope>
100+
</dependency>
101+
<dependency>
102+
<groupId>org.mockito</groupId>
103+
<artifactId>mockito-all</artifactId>
104+
<version>1.10.19</version>
105+
<scope>test</scope>
106+
</dependency>
107+
<dependency>
108+
<groupId>org.assertj</groupId>
109+
<artifactId>assertj-core</artifactId>
110+
<version>3.1.0</version>
111+
<scope>test</scope>
112+
</dependency>
113+
<dependency>
114+
<groupId>ch.qos.logback</groupId>
115+
<artifactId>logback-classic</artifactId>
116+
<version>1.1.8</version>
117+
<scope>test</scope>
118+
</dependency>
119+
</dependencies>
120+
121+
<distributionManagement>
122+
<snapshotRepository>
123+
<id>ossrh</id>
124+
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
125+
</snapshotRepository>
126+
</distributionManagement>
127+
128+
<build>
129+
<plugins>
130+
<plugin>
131+
<groupId>org.apache.maven.plugins</groupId>
132+
<artifactId>maven-compiler-plugin</artifactId>
133+
<version>3.6.1</version>
134+
<configuration>
135+
<source>${java.version}</source>
136+
<target>${java.version}</target>
137+
</configuration>
138+
</plugin>
139+
<plugin>
140+
<artifactId>maven-scm-plugin</artifactId>
141+
<version>1.9.4</version>
142+
<configuration>
143+
<tag>${project.version}</tag>
144+
</configuration>
145+
</plugin>
146+
<plugin>
147+
<groupId>org.sonatype.plugins</groupId>
148+
<artifactId>nexus-staging-maven-plugin</artifactId>
149+
<version>1.6.6</version>
150+
<extensions>true</extensions>
151+
<configuration>
152+
<serverId>ossrh</serverId>
153+
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
154+
<autoReleaseAfterClose>true</autoReleaseAfterClose>
155+
</configuration>
156+
</plugin>
157+
</plugins>
158+
</build>
159+
160+
<profiles>
161+
<!--code signing-->
162+
<profile>
163+
<id>sign</id>
164+
<build>
165+
<plugins>
166+
<plugin>
167+
<groupId>org.apache.maven.plugins</groupId>
168+
<artifactId>maven-gpg-plugin</artifactId>
169+
<version>1.6</version>
170+
<executions>
171+
<execution>
172+
<id>sign-artifacts</id>
173+
<phase>verify</phase>
174+
<goals>
175+
<goal>sign</goal>
176+
</goals>
177+
</execution>
178+
</executions>
179+
</plugin>
180+
</plugins>
181+
</build>
182+
</profile>
183+
184+
<!-- Packaging Sources and docs -->
185+
<profile>
186+
<id>build-extras</id>
187+
<build>
188+
<plugins>
189+
<plugin>
190+
<groupId>org.apache.maven.plugins</groupId>
191+
<artifactId>maven-source-plugin</artifactId>
192+
<version>2.4</version>
193+
<executions>
194+
<execution>
195+
<id>attach-sources</id>
196+
<goals>
197+
<goal>jar-no-fork</goal>
198+
</goals>
199+
</execution>
200+
</executions>
201+
</plugin>
202+
<plugin>
203+
<groupId>org.apache.maven.plugins</groupId>
204+
<artifactId>maven-javadoc-plugin</artifactId>
205+
<version>2.10.3</version>
206+
<executions>
207+
<execution>
208+
<id>attach-javadocs</id>
209+
<goals>
210+
<goal>jar</goal>
211+
</goals>
212+
</execution>
213+
</executions>
214+
</plugin>
215+
</plugins>
216+
</build>
217+
</profile>
218+
</profiles>
219+
</project>

release/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
codesigning.asc

release/codesigning.asc.enc

9.42 KB
Binary file not shown.

release/deploy.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
3+
openssl aes-256-cbc -K $encrypted_467352795a68_key -iv $encrypted_467352795a68_iv -in release/codesigning.asc.enc -out release/codesigning.asc -d
4+
gpg --fast-import release/codesigning.asc
5+
6+
mvn deploy -P sign,build-extras -DskipTests --settings release/settings.xml

release/settings.xml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<settings>
2+
<servers>
3+
<server>
4+
<id>ossrh</id>
5+
<username>${env.OSSRH_JIRA_USERNAME}</username>
6+
<password>${env.OSSRH_JIRA_PASSWORD}</password>
7+
</server>
8+
</servers>
9+
10+
<profiles>
11+
<profile>
12+
<id>ossrh</id>
13+
<activation>
14+
<activeByDefault>true</activeByDefault>
15+
</activation>
16+
<properties>
17+
<gpg.keyname>${env.GPG_KEY_NAME}</gpg.keyname>
18+
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
19+
</properties>
20+
</profile>
21+
</profiles>
22+
</settings>

0 commit comments

Comments
 (0)