Skip to content
This repository was archived by the owner on Feb 22, 2022. It is now read-only.

Commit 9aed7b6

Browse files
committed
VANT-6731: updating for v8 > 17
Date: Tue Sep 15 16:09:52 2020 -0400 Changes to be committed: modified: pom.xml modified: wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/Setup.java modified: wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/fileset/Nix8GTE19FileSetEmitter.java modified: wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/fileset/Nix8LTE17FileSetEmitter.java modified: wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/setup/Mysql8Initializer.java new file: wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/setup/NixGTE819Before8Initializer.java renamed: wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/setup/NixBefore8Initializer.java -> wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/setup/NixLTE818Before8Initializer.java
1 parent 5d8f03a commit 9aed7b6

File tree

7 files changed

+129
-48
lines changed

7 files changed

+129
-48
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>com.wix</groupId>
55
<artifactId>wix-embedded-mysql-modules</artifactId>
6-
<version>4.6.2-SNAPSHOT</version>
6+
<version>4.6.2.1-SNAPSHOT</version>
77
<name>Wix Embedded MySql Modules aggregator</name>
88
<description>Wix Embedded MySql Modules aggregator</description>
99
<url>https://github.com/wix/wix-embedded-mysql</url>

wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/Setup.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ public class Setup {
1515
new FilePermissionsInitializer(),
1616
new Mysql57Initializer(),
1717
new NixBefore57Initializer(),
18-
new NixBefore8Initializer(),
18+
new NixLTE818Before8Initializer(),
19+
new NixGTE819Before8Initializer(),
1920
new Mysql8Initializer());
2021

2122

wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/fileset/Nix8GTE19FileSetEmitter.java

+29-23
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,40 @@
55
import de.flapdoodle.embed.process.config.store.FileType;
66
import de.flapdoodle.embed.process.distribution.Platform;
77

8-
import java.util.Objects;
8+
import org.slf4j.Logger;
9+
import org.slf4j.LoggerFactory;
910

1011
import static de.flapdoodle.embed.process.config.store.FileType.Executable;
1112
import static de.flapdoodle.embed.process.config.store.FileType.Library;
1213
import static de.flapdoodle.embed.process.distribution.Platform.OS_X;
1314

1415
public class Nix8GTE19FileSetEmitter extends Nix implements FileSetEmitter {
15-
@Override
16-
public boolean matches(Platform platform, Version version) {
17-
return platform.isUnixLike() && (Platform.detect() != OS_X)
18-
&& Objects.equals(version.getMajorVersion(), "8.0")
19-
&& version.getMinorVersion() >= 19;
20-
}
2116

22-
@Override
23-
public FileSet emit() {
24-
return FileSet.builder()
25-
.addEntry(Executable, "bin/mysqld")
26-
.addEntry(Library, "bin/mysql")
27-
.addEntry(Library, "bin/mysqladmin")
28-
.addEntry(Library, "bin/my_print_defaults")
29-
.addEntry(Library, "share/english/errmsg.sys")
30-
.addEntry(FileType.Library, "lib/private/libssl.so.1.1")
31-
.addEntry(FileType.Library, "lib/private/libcrypto.so.1.1")
32-
.addEntry(FileType.Library, "lib/private/libprotobuf.so.3.11.4")
33-
.addEntry(FileType.Library, "lib/private/libprotobuf-lite.so.3.11.4")
34-
.addEntry(FileType.Library, "lib/private/libprotobuf.so.3.11.4")
35-
.addEntry(FileType.Library, "lib/private/libprotobuf-lite.so.3.11.4")
36-
.build();
37-
}
17+
private static Logger logger = LoggerFactory.getLogger(new Object() {
18+
}.getClass().getEnclosingClass());
19+
20+
@Override
21+
public boolean matches(Platform platform, Version version) {
22+
boolean match = platform.isUnixLike() && (Platform.detect() != OS_X) && version.getMajorVersion().equals("8.0")
23+
&& version.getMinorVersion() >= 19;
24+
if (match) {
25+
System.out.println("conditions for applying \"" + this.getClass().getName() + "\" met.");
26+
logger.info("conditions for applying \"" + this.getClass().getName() + "\" met.");
27+
}
28+
return match;
29+
}
30+
31+
@Override
32+
public FileSet emit() {
33+
return FileSet.builder()
34+
.addEntry(Executable, "bin/mysqld")
35+
.addEntry(Library, "bin/mysql")
36+
.addEntry(Library, "bin/mysqladmin")
37+
.addEntry(Library, "bin/my_print_defaults")
38+
.addEntry(Library, "share/english/errmsg.sys")
39+
.addEntry(FileType.Library, "lib/private/libssl.so.1.1")
40+
.addEntry(FileType.Library, "lib/private/libcrypto.so.1.1")
41+
.addEntry(FileType.Library, "lib/private/libprotobuf.so.3.11.4")
42+
.addEntry(FileType.Library, "lib/private/libprotobuf-lite.so.3.11.4").build();
43+
}
3844
}

wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/fileset/Nix8LTE17FileSetEmitter.java

+25-19
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,34 @@
77

88
import java.util.Objects;
99

10+
import org.slf4j.Logger;
11+
import org.slf4j.LoggerFactory;
12+
1013
import static de.flapdoodle.embed.process.config.store.FileType.Executable;
1114
import static de.flapdoodle.embed.process.config.store.FileType.Library;
1215
import static de.flapdoodle.embed.process.distribution.Platform.OS_X;
1316

1417
public class Nix8LTE17FileSetEmitter extends Nix implements FileSetEmitter {
15-
@Override
16-
public boolean matches(Platform platform, Version version) {
17-
return platform.isUnixLike() && (Platform.detect() != OS_X)
18-
&& Objects.equals(version.getMajorVersion(), "8.0")
19-
&& (version.getMinorVersion() <= 17);
20-
}
21-
22-
@Override
23-
public FileSet emit() {
24-
return FileSet.builder()
25-
.addEntry(Executable, "bin/mysqld")
26-
.addEntry(Library, "bin/mysql")
27-
.addEntry(Library, "bin/mysqladmin")
28-
.addEntry(Library, "bin/my_print_defaults")
29-
.addEntry(Library, "share/english/errmsg.sys")
30-
.addEntry(FileType.Library, "lib/libssl.so.1.0.0")
31-
.addEntry(FileType.Library, "lib/libcrypto.so.1.0.0")
32-
.build();
33-
}
18+
19+
private static Logger logger = LoggerFactory.getLogger(new Object() {
20+
}.getClass().getEnclosingClass());
21+
22+
@Override
23+
public boolean matches(Platform platform, Version version) {
24+
boolean match = platform.isUnixLike() && (Platform.detect() != OS_X) && version.getMajorVersion().equals("8.0")
25+
&& (version.getMinorVersion() <= 17);
26+
if (match) {
27+
System.out.println("conditions for applying \"" + this.getClass().getName() + "\" met.");
28+
logger.info("conditions for applying \"" + this.getClass().getName() + "\" met.");
29+
}
30+
return match;
31+
}
32+
33+
@Override
34+
public FileSet emit() {
35+
return FileSet.builder().addEntry(Executable, "bin/mysqld").addEntry(Library, "bin/mysql")
36+
.addEntry(Library, "bin/mysqladmin").addEntry(Library, "bin/my_print_defaults")
37+
.addEntry(Library, "share/english/errmsg.sys").addEntry(FileType.Library, "lib/libssl.so.1.0.0")
38+
.addEntry(FileType.Library, "lib/libcrypto.so.1.0.0").build();
39+
}
3440
}

wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/setup/Mysql8Initializer.java

+13-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import de.flapdoodle.embed.process.config.IRuntimeConfig;
66
import de.flapdoodle.embed.process.extract.IExtractedFileSet;
77
import org.apache.commons.io.FileUtils;
8+
import org.slf4j.Logger;
9+
import org.slf4j.LoggerFactory;
810

911
import java.io.File;
1012
import java.io.IOException;
@@ -13,9 +15,19 @@
1315
import static java.util.concurrent.TimeUnit.NANOSECONDS;
1416

1517
public class Mysql8Initializer implements Initializer {
18+
19+
private static Logger logger = LoggerFactory.getLogger(new Object() { }.getClass().getEnclosingClass());
20+
1621
@Override
1722
public boolean matches(Version version) {
18-
return version.getMajorVersion().equals("8.0");
23+
boolean match = version.getMajorVersion().equals("8.0");
24+
25+
if (match) {
26+
logger.info("conditions for applying \"" + this.getClass().getName() + "\" met.");
27+
System.out.println("conditions for applying \"" + this.getClass().getName() + "\" met.");
28+
}
29+
return match;
30+
1931
}
2032

2133
@Override
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.wix.mysql.distribution.setup;
2+
3+
import static de.flapdoodle.embed.process.distribution.Platform.OS_X;
4+
5+
import java.io.File;
6+
import java.io.FileFilter;
7+
import java.io.IOException;
8+
import java.nio.file.Files;
9+
import java.nio.file.Paths;
10+
import org.apache.commons.io.filefilter.RegexFileFilter;
11+
import org.slf4j.Logger;
12+
import org.slf4j.LoggerFactory;
13+
14+
import com.wix.mysql.config.MysqldConfig;
15+
import com.wix.mysql.distribution.Version;
16+
17+
import de.flapdoodle.embed.process.config.IRuntimeConfig;
18+
import de.flapdoodle.embed.process.distribution.Platform;
19+
import de.flapdoodle.embed.process.extract.IExtractedFileSet;
20+
21+
public class NixGTE819Before8Initializer implements Initializer {
22+
23+
private static final String SEP = File.separator;
24+
private static Logger logger = LoggerFactory.getLogger(new Object() { }.getClass().getEnclosingClass());
25+
26+
@Override
27+
public boolean matches(Version version) {
28+
boolean match = Platform.detect().isUnixLike() && (Platform.detect() != OS_X)
29+
&& version.getMajorVersion().equals("8.0")
30+
&& (version.getMinorVersion() >= 19);
31+
if (match) {
32+
System.out.println("conditions for applying \"" + this.getClass().getName() + "\" met.");
33+
logger.info("conditions for applying \"" + this.getClass().getName() + "\" met.");
34+
}
35+
return match;
36+
}
37+
38+
@Override
39+
public void apply(IExtractedFileSet files, IRuntimeConfig runtimeConfig, MysqldConfig config) throws IOException {
40+
File baseDir = files.baseDir();
41+
for (File file : new File(baseDir + SEP + "bin").listFiles()) {
42+
System.out.println(file.getName() + " exists...");
43+
}
44+
File libDir = new File(baseDir + SEP + "lib" + SEP + "private");
45+
FileFilter filter = new RegexFileFilter("^[a-z\\|-]+\\.so(\\.[0-9]+)+");
46+
File[] soFiles = libDir.listFiles(filter);
47+
for (File file : soFiles) {
48+
Files.createSymbolicLink(Paths.get(baseDir + SEP + "bin" + SEP + file.getName()), Paths.get(file.getPath()));
49+
System.out.println("Symlink " + file.getName());
50+
}
51+
}
52+
}

wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/setup/NixBefore8Initializer.java renamed to wix-embedded-mysql/src/main/java/com/wix/mysql/distribution/setup/NixLTE818Before8Initializer.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package com.wix.mysql.distribution.setup;
22

3+
import static de.flapdoodle.embed.process.distribution.Platform.OS_X;
4+
35
import java.io.File;
46
import java.io.FileFilter;
57
import java.io.IOException;
68
import java.nio.file.Files;
79
import java.nio.file.Paths;
10+
import java.util.Objects;
811

912
import org.apache.commons.io.filefilter.RegexFileFilter;
1013

@@ -15,14 +18,15 @@
1518
import de.flapdoodle.embed.process.distribution.Platform;
1619
import de.flapdoodle.embed.process.extract.IExtractedFileSet;
1720

18-
public class NixBefore8Initializer implements Initializer {
21+
public class NixLTE818Before8Initializer implements Initializer {
1922

2023
private static final String SEP = File.separator;
2124

2225
@Override
2326
public boolean matches(Version version) {
24-
return Platform.detect().isUnixLike() &&
25-
version.getMajorVersion().equals("8.0");
27+
return Platform.detect().isUnixLike() && (Platform.detect() != OS_X)
28+
&& Objects.equals(version.getMajorVersion(), "8.0")
29+
&& (version.getMinorVersion() <= 18);
2630
}
2731

2832
@Override

0 commit comments

Comments
 (0)