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 @@
- molokoin.ru/ добавить картинку и кнопку авторизации + molokoin.ru
-
+
  • gitea
  • apache
  • moodle
  • adminvps
  • -
    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 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