You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/10/18 11:49:02 UTC
[openmeetings] branch 4.0.x updated: [OPENMEETINGS-1870,
OPENMEETINGS-1957] kick all from room should work,
method tokick particular external user is added
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/4.0.x by this push:
new b5444a4 [OPENMEETINGS-1870,OPENMEETINGS-1957] kick all from room should work, method tokick particular external user is added
b5444a4 is described below
commit b5444a43c664e534563a3df4f1b0304bb713c49e
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Thu Oct 18 18:48:49 2018 +0700
[OPENMEETINGS-1870,OPENMEETINGS-1957] kick all from room should work, method tokick particular external user is added
---
.../openmeetings/db/dao/user/IUserManager.java | 2 +-
.../web/admin/connection/ConnectionsPanel.java | 4 +-
.../apache/openmeetings/web/app/UserManager.java | 28 +
.../openmeetings/webservice/RoomWebService.java | 31 +-
.../openmeetings/webservice/UserWebService.java | 19 -
pom.xml | 887 +++++++++++----------
6 files changed, 511 insertions(+), 460 deletions(-)
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
index 9faffec..262b381 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/IUserManager.java
@@ -37,6 +37,6 @@ public interface IUserManager {
Long getLanguage(Locale loc);
User loginOAuth(OAuthUser user, long serverId) throws IOException, NoSuchAlgorithmException;
- boolean kickById(String uid);
+ boolean kickExternal(Long roomId, String externalType, String externalId);
boolean kickUsersByRoomId(Long roomId);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
index 6fbbbb8..dfe2255 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
@@ -27,7 +27,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.basic.IClient;
import org.apache.openmeetings.db.entity.room.StreamClient;
@@ -35,6 +34,7 @@ import org.apache.openmeetings.web.admin.AdminBasePanel;
import org.apache.openmeetings.web.admin.SearchableDataView;
import org.apache.openmeetings.web.app.ClientManager;
import org.apache.openmeetings.web.app.StreamClientManager;
+import org.apache.openmeetings.web.app.UserManager;
import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
import org.apache.openmeetings.web.common.PagedEntityListPanel;
import org.apache.openmeetings.web.data.SearchableDataProvider;
@@ -90,7 +90,7 @@ public class ConnectionsPanel extends AdminBasePanel {
protected void onSubmit(AjaxRequestTarget target) {
IClient _c = item.getModelObject();
if (_c instanceof StreamClient) {
- getBean(IUserManager.class).kickById(_c.getUid());
+ getBean(UserManager.class).kickById(_c.getUid());
} else {
Client c = (Client)_c;
getBean(ClientManager.class).invalidate(c.getUserId(), c.getSessionId());
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
index 7885db8..ec08381 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/UserManager.java
@@ -45,11 +45,13 @@ import org.apache.openmeetings.db.dao.user.GroupDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.user.OAuthUser;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.user.GroupUser;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.entity.user.User.Type;
+import org.apache.openmeetings.db.manager.IClientManager;
import org.apache.openmeetings.db.manager.IStreamClientManager;
import org.apache.openmeetings.service.mail.EmailManager;
import org.apache.openmeetings.util.OmException;
@@ -83,6 +85,8 @@ public class UserManager implements IUserManager {
private ScopeApplicationAdapter scopeAdapter;
@Autowired
private IStreamClientManager streamClientManager;
+ @Autowired
+ private IClientManager cm;
private boolean sendConfirmation() {
String baseURL = getBaseUrl();
@@ -218,6 +222,9 @@ public class UserManager implements IUserManager {
messageObj.put(0, "kick");
scopeAdapter.sendMessageById(messageObj, rcl.getUid(), currentScope);
}
+ for (Client c : cm.listByRoom(roomId)) {
+ Application.kickUser(c);
+ }
return true;
} catch (Exception err) {
log.error("[kickUsersByRoomId]", err);
@@ -226,6 +233,27 @@ public class UserManager implements IUserManager {
}
@Override
+ public boolean kickExternal(Long roomId, String externalType, String externalId) {
+ boolean result = false;
+ try {
+ if (roomId == null) {
+ return result;
+ }
+ User u = userDao.getExternalUser(externalId, externalType);
+ if (u != null) {
+ for (Client c : cm.listByUser(u.getId())) {
+ if (roomId.equals(c.getRoomId())) {
+ Application.kickUser(c);
+ result = true;
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error("[kickExternal]", e);
+ }
+ return result;
+ }
+
public boolean kickById(String uid) {
try {
StreamClient rcl = streamClientManager.get(uid);
diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
index 09dfc3b..112d4ee 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
@@ -296,7 +296,7 @@ public class RoomWebService extends BaseWebService {
@WebMethod
@GET
@Path("/kick/{id}")
- public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") String sid, @WebParam(name="id") @PathParam("id") long id) {
+ public ServiceResult kickAll(@WebParam(name="sid") @QueryParam("sid") String sid, @WebParam(name="id") @PathParam("id") long id) {
return performCall(sid, User.Right.Soap, sd -> {
boolean result = getBean(IUserManager.class).kickUsersByRoomId(id);
return new ServiceResult(result ? "Kicked" : "Not kicked", Type.SUCCESS);
@@ -304,6 +304,35 @@ public class RoomWebService extends BaseWebService {
}
/**
+ * kick external user from given room
+ *
+ * @param sid
+ * The SID of the User. This SID must be marked as Loggedin
+ * _Admin
+ * @param id
+ * the room id
+ * @param externalType
+ * external type of user to kick
+ * @param externalId
+ * external id of user to kick
+ *
+ * @return - true if user was kicked, false otherwise
+ */
+ @WebMethod
+ @GET
+ @Path("/kick/{id}/{externalType}/{externalId}")
+ public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") String sid
+ , @WebParam(name="id") @PathParam("id") long id
+ , @WebParam(name="externalType") @PathParam("externalType") String externalType
+ , @WebParam(name="externalId") @PathParam("externalId") String externalId)
+ {
+ return performCall(sid, User.Right.Soap, sd -> {
+ boolean result = getBean(IUserManager.class).kickExternal(id, externalType, externalId);
+ return new ServiceResult(result ? "Kicked" : "Not kicked", Type.SUCCESS);
+ });
+ }
+
+ /**
* Returns the count of users currently in the Room with given id
*
* @param sid The SID from UserService.getSession
diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
index e2033bd..587d217 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
@@ -331,23 +331,4 @@ public class UserWebService extends BaseWebService {
return UNKNOWN;
});
}
-
- /**
- * Kick a user by its public SID
- *
- * @param sid
- * The SID from getSession
- * @param uid the uid of the client
- * @return - <code>true</code> if user was kicked
- */
- @WebMethod
- @POST
- @Path("/kick/{uid}")
- public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") String sid, @WebParam(name="uid") @PathParam("uid") String uid) {
- return performCall(sid, User.Right.Soap, sd -> {
- boolean success = getBean(IUserManager.class).kickById(uid);
-
- return new ServiceResult(Boolean.TRUE.equals(success) ? "kicked" : "not kicked", Type.SUCCESS);
- });
- }
}
diff --git a/pom.xml b/pom.xml
index 595e172..c9e5645 100644
--- a/pom.xml
+++ b/pom.xml
@@ -120,218 +120,6 @@
<db_user></db_user>
<db_pass></db_pass>
</properties>
- <profiles>
- <profile>
- <id>allModules</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>openmeetings-util</module>
- <module>openmeetings-db</module>
- <module>openmeetings-core</module>
- <module>openmeetings-install</module>
- <module>openmeetings-service</module>
- <module>openmeetings-webservice</module>
- <module>openmeetings-web</module>
- <module>openmeetings-flash</module>
- <module>openmeetings-screenshare</module>
- <module>openmeetings-server</module>
- </modules>
- </profile>
- <profile>
- <id>quick</id>
- <properties>
- <maven.test.skip>true</maven.test.skip>
- <om.quick.build>true</om.quick.build>
- <red5-server.dwnd.skip>true</red5-server.dwnd.skip>
- <wicket.configuration>DEVELOPMENT</wicket.configuration>
- <src.pack.skip>true</src.pack.skip>
- </properties>
- </profile>
- <profile>
- <id>rc</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>${maven-enforcer-plugin.version}</version>
- <executions>
- <execution>
- <id>enforce-versions</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireJavaVersion>
- <version>[${jdk.version}.0,)</version>
- </requireJavaVersion>
- </rules>
- <failFast>true</failFast>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>${maven-source-plugin.version}</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>net.nicoulaj.maven.plugins</groupId>
- <artifactId>checksum-maven-plugin</artifactId>
- <version>${checksum-maven-plugin.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>artifacts</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <shasumSummary>true</shasumSummary>
- <algorithms>
- <algorithm>SHA-512</algorithm>
- </algorithms>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>${maven-gpg-plugin.version}</version>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>release</id>
- <properties>
- <jarsigner.skip>true</jarsigner.skip>
- </properties>
- </profile>
- <profile>
- <id>deploy</id>
- <modules>
- <module>openmeetings-util</module>
- <module>openmeetings-db</module>
- </modules>
- </profile>
- <profile>
- <id>generate-third-party</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>license-maven-plugin</artifactId>
- <version>${license-maven-plugin.version}</version>
- <executions>
- <execution>
- <id>download-licenses</id>
- <goals>
- <goal>aggregate-add-third-party</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}</outputDirectory>
- <useMissingFile>true</useMissingFile>
- <licenseMerges>
- <licenseMerge>
- The Apache Software License, Version 2.0|
- Apache Software License 2.0|
- Apache License, Version 2.0|
- Apache License|
- Apache License 2.0|
- Apache 2|
- Apache 2.0|
- Apache 2.0 License|
- The Apache License, Version 2.0|
- Apache Software License - Version 2.0|
- Apache Software Licenses|
- Apache License, Version 2.0 and|
- ASL, version 2|
- ASF 2.0|
- Apache License, Version 2.0 and
- Common Development And Distribution License (CDDL) Version 1.0|
- The SAX License
- </licenseMerge>
- <licenseMerge>
- Eclipse Public License 1.0|
- Eclipse Public License - v 1.0|
- Eclipse Public License - Version 1.0
- </licenseMerge>
- <licenseMerge>
- BSD license|
- BSD|
- The BSD License
- </licenseMerge>
- <licenseMerge>
- FreeBSD License|
- The BSD 2-Clause License|
- BSD-2-Clause|
- BSD style
- </licenseMerge>
- <licenseMerge>
- BSD License 2.0|
- BSD 3-clause New License|
- New BSD License
- </licenseMerge>
- <licenseMerge>
- The W3C License|
- The W3C Software License
- </licenseMerge>
- </licenseMerges>
- <fileTemplate>/org/codehaus/mojo/license/third-party-file-groupByLicense.ftl</fileTemplate>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>Jenkins</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludedGroups>org.apache.openmeetings.test.NonJenkinsTests</excludedGroups>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
<url>https://openmeetings.apache.org</url>
<inceptionYear>2012</inceptionYear>
<organization>
@@ -1148,231 +936,6 @@
<append>true</append>
</configuration>
</plugin>
-
- <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <versionRange>[2.3.7,)</versionRange>
- <goals>
- <goal>manifest</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-remote-resources-plugin</artifactId>
- <versionRange>[1.0.0,)</versionRange>
- <goals>
- <goal>process</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <versionRange>[0.10,)</versionRange>
- <goals>
- <goal>check</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <versionRange>[3.3,)</versionRange>
- <goals>
- <goal>site</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <versionRange>[2.9.1,)</versionRange>
- <goals>
- <goal>javadoc-no-fork</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <versionRange>[1.8,)</versionRange>
- <goals>
- <goal>run</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <versionRange>[2.10,)</versionRange>
- <goals>
- <goal>unpack</goal>
- <goal>copy-dependencies</goal>
- <goal>copy</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-maven-plugin</artifactId>
- <versionRange>[2.3.0,)</versionRange>
- <goals>
- <goal>enhance</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>com.google.code.maven-replacer-plugin</groupId>
- <artifactId>replacer</artifactId>
- <versionRange>[1.5.3,)</versionRange>
- <goals>
- <goal>replace</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>keytool-maven-plugin</artifactId>
- <versionRange>[1.5,)</versionRange>
- <goals>
- <goal>generateKeyPair</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>wagon-maven-plugin</artifactId>
- <versionRange>[1.0-beta-5,)</versionRange>
- <goals>
- <goal>download</goal>
- <goal>download-single</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <versionRange>[2.4,)</versionRange>
- <goals>
- <goal>exploded</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>xml-maven-plugin</artifactId>
- <versionRange>[1.0,)</versionRange>
- <goals>
- <goal>transform</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>com.internetitem</groupId>
- <artifactId>write-properties-file-maven-plugin</artifactId>
- <versionRange>[1.0.1,)</versionRange>
- <goals>
- <goal>write-properties-file</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <versionRange>[1.6.0,)</versionRange>
- <goals>
- <goal>java</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>net.flexmojos.oss</groupId>
- <artifactId>flexmojos-maven-plugin</artifactId>
- <versionRange>[7.0.0,)</versionRange>
- <goals>
- <goal>compile-swf</goal>
- <goal>test-compile</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
</plugins>
</pluginManagement>
</build>
@@ -1431,5 +994,455 @@
</plugin>
</plugins>
</reporting>
+ <profiles>
+ <profile>
+ <id>allModules</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <modules>
+ <module>openmeetings-util</module>
+ <module>openmeetings-db</module>
+ <module>openmeetings-core</module>
+ <module>openmeetings-install</module>
+ <module>openmeetings-service</module>
+ <module>openmeetings-webservice</module>
+ <module>openmeetings-web</module>
+ <module>openmeetings-flash</module>
+ <module>openmeetings-screenshare</module>
+ <module>openmeetings-server</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>quick</id>
+ <properties>
+ <maven.test.skip>true</maven.test.skip>
+ <om.quick.build>true</om.quick.build>
+ <red5-server.dwnd.skip>true</red5-server.dwnd.skip>
+ <wicket.configuration>DEVELOPMENT</wicket.configuration>
+ <src.pack.skip>true</src.pack.skip>
+ </properties>
+ </profile>
+ <profile>
+ <id>rc</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${maven-enforcer-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>enforce-versions</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>[${jdk.version}.0,)</version>
+ </requireJavaVersion>
+ </rules>
+ <failFast>true</failFast>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>${maven-source-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>net.nicoulaj.maven.plugins</groupId>
+ <artifactId>checksum-maven-plugin</artifactId>
+ <version>${checksum-maven-plugin.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>artifacts</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <shasumSummary>true</shasumSummary>
+ <algorithms>
+ <algorithm>SHA-512</algorithm>
+ </algorithms>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>${maven-gpg-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>release</id>
+ <properties>
+ <jarsigner.skip>true</jarsigner.skip>
+ </properties>
+ </profile>
+ <profile>
+ <id>deploy</id>
+ <modules>
+ <module>openmeetings-util</module>
+ <module>openmeetings-db</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>generate-third-party</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>license-maven-plugin</artifactId>
+ <version>${license-maven-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>download-licenses</id>
+ <goals>
+ <goal>aggregate-add-third-party</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ <useMissingFile>true</useMissingFile>
+ <licenseMerges>
+ <licenseMerge>
+ The Apache Software License, Version 2.0|
+ Apache Software License 2.0|
+ Apache License, Version 2.0|
+ Apache License|
+ Apache License 2.0|
+ Apache 2|
+ Apache 2.0|
+ Apache 2.0 License|
+ The Apache License, Version 2.0|
+ Apache Software License - Version 2.0|
+ Apache Software Licenses|
+ Apache License, Version 2.0 and|
+ ASL, version 2|
+ ASF 2.0|
+ Apache License, Version 2.0 and
+ Common Development And Distribution License (CDDL) Version 1.0|
+ The SAX License
+ </licenseMerge>
+ <licenseMerge>
+ Eclipse Public License 1.0|
+ Eclipse Public License - v 1.0|
+ Eclipse Public License - Version 1.0
+ </licenseMerge>
+ <licenseMerge>
+ BSD license|
+ BSD|
+ The BSD License
+ </licenseMerge>
+ <licenseMerge>
+ FreeBSD License|
+ The BSD 2-Clause License|
+ BSD-2-Clause|
+ BSD style
+ </licenseMerge>
+ <licenseMerge>
+ BSD License 2.0|
+ BSD 3-clause New License|
+ New BSD License
+ </licenseMerge>
+ <licenseMerge>
+ The W3C License|
+ The W3C Software License
+ </licenseMerge>
+ </licenseMerges>
+ <fileTemplate>/org/codehaus/mojo/license/third-party-file-groupByLicense.ftl</fileTemplate>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>Jenkins</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludedGroups>org.apache.openmeetings.test.NonJenkinsTests</excludedGroups>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>only-eclipse</id>
+ <activation>
+ <property>
+ <name>m2e.version</name>
+ </property>
+ </activation>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <versionRange>[2.3.7,)</versionRange>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <versionRange>[1.0.0,)</versionRange>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <versionRange>[0.10,)</versionRange>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <versionRange>[3.3,)</versionRange>
+ <goals>
+ <goal>site</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <versionRange>[2.9.1,)</versionRange>
+ <goals>
+ <goal>javadoc-no-fork</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <versionRange>[1.8,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <versionRange>[2.10,)</versionRange>
+ <goals>
+ <goal>unpack</goal>
+ <goal>copy-dependencies</goal>
+ <goal>copy</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa-maven-plugin</artifactId>
+ <versionRange>[2.3.0,)</versionRange>
+ <goals>
+ <goal>enhance</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>com.google.code.maven-replacer-plugin</groupId>
+ <artifactId>replacer</artifactId>
+ <versionRange>[1.5.3,)</versionRange>
+ <goals>
+ <goal>replace</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>keytool-maven-plugin</artifactId>
+ <versionRange>[1.5,)</versionRange>
+ <goals>
+ <goal>generateKeyPair</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>wagon-maven-plugin</artifactId>
+ <versionRange>[1.0-beta-5,)</versionRange>
+ <goals>
+ <goal>download</goal>
+ <goal>download-single</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <versionRange>[2.4,)</versionRange>
+ <goals>
+ <goal>exploded</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <versionRange>[1.0,)</versionRange>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>com.internetitem</groupId>
+ <artifactId>write-properties-file-maven-plugin</artifactId>
+ <versionRange>[1.0.1,)</versionRange>
+ <goals>
+ <goal>write-properties-file</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <versionRange>[1.6.0,)</versionRange>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>net.flexmojos.oss</groupId>
+ <artifactId>flexmojos-maven-plugin</artifactId>
+ <versionRange>[7.0.0,)</versionRange>
+ <goals>
+ <goal>compile-swf</goal>
+ <goal>test-compile</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+ </profiles>
</project>