diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..f067238
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,59 @@
+name: CI
+on:
+ push:
+ pull_request:
+ workflow_dispatch:
+
+env:
+ JDK_JAVA_OPTIONS: "--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED"
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+jobs:
+ test:
+ # Docker actions only work on linux
+ # strategy:
+ # matrix:
+ # os: [ubuntu-latest, windows-latest, macos-latest]
+ # java-version: [8, 11, 17]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ java-version: 17
+ distribution: "adopt"
+ - name: Install
+ run: |
+ cd code
+ mvn --batch-mode install
+ - name: Test Demo
+ run: |
+ cd demo
+ mvn --batch-mode test
+ services:
+ mariadb:
+ image: mariadb
+ ports:
+ - 3307:3306
+ env:
+ MARIADB_DATABASE: jacuzzi
+ MARIADB_USER: jacuzzi
+ MARIADB_PASSWORD: jacuzzi
+ MARIADB_RANDOM_ROOT_PASSWORD: true
+ deploy:
+ if: github.ref == 'refs/heads/master' && github.repository_owner == 'Codeforces'
+ needs: test
+ runs-on: windows-latest
+ permissions:
+ contents: read
+ packages: write
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-java@v2
+ with:
+ java-version: "17"
+ distribution: "adopt"
+ - name: Deploy
+ run: |
+ cd code
+ mvn --batch-mode deploy -DskipTests
diff --git a/.gitignore b/.gitignore
index 97e2ca0..f2f27cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,8 @@
-.classpath
-.project
-.settings/
-
-/code/jacuzzi.iml
-/code/jacuzzi.ipr
-/code/jacuzzi.iws
-/code/target
-/code/.idea
+.classpath
+.project
+.settings/
+*.iml
+*.ipr
+*.iws
+.idea/
+target/
\ No newline at end of file
diff --git a/code/pom.xml b/code/pom.xml
index ea89e57..01c36ad 100644
--- a/code/pom.xml
+++ b/code/pom.xml
@@ -26,6 +26,13 @@
+
+
+ github
+ GitHub Packages
+ https://maven.pkg.github.com/Codeforces/jacuzzi
+
+
GitHub Issues
https://github.com/Codeforces/jacuzzi/issues
diff --git a/demo/pom.xml b/demo/pom.xml
index 001e46a..9fe4690 100644
--- a/demo/pom.xml
+++ b/demo/pom.xml
@@ -5,7 +5,7 @@
jacuzzi-demo
jar
0.0.28-SNAPSHOT
- jacuzzi
+ jacuzzi-demo
http://code.google.com/p/jacuzzi
@@ -21,8 +21,8 @@
maven-compiler-plugin
2.0.2
- 1.6
- 1.6
+ 1.8
+ 1.8
@@ -31,7 +31,7 @@
jacuzzi
jacuzzi
- 0.0.28-SNAPSHOT
+ 0.1.0-SNAPSHOT
test
diff --git a/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java b/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java
index 96a9a27..d153535 100644
--- a/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java
+++ b/demo/src/test/java/com/jacuzzi/test/JacuzziTest.java
@@ -11,12 +11,12 @@ public class JacuzziTest extends TestCase {
private UserDao userDao;
private static final int ITERATION_COUNT = 20;
- protected void setUp() throws Exception {
+ protected void setUp() {
userDao = new UserDao();
userDao.createStorage();
}
- protected void tearDown() throws Exception {
+ protected void tearDown() {
userDao.deleteStorage();
}
@@ -27,7 +27,7 @@ public void testInitialization() {
public void testInsertAndFind() {
User user = new User();
user.setLogin("jacuzzi");
- assertTrue(userDao.insert(user));
+ userDao.insert(user);
assertEquals(1, userDao.findBy("login=?", "jacuzzi").size());
}
@@ -35,13 +35,13 @@ public void testManyInsertsAndFinds() {
for (int i = 0; i < ITERATION_COUNT; i++) {
User user = new User();
user.setLogin("jacuzzi" + i);
- assertTrue(userDao.insert(user));
+ userDao.insert(user);
assertEquals(1, userDao.findBy("login=?", "jacuzzi" + i).size());
}
for (int i = 0; i < ITERATION_COUNT; i++) {
User user = new User();
user.setLogin("jacuzzi");
- assertTrue(userDao.insert(user));
+ userDao.insert(user);
assertEquals(i + 1, userDao.findBy("login=?", "jacuzzi").size());
}
}
@@ -52,7 +52,7 @@ public void testTransaction() {
for (int i = 0; i < ITERATION_COUNT; i++) {
User user = new User();
user.setLogin("jacuzzi");
- assertTrue(userDao.insert(user));
+ userDao.insert(user);
}
userDao.returnJacuzzi().commit();
@@ -63,7 +63,7 @@ public void testTransaction() {
for (int i = 0; i < ITERATION_COUNT; i++) {
User user = new User();
user.setLogin("jacuzzi");
- assertTrue(userDao.insert(user));
+ userDao.insert(user);
}
userDao.returnJacuzzi().rollback();
diff --git a/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java b/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java
index 20280f6..26898e1 100644
--- a/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java
+++ b/demo/src/test/java/com/jacuzzi/test/dao/UserDao.java
@@ -16,7 +16,7 @@ public class UserDao extends GenericDaoImpl {
"id BIGINT NOT NULL AUTO_INCREMENT, " +
"login VARCHAR( 255 ) NOT NULL, " +
"PRIMARY KEY (id)" +
- ") TYPE = INNODB CHARACTER SET = utf8";
+ ") ENGINE = InnoDB CHARACTER SET = utf8";
private static final String DELETE_USER_TABLE_SQL = "DROP TABLE User";