diff --git a/out/repos b/out/repos
index d7baa10..e5343f3 160000
--- a/out/repos
+++ b/out/repos
@@ -1 +1 @@
-Subproject commit d7baa10c82b3cca734c172b3428850454f3c6c70
+Subproject commit e5343f318ddfb5f8a767782221b46fd2035684ca
diff --git a/out/unzip/molokoin/molokoin-client/index.html b/out/unzip/molokoin/molokoin-client/index.html
index 744949d..59c08fa 100644
--- a/out/unzip/molokoin/molokoin-client/index.html
+++ b/out/unzip/molokoin/molokoin-client/index.html
@@ -9,14 +9,13 @@
-
+
diff --git a/out/zip/molokoin-client-master.zip b/out/zip/molokoin-client-master.zip
index 61ce159..e2b5392 100644
Binary files a/out/zip/molokoin-client-master.zip and b/out/zip/molokoin-client-master.zip differ
diff --git a/src/main/java/ru/molokoin/sourceListener/GitListener.java b/src/main/java/ru/molokoin/sourceListener/GitListener.java
index c068bc9..573afee 100644
--- a/src/main/java/ru/molokoin/sourceListener/GitListener.java
+++ b/src/main/java/ru/molokoin/sourceListener/GitListener.java
@@ -13,6 +13,7 @@ import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.PullCommand;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.api.errors.InvalidRemoteException;
+import org.eclipse.jgit.api.errors.NoHeadException;
import org.eclipse.jgit.api.errors.TransportException;
import com.fasterxml.jackson.core.exc.StreamReadException;
@@ -44,9 +45,35 @@ public class GitListener {
/**
* Метод запускает бесконечный цикл проверки обновлений в репозитарии.
+ * @throws IOException
+ * @throws GitAPIException
+ * @throws NoHeadException
*/
- public void live(){
- //TODO live()
+ public void live(Git git) throws NoHeadException, GitAPIException, IOException{
+ while(true){
+ Boolean isChanged = GitServiceFace.isChenged(git);
+ //если удаленная версия отличается от локальной, обновляем локальный репозитарий
+ if (isChanged){
+ //забираем обновления с удаленного репозитария
+ System.out.println("Забираем обновления с удаленного репозитария ...");
+ CheckoutCommand checkout = git.checkout();
+ checkout.setName("master");
+ checkout.call();
+ PullCommand pullCmd = git.pull();
+ pullCmd.call();
+ git.close();
+ }
+
+ if (isChanged){
+ //скачиваем и извлекаем архив репозитория
+ try {
+ NetService.download(opt.getZipLink(), opt.getDownloadPath());
+ extract();
+ } catch (IOException e) {
+ System.out.println(e.getMessage());
+ }
+ }
+ }
}
/**
@@ -66,16 +93,17 @@ public class GitListener {
public Options getOpt() {
return opt;
}
-
+
/**
* распаковка архива
*/
public void extract()throws IOException{
- //считываем настройки извлечения
+ System.out.println("Распаковка *.zip архива ... ");
try (ZipFile file = new ZipFile(opt.getZipPath())){
Enumeration extends ZipEntry> zipEntries = file.entries();
while (zipEntries.hasMoreElements()){
ZipEntry zipEntry = zipEntries.nextElement();
+ System.out.println("... " + zipEntry.getName() + " ...");
File newFile = new File(opt.getUnzipPath(), zipEntry.getName());
newFile.getParentFile().mkdirs();
if (!zipEntry.isDirectory()){
@@ -88,6 +116,8 @@ public class GitListener {
}
}
}
+ System.out.println("Файлы размещены в директории: " + opt.getUnzipPath());
+ System.out.println("Распаковка архива завершена.");
}
}
@@ -99,7 +129,7 @@ public class GitListener {
/**
* инициализируем git: открываем существующий репозиратий или клонируем новый с удаленного репозитария
*/
- Boolean isRepoExists = false;
+ Boolean isRepoExists = true;
if(isRepoExists){
//открываем существующий репозиторий
git = GitServiceFace.open(ear.opt.getGitLocalPath());
@@ -107,28 +137,8 @@ public class GitListener {
//клонируем репозитарий
git = GitServiceFace.copy(ear.getOpt().getGitLink(), ear.getOpt().getGitLocalPath());
}
+ ear.live(git);
- Boolean isChanged = GitServiceFace.isChenged(git);
- //если удаленная версия отличается от локальной, обновляем локальный репозитарий
- if (isChanged){
- //забираем обновления с удаленного репозитария
- System.out.println("забираем обновления с удаленного репозитария ...");
- CheckoutCommand checkout = git.checkout();
- checkout.setName("master");
- checkout.call();
- PullCommand pullCmd = git.pull();
- pullCmd.call();
- git.close();
- }
- if (isChanged){
- //скачиваем и извлекаем архив репозитория
- try {
- NetService.download(ear.opt.getZipLink(), ear.opt.getDownloadPath());
- ear.extract();
- } catch (IOException e) {
- System.out.println(e.getMessage());
- }
- }
}
}
diff --git a/src/main/java/ru/molokoin/sourceListener/git/GitServiceFace.java b/src/main/java/ru/molokoin/sourceListener/git/GitServiceFace.java
index 6cbcfaf..9d291a5 100644
--- a/src/main/java/ru/molokoin/sourceListener/git/GitServiceFace.java
+++ b/src/main/java/ru/molokoin/sourceListener/git/GitServiceFace.java
@@ -118,7 +118,7 @@ public interface GitServiceFace {
System.out.println("Время последнего комита в локальном репозитарии: " + old);
//получаем сведения об удаленных комитах
- System.out.println("получаем сведения об удаленных комитах ...");
+ System.out.println("Получаем сведения об удаленных комитах ...");
System.out.println("Текущая ветка удаленного репозитария: " + git.fetch().getRemote());
git.fetch().call();
diff --git a/src/main/java/ru/molokoin/sourceListener/net/NetService.java b/src/main/java/ru/molokoin/sourceListener/net/NetService.java
index 10a18be..3577dd5 100644
--- a/src/main/java/ru/molokoin/sourceListener/net/NetService.java
+++ b/src/main/java/ru/molokoin/sourceListener/net/NetService.java
@@ -21,9 +21,10 @@ public class NetService {
try {
HttpResponse
response = client.send(request,
HttpResponse.BodyHandlers.ofFileDownload(Path.of(localPath), StandardOpenOption.CREATE, StandardOpenOption.WRITE));
- System.out.println(response.statusCode());
- System.out.println(response.headers());
+ System.out.println("response.statusCode() : " + response.statusCode());
+ //System.out.println(response.headers());
Path path = response.body();
+ System.out.println("Загрузка завершена, файл размещен на локальном устройстве: ");
System.out.println("Path = " + path);
} catch (Exception e) {
System.out.println(e.getMessage());
diff --git a/target/classes/ru/molokoin/sourceListener/GitListener.class b/target/classes/ru/molokoin/sourceListener/GitListener.class
index 19c9fee..da31289 100644
Binary files a/target/classes/ru/molokoin/sourceListener/GitListener.class and b/target/classes/ru/molokoin/sourceListener/GitListener.class differ
diff --git a/target/classes/ru/molokoin/sourceListener/git/GitServiceFace.class b/target/classes/ru/molokoin/sourceListener/git/GitServiceFace.class
index ac154e6..5d995ef 100644
Binary files a/target/classes/ru/molokoin/sourceListener/git/GitServiceFace.class and b/target/classes/ru/molokoin/sourceListener/git/GitServiceFace.class differ
diff --git a/target/classes/ru/molokoin/sourceListener/net/NetService.class b/target/classes/ru/molokoin/sourceListener/net/NetService.class
index 14b8c6c..d0aa572 100644
Binary files a/target/classes/ru/molokoin/sourceListener/net/NetService.class and b/target/classes/ru/molokoin/sourceListener/net/NetService.class differ
diff --git a/target/dependencies.txt b/target/dependencies.txt
new file mode 100644
index 0000000..415807e
--- /dev/null
+++ b/target/dependencies.txt
@@ -0,0 +1,14 @@
+digraph "ru.molokoin:sourceListener:jar:1.0" {
+ "ru.molokoin:sourceListener:jar:1.0" -> "junit:junit:jar:4.12:test" ;
+ "ru.molokoin:sourceListener:jar:1.0" -> "com.fasterxml.jackson.core:jackson-databind:jar:2.14.0:compile" ;
+ "ru.molokoin:sourceListener:jar:1.0" -> "org.eclipse.jgit:org.eclipse.jgit:jar:6.3.0.202209071007-r:compile" ;
+ "ru.molokoin:sourceListener:jar:1.0" -> "org.slf4j:slf4j-api:jar:1.7.30:compile" ;
+ "ru.molokoin:sourceListener:jar:1.0" -> "org.slf4j:slf4j-simple:jar:1.7.30:compile" ;
+ "ru.molokoin:sourceListener:jar:1.0" -> "org.slf4j:slf4j-log4j12:jar:1.7.30:compile" ;
+ "ru.molokoin:sourceListener:jar:1.0" -> "org.apache.logging.log4j:log4j:pom:2.8.2:compile" ;
+ "junit:junit:jar:4.12:test" -> "org.hamcrest:hamcrest-core:jar:1.3:test" ;
+ "com.fasterxml.jackson.core:jackson-databind:jar:2.14.0:compile" -> "com.fasterxml.jackson.core:jackson-annotations:jar:2.14.0:compile" ;
+ "com.fasterxml.jackson.core:jackson-databind:jar:2.14.0:compile" -> "com.fasterxml.jackson.core:jackson-core:jar:2.14.0:compile" ;
+ "org.eclipse.jgit:org.eclipse.jgit:jar:6.3.0.202209071007-r:compile" -> "com.googlecode.javaewah:JavaEWAH:jar:1.1.13:compile" ;
+ "org.slf4j:slf4j-log4j12:jar:1.7.30:compile" -> "log4j:log4j:jar:1.2.17:compile" ;
+ }
\ No newline at end of file