release-0.0.2

This commit is contained in:
Struchkov Mark 2022-01-25 10:12:54 +03:00
parent 579ff95b4b
commit b8681b433a
23 changed files with 132 additions and 126 deletions

17
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,17 @@
image: maven:3.8.4-openjdk-17
variables:
MAVEN_OPTS: "-Dmaven.repo.local=./.m2/repository"
stages:
- deploy
deploy:
stage: deploy
only:
- /^release-.*$/
except:
- branches
before_script:
- gpg --pinentry-mode loopback --passphrase $GPG_PASSPHRASE --import $GPG_PRIVATE_KEY
script:
- 'mvn --settings $MAVEN_SETTINGS -U -P ossrh,release clean deploy'

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>dev.struchkov.godfather</groupId> <groupId>dev.struchkov.godfather</groupId>
<artifactId>godfather-bot</artifactId> <artifactId>godfather-bot</artifactId>
<version>0.0.1-RELEASE</version> <version>0.0.2</version>
</parent> </parent>
<artifactId>bot-context</artifactId> <artifactId>bot-context</artifactId>
@ -15,13 +15,10 @@
<name>Bot Context</name> <name>Bot Context</name>
<description>Доменные сущности, интерфейсы, для библиотеки Godfather</description> <description>Доменные сущности, интерфейсы, для библиотеки Godfather</description>
<url>https://github.com/Godfather-Bots/godfather</url>
<licenses> <properties>
<license> <skip.deploy>false</skip.deploy>
<name>BSD 3-Clause "New" or "Revised" License</name> </properties>
<url>https://github.com/Godfather-Bots/godfather/blob/master/LICENSE</url>
</license>
</licenses>
<dependencies> <dependencies>
<dependency> <dependency>
@ -55,25 +52,15 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<configuration> <configuration>
<source>17</source> <skipNexusStagingDeployMojo>${skip.deploy}</skipNexusStagingDeployMojo>
<target>17</target>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<scm>
<connection>scm:git:https://github.com/Godfather-Bots/godfather.git</connection>
<url>https://github.com/Godfather-Bots/godfathere</url>
<developerConnection>scm:git:https://github.com/Godfather-Bots/godfather.git</developerConnection>
</scm>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
</project> </project>

View File

@ -1,7 +1,9 @@
package dev.struchkov.godfather.context.domain; package dev.struchkov.godfather.context.domain;
import dev.struchkov.godfather.context.domain.content.Message;
import dev.struchkov.godfather.context.domain.content.attachment.GeoCoordinate; import dev.struchkov.godfather.context.domain.content.attachment.GeoCoordinate;
import dev.struchkov.godfather.context.domain.keyboard.KeyBoard; import dev.struchkov.godfather.context.domain.keyboard.KeyBoard;
import dev.struchkov.godfather.context.service.usercode.ProcessingData;
import dev.struchkov.godfather.context.utils.Description; import dev.struchkov.godfather.context.utils.Description;
import lombok.Builder; import lombok.Builder;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -37,4 +39,8 @@ public class BoxAnswer {
return BoxAnswer.builder().message(message).build(); return BoxAnswer.builder().message(message).build();
} }
public static <T extends Message> ProcessingData<T> processing(String messageText) {
return (message) -> builder().message(messageText).build();
}
} }

View File

@ -8,6 +8,7 @@ package dev.struchkov.godfather.context.domain.content.attachment;
public enum AttachmentType { public enum AttachmentType {
AUDIO_MESSAGE, AUDIO_MESSAGE,
GEO GEO,
LINK
} }

View File

@ -0,0 +1,19 @@
package dev.struchkov.godfather.context.domain.content.attachment;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@EqualsAndHashCode(callSuper = true)
@ToString
public class Link extends Attachment {
private String url;
public Link() {
this.type = AttachmentType.LINK;
}
}

View File

@ -1,4 +1,4 @@
package dev.struchkov.godfather.core.service.usercode; package dev.struchkov.godfather.context.service.usercode;
import dev.struchkov.godfather.context.domain.content.Message; import dev.struchkov.godfather.context.domain.content.Message;

View File

@ -1,4 +1,4 @@
package dev.struchkov.godfather.core.service.usercode; package dev.struchkov.godfather.context.service.usercode;
import java.util.List; import java.util.List;

View File

@ -1,4 +1,4 @@
package dev.struchkov.godfather.core.service.usercode; package dev.struchkov.godfather.context.service.usercode;
import dev.struchkov.godfather.context.domain.BoxAnswer; import dev.struchkov.godfather.context.domain.BoxAnswer;
import dev.struchkov.godfather.context.domain.content.Message; import dev.struchkov.godfather.context.domain.content.Message;

View File

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>dev.struchkov.godfather</groupId> <groupId>dev.struchkov.godfather</groupId>
<artifactId>godfather-bot</artifactId> <artifactId>godfather-bot</artifactId>
<version>0.0.1-RELEASE</version> <version>0.0.2</version>
</parent> </parent>
<artifactId>bot-core</artifactId> <artifactId>bot-core</artifactId>
@ -15,13 +15,10 @@
<name>Bot Core</name> <name>Bot Core</name>
<description>Реализация основной логики для создания ботов без привязки к конкретным социальным сетям.</description> <description>Реализация основной логики для создания ботов без привязки к конкретным социальным сетям.</description>
<url>https://github.com/Godfather-Bots/godfather</url>
<licenses> <properties>
<license> <skip.deploy>false</skip.deploy>
<name>BSD 3-Clause "New" or "Revised" License</name> </properties>
<url>https://github.com/Godfather-Bots/godfather/blob/master/LICENSE</url>
</license>
</licenses>
<dependencies> <dependencies>
<dependency> <dependency>
@ -45,34 +42,15 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<configuration> <configuration>
<source>17</source> <skipNexusStagingDeployMojo>${skip.deploy}</skipNexusStagingDeployMojo>
<target>17</target>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<scm>
<connection>scm:git:https://github.com/Godfather-Bots/godfather.git</connection>
<url>https://github.com/Godfather-Bots/godfathere</url>
<developerConnection>scm:git:https://github.com/Godfather-Bots/godfather.git</developerConnection>
</scm>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<developers>
<developer>
<id>uPagge</id>
<name>Struchkov Mark</name>
<email>upagge@mail.ru</email>
<organization>SADTECH</organization>
</developer>
</developers>
</project> </project>

View File

@ -134,11 +134,11 @@ public class GeneralAutoResponder<T extends Message> extends TimerTask {
if (actionUnitMap.containsKey(unitAnswer.getType())) { if (actionUnitMap.containsKey(unitAnswer.getType())) {
ActionUnit actionUnit = actionUnitMap.get(unitAnswer.getType()); ActionUnit actionUnit = actionUnitMap.get(unitAnswer.getType());
MainUnit mainUnit = actionUnit.action(unitAnswer, event); MainUnit mainUnit = actionUnit.action(unitAnswer, event);
if (!unitAnswer.equals(mainUnit)) return getAction(event, mainUnit); return !unitAnswer.equals(mainUnit) ? getAction(event, mainUnit) : mainUnit;
return mainUnit; } else {
}
throw new NotFoundException("ActionUnit для типа " + unitAnswer.getType() + " не зарегистрирован"); throw new NotFoundException("ActionUnit для типа " + unitAnswer.getType() + " не зарегистрирован");
} }
}
@Override @Override
public void run() { public void run() {

View File

@ -2,7 +2,7 @@ package dev.struchkov.godfather.core.domain;
import dev.struchkov.godfather.context.utils.Description; import dev.struchkov.godfather.context.utils.Description;
import dev.struchkov.godfather.core.domain.unit.MainUnit; import dev.struchkov.godfather.core.domain.unit.MainUnit;
import dev.struchkov.godfather.core.service.usercode.CheckData; import dev.struchkov.godfather.context.service.usercode.CheckData;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

@ -2,7 +2,7 @@ package dev.struchkov.godfather.core.domain.unit;
import dev.struchkov.godfather.context.domain.content.Message; import dev.struchkov.godfather.context.domain.content.Message;
import dev.struchkov.godfather.context.utils.Description; import dev.struchkov.godfather.context.utils.Description;
import dev.struchkov.godfather.core.service.usercode.CheckData; import dev.struchkov.godfather.context.service.usercode.CheckData;
import dev.struchkov.godfather.core.utils.TypeUnit; import dev.struchkov.godfather.core.utils.TypeUnit;
import lombok.Builder; import lombok.Builder;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@ -3,7 +3,7 @@ package dev.struchkov.godfather.core.domain.unit;
import dev.struchkov.godfather.context.domain.content.Message; import dev.struchkov.godfather.context.domain.content.Message;
import dev.struchkov.godfather.context.service.sender.Sending; import dev.struchkov.godfather.context.service.sender.Sending;
import dev.struchkov.godfather.context.utils.Description; import dev.struchkov.godfather.context.utils.Description;
import dev.struchkov.godfather.core.service.usercode.ProcessingData; import dev.struchkov.godfather.context.service.usercode.ProcessingData;
import dev.struchkov.godfather.core.utils.TypeUnit; import dev.struchkov.godfather.core.utils.TypeUnit;
import lombok.Builder; import lombok.Builder;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@ -1,9 +1,11 @@
package dev.struchkov.godfather.core.domain.unit; package dev.struchkov.godfather.core.domain.unit;
import dev.struchkov.godfather.context.domain.BoxAnswer; import dev.struchkov.godfather.context.domain.BoxAnswer;
import dev.struchkov.godfather.context.domain.content.Message;
import dev.struchkov.godfather.context.service.sender.Sending; import dev.struchkov.godfather.context.service.sender.Sending;
import dev.struchkov.godfather.context.utils.Description; import dev.struchkov.godfather.context.utils.Description;
import dev.struchkov.godfather.core.service.usercode.Insert; import dev.struchkov.godfather.context.service.usercode.Insert;
import dev.struchkov.godfather.context.service.usercode.ProcessingData;
import dev.struchkov.godfather.core.utils.TypeUnit; import dev.struchkov.godfather.core.utils.TypeUnit;
import lombok.Builder; import lombok.Builder;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -20,10 +22,10 @@ import java.util.regex.Pattern;
*/ */
@Getter @Getter
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class AnswerText extends MainUnit { public class AnswerText<M extends Message> extends MainUnit {
@Description("Объект, который необходимо отправить пользователю") @Description("Объект, который необходимо отправить пользователю")
private final BoxAnswer boxAnswer; private final ProcessingData<M> boxAnswer;
@Description("Информация, которую необходимо вставить вместо маркеров в строку ответа") @Description("Информация, которую необходимо вставить вместо маркеров в строку ответа")
private final Insert insert; private final Insert insert;
@ -39,7 +41,7 @@ public class AnswerText extends MainUnit {
Integer priority, Integer priority,
@Singular Set<MainUnit> nextUnits, @Singular Set<MainUnit> nextUnits,
UnitActiveType activeType, UnitActiveType activeType,
BoxAnswer boxAnswer, ProcessingData<M> boxAnswer,
Insert insert, Insert insert,
Sending sending) { Sending sending) {
super(keyWords, phrase, pattern, matchThreshold, priority, nextUnits, activeType, TypeUnit.TEXT); super(keyWords, phrase, pattern, matchThreshold, priority, nextUnits, activeType, TypeUnit.TEXT);
@ -49,7 +51,7 @@ public class AnswerText extends MainUnit {
} }
public static AnswerText of(String message) { public static AnswerText of(String message) {
return AnswerText.builder().boxAnswer(BoxAnswer.of(message)).build(); return builder().boxAnswer(BoxAnswer.processing(message)).build();
} }
} }

View File

@ -1,7 +1,7 @@
package dev.struchkov.godfather.core.domain.unit; package dev.struchkov.godfather.core.domain.unit;
import dev.struchkov.godfather.context.utils.Description; import dev.struchkov.godfather.context.utils.Description;
import dev.struchkov.godfather.core.service.usercode.CheckData; import dev.struchkov.godfather.context.service.usercode.CheckData;
import dev.struchkov.godfather.core.utils.TypeUnit; import dev.struchkov.godfather.core.utils.TypeUnit;
import lombok.Builder; import lombok.Builder;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@ -3,7 +3,7 @@ package dev.struchkov.godfather.core.domain.unit;
import dev.struchkov.godfather.context.utils.Description; import dev.struchkov.godfather.context.utils.Description;
import dev.struchkov.godfather.core.service.save.LocalPreservable; import dev.struchkov.godfather.core.service.save.LocalPreservable;
import dev.struchkov.godfather.core.service.save.Preservable; import dev.struchkov.godfather.core.service.save.Preservable;
import dev.struchkov.godfather.core.service.usercode.ClarificationQuestion; import dev.struchkov.godfather.core.service.ClarificationQuestion;
import dev.struchkov.godfather.core.utils.TypeUnit; import dev.struchkov.godfather.core.utils.TypeUnit;
import lombok.Builder; import lombok.Builder;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

View File

@ -1,4 +1,4 @@
package dev.struchkov.godfather.core.service.usercode; package dev.struchkov.godfather.core.service;
import dev.struchkov.godfather.context.domain.content.Message; import dev.struchkov.godfather.context.domain.content.Message;
import dev.struchkov.godfather.core.domain.Clarification; import dev.struchkov.godfather.core.domain.Clarification;

View File

@ -56,7 +56,7 @@ public class AnswerAccountAction implements ActionUnit<AnswerAccount, Mail> {
.keyBoard(KeyBoards.singelton(buttonAccount)) .keyBoard(KeyBoards.singelton(buttonAccount))
.build(); .build();
return AnswerText.builder().boxAnswer(boxAnswer).build(); return AnswerText.builder().boxAnswer(message -> boxAnswer).build();
} }
private void settingCheckTimer(AnswerAccount answerAccount, Mail mail, Integer accountId) { private void settingCheckTimer(AnswerAccount answerAccount, Mail mail, Integer accountId) {

View File

@ -25,7 +25,7 @@ public class AnswerTextAction implements ActionUnit<AnswerText, Message> {
@Override @Override
public MainUnit action(AnswerText answerText, Message message) { public MainUnit action(AnswerText answerText, Message message) {
BoxAnswer boxAnswer = answerText.getBoxAnswer().toBuilder().build(); BoxAnswer boxAnswer = answerText.getBoxAnswer().processing(message);
if (answerText.getInsert() != null) { if (answerText.getInsert() != null) {
List<String> words = answerText.getInsert().insert(message.getPersonId()); List<String> words = answerText.getInsert().insert(message.getPersonId());
String newMessage = InsertWords.insert(boxAnswer.getMessage(), words); String newMessage = InsertWords.insert(boxAnswer.getMessage(), words);

View File

@ -43,7 +43,7 @@ public class AnswerValidityAction implements ActionUnit<AnswerValidity, Message>
.clearKeyWords().keyWords(WORDS_YES_NO) .clearKeyWords().keyWords(WORDS_YES_NO)
.build(); .build();
return AnswerText.builder() return AnswerText.builder()
.boxAnswer(clarification.getQuestion()) .boxAnswer(mes -> clarification.getQuestion())
.nextUnit(newValidity) .nextUnit(newValidity)
.build(); .build();
} }

View File

@ -4,7 +4,7 @@ import dev.struchkov.godfather.context.domain.content.Message;
import dev.struchkov.godfather.context.utils.MessageUtils; import dev.struchkov.godfather.context.utils.MessageUtils;
import dev.struchkov.godfather.core.GeneralAutoResponder; import dev.struchkov.godfather.core.GeneralAutoResponder;
import dev.struchkov.godfather.core.domain.Timer; import dev.struchkov.godfather.core.domain.Timer;
import dev.struchkov.godfather.core.service.usercode.CheckData; import dev.struchkov.godfather.context.service.usercode.CheckData;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.time.Clock; import java.time.Clock;

View File

@ -65,7 +65,7 @@ public class QuestionUtils {
.keyBoard(KeyBoards.verticalDuoMenuString(collectAnswer)).build(); .keyBoard(KeyBoards.verticalDuoMenuString(collectAnswer)).build();
AnswerText.AnswerTextBuilder answerTextBuilder = AnswerText.builder() AnswerText.AnswerTextBuilder answerTextBuilder = AnswerText.builder()
.boxAnswer(boxAnswer); .boxAnswer(message -> boxAnswer);
for (QuestionAnswer questionAnswer : question.getQuestionAnswers()) { for (QuestionAnswer questionAnswer : question.getQuestionAnswers()) {
AnswerSave.AnswerSaveBuilder answerSaveBuilder = AnswerSave.<QuestionResult>builder() AnswerSave.AnswerSaveBuilder answerSaveBuilder = AnswerSave.<QuestionResult>builder()

92
pom.xml
View File

@ -6,12 +6,13 @@
<groupId>dev.struchkov.godfather</groupId> <groupId>dev.struchkov.godfather</groupId>
<artifactId>godfather-bot</artifactId> <artifactId>godfather-bot</artifactId>
<version>0.0.1-RELEASE</version> <version>0.0.2</version>
<packaging>pom</packaging>
<modules> <modules>
<module>bot-context</module> <module>bot-context</module>
<module>bot-core</module> <module>bot-core</module>
</modules> </modules>
<packaging>pom</packaging>
<name>GodFather Bot</name> <name>GodFather Bot</name>
<description>Абстрактная бииблиотека для помощи в реализации библиотек ботов для конкретных социальных сетей</description> <description>Абстрактная бииблиотека для помощи в реализации библиотек ботов для конкретных социальных сетей</description>
@ -24,17 +25,20 @@
</licenses> </licenses>
<properties> <properties>
<maven.compiler.source>17</maven.compiler.source> <java.version>17</java.version>
<maven.compiler.target>17</maven.compiler.target> <maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<godfather.context.ver>0.0.1-RELEASE</godfather.context.ver> <godfather.context.ver>0.0.2</godfather.context.ver>
<godfather.core.ver>0.0.1-RELEASE</godfather.core.ver> <godfather.core.ver>0.0.2</godfather.core.ver>
<autoresponder.ver>1.9.4-RELEASE</autoresponder.ver> <autoresponder.ver>1.9.4-RELEASE</autoresponder.ver>
<gson.ver>2.8.9</gson.ver> <gson.ver>2.8.9</gson.ver>
<mail.ver>1.6.2</mail.ver> <mail.ver>1.6.2</mail.ver>
<lombok.ver>1.18.22</lombok.ver> <lombok.ver>1.18.22</lombok.ver>
<spring.data.jpa.ver>2.3.0.RELEASE</spring.data.jpa.ver> <spring.data.jpa.ver>2.6.1</spring.data.jpa.ver>
<javax.persistence.api.ver>2.2</javax.persistence.api.ver> <javax.persistence.api.ver>2.2</javax.persistence.api.ver>
<validation.api.ver>2.0.1.Final</validation.api.ver> <validation.api.ver>2.0.1.Final</validation.api.ver>
<commons.io.ver>2.11.0</commons.io.ver> <commons.io.ver>2.11.0</commons.io.ver>
@ -98,32 +102,6 @@
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build> <build>
<pluginManagement> <pluginManagement>
<plugins> <plugins>
@ -137,13 +115,6 @@
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose> <autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration> </configuration>
<dependencies>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>${xstream.ver}</version>
</dependency>
</dependencies>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -184,11 +155,14 @@
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${plugin.maven.compiler.ver}</version>
<configuration> <configuration>
<gpgArguments> <source>${java.version}</source>
<gpgArgument>--pinentry-mode</gpgArgument> <target>${java.version}</target>
<gpgArgument>loopback</gpgArgument>
</gpgArguments>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
@ -198,14 +172,36 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<scm> <scm>
<connection>scm:git:https://github.com/Godfather-Bots/godfather.git</connection> <connection>scm:git:https://github.com/Godfather-Bots/godfather.git</connection>
<url>https://github.com/Godfather-Bots/godfathere</url> <url>https://github.com/Godfather-Bots/godfathere</url>