Developing bbb-web

281 views
Skip to first unread message

Kaisar Barlybay

unread,
Apr 12, 2021, 7:28:14 AM4/12/21
to BigBlueButton-dev
I have changed several functions for testing purposes in bbb-common-web and bigbluebutton-web folders and want to rebuild bbb-web service. What instructions should I follow?

I tried this one but it didn't work. After replacing the image with the one generated with the help of the `grails assemble` command, the service starts to behave incorrectly. At the start of the conference, I am redirected to the "https://bigbluebutton.example.com", which doesn't exist.

Does anyone have a working algorithm?

Anton Georgiev

unread,
Apr 12, 2021, 8:03:44 PM4/12/21
to BigBlueButton-dev
Hi

You have the right docs for bbb-web development: https://docs.bigbluebutton.org/2.2/dev.html#developing-bbb-web
However, you should clarify what branch of BigBlueButton you're developing on.

Branch 'develop' is BigBlueButton 2.3 beta, and there are some additional docs here https://docs.bigbluebutton.org/dev/dev23.html#local-overrides-for-configuration-settings
You would like to overwrite file /etc/bigbluebutton/bbb-web.properties with your domain and salt (rather than doing the change in "bigbluebutton.properties" like the 2.2 docs say. You will want to update /etc/bigbluebutton/bbb-web.properties before you run the modified bbb-web. (Make sure to "sudo systemctl stop bbb-web" first to stop the default bbb-web)

The rest is unchanged, I believe.

-Anton

Kaisar Barlybay

unread,
Apr 21, 2021, 4:18:18 AM4/21/21
to BigBlueButton-dev
Hi Anton,

the documentation turned out to be really correct. I followed the instructions again, only at the end I replaced the new generated bigbluebutton.properties with the old one from the bbb-web-old folder and it worked.


But now another problem arose and it seems to me that it is related to the fact that I rebuilt bbb-web. When trying to rebuild bbb-akka-apps following this instruction, I get an error in step 3 (sbt debian:packageBin):

[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT: not found

Also, when running 2nd and 3rd commands, the sudo prefix is now required, otherwise it complains about the lack of rights (which was not required before).

Can anyone provide some advice? I seem to have touched on something, but I can't figure out what exactly.

Full trace:
[info] Loading settings for project akka-bbb-apps-build from plugins.sbt,packager.sbt ...
[info] Loading project definition from /home/boss/dev/bigbluebutton/akka-bbb-apps/project
[info] Loading settings for project bbbAppsAkka from build.sbt ...
[info] Set current project to bbb-apps-akka (in build file:/home/boss/dev/bigbluebutton/akka-bbb-apps/)
[info] Scalariform auto formatting enabled
[info] Updating ...
[info] Applying Scalariform preferences found in /home/boss/dev/bigbluebutton/akka-bbb-apps/./.scalariform.conf
[info] Formatting 264 Scala sources ProjectRef(uri("file:/home/boss/dev/bigbluebutton/akka-bbb-apps/"), "bbbAppsAkka")(compile) ...
[info] Packaging /home/boss/dev/bigbluebutton/akka-bbb-apps/target/scala-2.12/bbb-apps-akka_2.12-0.0.4-sources.jar ...
[info] Done packaging.
[warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict, pick one version:
[warn]  * org.scala-lang:scala-library:(2.12.7, 2.12.8)
[warn] module not found: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT
[warn] ==== local: tried
[warn]   /root/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml
[warn] ==== public: tried
[warn] ==== local-preloaded-ivy: tried
[warn]   /root/.sbt/preloaded/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn]   file:////root/.sbt/preloaded/org/bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/bbb-common-message_2.12-0.0.20-SNAPSHOT.pom
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] ::          UNRESOLVED DEPENDENCIES         ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn] Note: Unresolved dependencies path:
[warn] org.bigbluebutton:bbb-common-message_2.12:0.0.20-SNAPSHOT (/home/boss/dev/bigbluebutton/akka-bbb-apps/build.sbt#L42)
[warn]   +- org.bigbluebutton:bbb-apps-akka_2.12:0.0.4
[info] Wrote /home/boss/dev/bigbluebutton/akka-bbb-apps/target/scala-2.12/bbb-apps-akka_2.12-0.0.4.pom
[error] sbt.librarymanagement.ResolveException: unresolved dependency: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT: not found
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:239)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:45)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:93)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:106)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:106)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:89)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2561)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error] at sbt.std.Transform$$anon$4.work(System.scala:67)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:278)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT: not found
[error] Total time: 8 s, completed Apr 21, 2021 7:23:08 PM

вторник, 13 апреля 2021 г. в 06:03:44 UTC+6, Anton Georgiev:

Anton Georgiev

unread,
Apr 21, 2021, 9:23:37 AM4/21/21
to BigBlueButton-dev
Hi Kaisar,

Could you please state which branch you are using - v2.2.x-release or... 2.3? I am assuming 2.3

> [error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT: not found

akka-apps depends on bbb-common-message library

Also, you would have needed this bbb-common-message dependency (together with the bbb-common-web dependency) when building bbb-web... I did not quite understand why you needed to copy over bigbluebutton.properties...

If I was to make changes to bbb-web or bbb-apps-akka, these would be my steps:
stop the services:
sudo systemctl stop bbb-apps-akka
sudo systemctl stop bbb-web

change to the branch I need:
git checkout v2.3.x-release (for 2.3)

build the dependencies:
cd bigbluebutton/bbb-common-message
./deploy.sh

cd bigbluebutton/bbb-common-web
./deploy.sh

Double check my local config overwrites:
cat /etc/bigbluebutton/bbb-web.properties

cat /etc/bigbluebutton/bbb-apps-akka.conf

only then try to build bbb-web
cd bigbluebutton/bigbluebutton-web
./build.sh
./run.sh (you would need to running it as user named bigbluebutton. Otherwise you may want to look into the deploy using .war in the https://docs.bigbluebutton.org/2.2/dev.html#developing-bbb-web steps)

in different terminal
cd bigbluebutton/bbb-apps-akka
./run.sh

in different terminal
bbb-conf --salt
and open the link in a browser
create
join as moderator


If all is well, it's time to create your akka-apps .deb and install it
cd bigbluebutton/akka-bbb-apps
sbt clean
sbt debian:packageBin
sudo dpkg -i target/*.deb

If still in trouble, please include your exact steps and some more output, no worries if the post is big.

Regards,
Anton

Kaisar Barlybay

unread,
Apr 22, 2021, 2:47:29 AM4/22/21
to BigBlueButton-dev
Hi Anton.

Thanks for the answer. I'm using 2.2.2-release. I copied new bigbluebutton.properties with old one so as not to manually change the securitySalt and bigbluebutton.web.serverURL. Because after building bbb-web, it threw me to http://bigbluebutton.example.com. Apparently when building bigbluebutton.web.serverURL value is generated automatically as http://bigbluebutton.example.com.

I followed your algorithm but got the same result. 

Exact steps with logs:
Stop services:
```
sudo systemctl stop bbb-web
sudo systemctl stop bbb-apps-akka
```

Deploy bbb-common-message:
```
cd ~/dev/bigbluebutton/bbb-common-message
./deploy.sh
```
```log
[info] Loading settings for project bbb-common-message-build from plugins.sbt ...
[info] Loading project definition from /home/boss/dev/bigbluebutton/bbb-common-message/project
[info] Loading settings for project commonMessage from build.sbt ...
[info] Set current project to bbb-common-message (in build file:/home/boss/dev/bigbluebutton/bbb-common-message/)
[success] Total time: 1 s, completed Apr 22, 2021 5:50:13 PM
[info] Updating ...
[info] Scalariform auto formatting enabled
[info] Applying Scalariform preferences found in /home/boss/dev/bigbluebutton/bbb-common-message/./.scalariform.conf
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/bbb-common-message_2.12-0.0.20-SNAPSHOT-sources.jar ...
[info] Formatting 34 Scala sources ProjectRef(uri("file:/home/boss/dev/bigbluebutton/bbb-common-message/"), "commonMessage")(compile) ...
[info] Done packaging.
[info] Wrote /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/bbb-common-message_2.12-0.0.20-SNAPSHOT.pom
[warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict, pick one version:
[warn] * org.scala-lang:scala-library:(2.12.7, 2.12.8)
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Main Scala API documentation to /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/api...
[info] Compiling 34 Scala sources and 10 Java sources to /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/classes ...
[warn] /home/boss/dev/bigbluebutton/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/PresentationPodsMsgs.scala:3:43: Unused import
[warn] import org.bigbluebutton.common2.domain.{ PageVO, PresentationPageConvertedVO, PresentationPageVO, PresentationPodVO, PresentationVO }
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/PresentationPodsMsgs.scala:3:43: Unused import
[warn] import org.bigbluebutton.common2.domain.{ PageVO, PresentationPageConvertedVO, PresentationPageVO, PresentationPodVO, PresentationVO }
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-message/src/main/scala/org/bigbluebutton/common2/redis/RedisConnectionHandler.scala:19:9: local val eventBusSubscription in method subscribeToEventBus is never used
[warn] val eventBusSubscription: Disposable = eventBus.get().subscribe(e => connectionStatusHandler(e, log))
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-message/src/main/scala/org/bigbluebutton/common2/redis/RedisConnectionHandler.scala:19:9: local val eventBusSubscription in method subscribeToEventBus is never used
[warn] val eventBusSubscription: Disposable = eventBus.get().subscribe(e => connectionStatusHandler(e, log))
[warn] ^
model contains 1002 documentable templates
[warn] two warnings found
[warn] /home/boss/dev/bigbluebutton/bbb-common-message/src/main/java/org/bigbluebutton/common2/redis/RedisStorageService.java:25:1: com.sun.org.apache.xpath.internal.operations.Bool is internal proprietary API and may be removed in a future release
[warn] import com.sun.org.apache.xpath.internal.operations.Bool;
[info] Done compiling.
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/bbb-common-message_2.12-0.0.20-SNAPSHOT.jar ...
[info] Done packaging.
[warn] two warnings found
[info] Main Scala API documentation successful.
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/bbb-common-message_2.12-0.0.20-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[info] published bbb-common-message_2.12 to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/bbb-common-message_2.12-0.0.20-SNAPSHOT.pom
[info] published bbb-common-message_2.12 to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/bbb-common-message_2.12-0.0.20-SNAPSHOT.jar
[info] published bbb-common-message_2.12 to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/bbb-common-message_2.12-0.0.20-SNAPSHOT-sources.jar
[info] published bbb-common-message_2.12 to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/bbb-common-message_2.12-0.0.20-SNAPSHOT-javadoc.jar
[success] Total time: 76 s, completed Apr 22, 2021 5:51:29 PM
[info] Wrote /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/bbb-common-message_2.12-0.0.20-SNAPSHOT.pom
[info] Main Scala API documentation to /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/api...
[warn] /home/boss/dev/bigbluebutton/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/PresentationPodsMsgs.scala:3:43: Unused import
[warn] import org.bigbluebutton.common2.domain.{ PageVO, PresentationPageConvertedVO, PresentationPageVO, PresentationPodVO, PresentationVO }
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-message/src/main/scala/org/bigbluebutton/common2/redis/RedisConnectionHandler.scala:19:9: local val eventBusSubscription in method subscribeToEventBus is never used
[warn] val eventBusSubscription: Disposable = eventBus.get().subscribe(e => connectionStatusHandler(e, log))
[warn] ^
model contains 1002 documentable templates
[warn] two warnings found
[info] Main Scala API documentation successful.
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/bbb-common-message_2.12-0.0.20-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[info] :: delivering :: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT :: 0.0.20-SNAPSHOT :: integration :: Thu Apr 22 17:52:25 ALMT 2021
[info] delivering ivy file to /home/boss/dev/bigbluebutton/bbb-common-message/target/scala-2.12/ivy-0.0.20-SNAPSHOT.xml
[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/poms/bbb-common-message_2.12.pom
[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/jars/bbb-common-message_2.12.jar
[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/srcs/bbb-common-message_2.12-sources.jar
[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/docs/bbb-common-message_2.12-javadoc.jar
[info] published ivy to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml
[success] Total time: 56 s, completed Apr 22, 2021 5:52:25 PM
```

Deploy bbb-common-web
```
cd ~/dev/bigbluebutton/bbb-common-web
./deploy.sh
```

```log
[info] Loading settings for project bbb-common-web-build from plugins.sbt ...
[info] Loading project definition from /home/boss/dev/bigbluebutton/bbb-common-web/project
[info] Loading settings for project commonWeb from build.sbt ...
[info] Set current project to bbb-common-web (in build file:/home/boss/dev/bigbluebutton/bbb-common-web/)
[success] Total time: 0 s, completed Apr 22, 2021 5:57:12 PM
[info] Scalariform auto formatting enabled
[info] Updating ...
[info] Applying Scalariform preferences found in /home/boss/dev/bigbluebutton/bbb-common-web/./.scalariform.conf
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-web/target/bbb-common-web-0.0.3-SNAPSHOT-sources.jar ...
[info] Wrote /home/boss/dev/bigbluebutton/bbb-common-web/target/bbb-common-web-0.0.3-SNAPSHOT.pom
[info] Formatting 27 Scala sources ProjectRef(uri("file:/home/boss/dev/bigbluebutton/bbb-common-web/"), "commonWeb")(compile) ...
[info] Done packaging.
[warn] Resolving a snapshot version. It's going to be slow unless you use `updateOptions := updateOptions.value.withLatestSnapshots(false)` options.
[info] Out of 1 candidates we found for org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT in local, we are choosing local.
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Main Scala API documentation to /home/boss/dev/bigbluebutton/bbb-common-web/target/api...
[info] Compiling 27 Scala sources and 185 Java sources to /home/boss/dev/bigbluebutton/bbb-common-web/target/classes ...
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/BbbWebApiGWApp.scala:93:15: private val appsRedisSubscriberActor in class BbbWebApiGWApp is never used
[warn] private val appsRedisSubscriberActor = system.actorOf(
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/BbbWebApiGWApp.scala:93:15: private val appsRedisSubscriberActor in class BbbWebApiGWApp is never used
[warn] private val appsRedisSubscriberActor = system.actorOf(
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:85:15: private method toVector in class Configs is never used
[warn] private def toVector: Vector[Config2] = configs.values.toVector
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:87:15: private method save in class Configs is never used
[warn] private def save(config: Config2): Config2 = {
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:92:15: private method remove in class Configs is never used
[warn] private def remove(id: String): Option[Config2] = {
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/WebRedisSubscriberActor.scala:3:31: Unused import
[warn] import org.bigbluebutton.api2.SystemConfiguration
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:85:15: private method toVector in class Configs is never used
[warn] private def toVector: Vector[Config2] = configs.values.toVector
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:87:15: private method save in class Configs is never used
[warn] private def save(config: Config2): Config2 = {
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:92:15: private method remove in class Configs is never used
[warn] private def remove(id: String): Option[Config2] = {
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/WebRedisSubscriberActor.scala:3:31: Unused import
[warn] import org.bigbluebutton.api2.SystemConfiguration
[warn] ^
model contains 289 documentable templates
[warn] 5 warnings found
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/java/org/bigbluebutton/presentation/imp/Office2PdfPageConverter.java:29:1: com.sun.org.apache.xerces.internal.impl.xs.opti.DefaultDocument is internal proprietary API and may be removed in a future release
[warn] import com.sun.org.apache.xerces.internal.impl.xs.opti.DefaultDocument;
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java:591:1: unchecked cast
[warn] required: java.util.Map<java.lang.String,java.lang.Object>
[warn] found: java.lang.Object
[warn] return (Map<String, Object>) userCustomData.get(userID);
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/java/org/bigbluebutton/common/messages/BbbAppsIsAliveMessage.java:33:1: JsonParser() in com.google.gson.JsonParser has been deprecated
[warn] JsonParser parser = new JsonParser();
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/java/org/bigbluebutton/common/messages/BbbAppsIsAliveMessage.java:34:1: parse(java.lang.String) in com.google.gson.JsonParser has been deprecated
[warn] JsonObject obj = (JsonObject) parser.parse(message);
[warn] 5 warnings found
[info] Main Scala API documentation successful.
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-web/target/bbb-common-web-0.0.3-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[info] Done compiling.
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-web/target/bbb-common-web-0.0.3-SNAPSHOT.jar ...
[info] Done packaging.
[info] published bbb-common-web to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/bbb-common-web-0.0.3-SNAPSHOT.pom
[info] published bbb-common-web to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/bbb-common-web-0.0.3-SNAPSHOT.jar
[info] published bbb-common-web to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/bbb-common-web-0.0.3-SNAPSHOT-sources.jar
[info] published bbb-common-web to /home/boss/.m2/repository/org/bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/bbb-common-web-0.0.3-SNAPSHOT-javadoc.jar
[success] Total time: 34 s, completed Apr 22, 2021 5:57:46 PM
[info] Wrote /home/boss/dev/bigbluebutton/bbb-common-web/target/bbb-common-web-0.0.3-SNAPSHOT.pom
[info] Main Scala API documentation to /home/boss/dev/bigbluebutton/bbb-common-web/target/api...
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/BbbWebApiGWApp.scala:93:15: private val appsRedisSubscriberActor in class BbbWebApiGWApp is never used
[warn] private val appsRedisSubscriberActor = system.actorOf(
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:85:15: private method toVector in class Configs is never used
[warn] private def toVector: Vector[Config2] = configs.values.toVector
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:87:15: private method save in class Configs is never used
[warn] private def save(config: Config2): Config2 = {
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/domain/User2.scala:92:15: private method remove in class Configs is never used
[warn] private def remove(id: String): Option[Config2] = {
[warn] ^
[warn] /home/boss/dev/bigbluebutton/bbb-common-web/src/main/scala/org/bigbluebutton/api2/endpoint/redis/WebRedisSubscriberActor.scala:3:31: Unused import
[warn] import org.bigbluebutton.api2.SystemConfiguration
[warn] ^
model contains 289 documentable templates
[warn] 5 warnings found
[info] Main Scala API documentation successful.
[info] Packaging /home/boss/dev/bigbluebutton/bbb-common-web/target/bbb-common-web-0.0.3-SNAPSHOT-javadoc.jar ...
[info] Done packaging.
[info] :: delivering :: org.bigbluebutton#bbb-common-web;0.0.3-SNAPSHOT :: 0.0.3-SNAPSHOT :: integration :: Thu Apr 22 17:58:00 ALMT 2021
[info] delivering ivy file to /home/boss/dev/bigbluebutton/bbb-common-web/target/ivy-0.0.3-SNAPSHOT.xml
[info] published bbb-common-web to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/poms/bbb-common-web.pom
[info] published bbb-common-web to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/jars/bbb-common-web.jar
[info] published bbb-common-web to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/srcs/bbb-common-web-sources.jar
[info] published bbb-common-web to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/docs/bbb-common-web-javadoc.jar
[info] published ivy to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-web/0.0.3-SNAPSHOT/ivys/ivy.xml
[success] Total time: 14 s, completed Apr 22, 2021 5:58:01 PM
```

Build bigbluebutton-web
```
cd ~/dev/bigbluebutton/bigbluebutton-web
grails assemble
```

```log
:compileJava NO-SOURCE
:compileGroovy
:findMainClass
:assetCompile
Processing File 6 of 45 - bootstrap.js
Processing File 1 of 45 - popper.min.js
Processing File 7 of 45 - bootstrap.min.js
Processing File 2 of 45 - bootstrap.bundle.min.js
Processing File 5 of 45 - application.js
Processing File 3 of 45 - jquery-3.3.1.min.js
Processing File 8 of 45 - bootstrap.min.css
Processing File 4 of 45 - bootstrap.bundle.js
Processing File 9 of 45 - bootstrap.css
Processing File 11 of 45 - application.css
Processing File 10 of 45 - grails.css
Processing File 12 of 45 - main.css
Processing File 13 of 45 - mobile.css
Processing File 14 of 45 - bootstrap-reboot.css
Processing File 15 of 45 - bootstrap-grid.css
Processing File 16 of 45 - errors.css
Processing File 17 of 45 - bootstrap.min.js.map
Processing File 18 of 45 - bootstrap.js.map
Processing File 19 of 45 - bootstrap.bundle.min.js.map
Processing File 20 of 45 - jquery-3.3.1.min.js.map
Processing File 21 of 45 - bootstrap.bundle.js.map
Processing File 22 of 45 - grails-cupsonly-logo-white.svg
Processing File 23 of 45 - slack.svg
Processing File 24 of 45 - documentation.svg
Processing File 25 of 45 - skin/shadow.jpg
Processing File 26 of 45 - skin/database_add.png
Processing File 27 of 45 - skin/information.png
Processing File 28 of 45 - skin/sorted_asc.gif
Processing File 29 of 45 - skin/database_edit.png
Processing File 30 of 45 - skin/exclamation.png
Processing File 31 of 45 - skin/database_table.png
Processing File 32 of 45 - skin/sorted_desc.gif
Processing File 33 of 45 - skin/database_save.png
Processing File 34 of 45 - skin/database_delete.png
Processing File 35 of 45 - skin/house.png
Processing File 36 of 45 - advancedgrails.svg
Processing File 37 of 45 - apple-touch-icon.png
Processing File 38 of 45 - springsource.png
Processing File 39 of 45 - spinner.gif
Processing File 40 of 45 - apple-touch-icon-retina.png
Processing File 41 of 45 - grails_logo.png
Processing File 42 of 45 - grails.svg
Processing File 43 of 45 - favicon.ico
Processing File 44 of 45 - bootstrap.css.map
Processing File 45 of 45 - bootstrap.min.css.map
Finished Precompiling Assets
:buildProperties
:copyWebInf
:processResources
:classes
:compileWebappGroovyPages
:compileGroovyPages
:war
:bootRepackage
:assemble

BUILD SUCCESSFUL

Total time: 43.313 secs
```

Build, extract war file, run bbb-web
```
sudo rm -rf exploded && mkdir exploded && cd exploded
jar -xvf ../build/libs/bigbluebutton-0.10.0.war
cp ../run-prod.sh .
sudo rm -rf /usr/share/bbb-web-old
sudo cp -R /usr/share/bbb-web /usr/share/bbb-web-old
sudo rm -rf /usr/share/bbb-web/assets/ /usr/share/bbb-web/META-INF/ /usr/share/bbb-web/org/ /usr/share/bbb-web/run-prod.sh /usr/share/bbb-web/WEB-INF/
sudo cp -R . /usr/share/bbb-web/
sudo chown bigbluebutton:bigbluebutton /usr/share/bbb-web
sudo chown -R bigbluebutton:bigbluebutton /usr/share/bbb-web/assets/ /usr/share/bbb-web/META-INF/ /usr/share/bbb-web/org/ /usr/share/bbb-web/run-prod.sh /usr/share/bbb-web/WEB-INF/
sudo systemctl start bbb-web
```

```log
boss@bbb:~/dev/bigbluebutton/bigbluebutton-web/exploded$ jar -xvf ../build/libs/bigbluebutton-0.10.0.war
created: META-INF/
inflated: META-INF/MANIFEST.MF
created: WEB-INF/
created: WEB-INF/classes/
created: WEB-INF/classes/org/
created: WEB-INF/classes/org/bigbluebutton/
created: WEB-INF/classes/org/bigbluebutton/api/
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp.class
inflated: WEB-INF/classes/org/bigbluebutton/api/ClientConfigServiceHelperImp.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_writeRecordingInfo_closure1$_closure10.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_writeRecordingInfo_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_writeRecordingInfo_closure1$_closure10$_closure12.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_processMap_closure7$_closure16.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_extensionPropertiesToXML_closure9$_closure18.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_processNode_closure4.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_writeRecordingInfo_closure1$_closure11.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_processCollection_closure8.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_getInfo_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_getInfo_closure3.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_writeRecordingInfo_closure1$_closure10$_closure12$_closure13.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_processLeaf_closure5.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_extensionPropertiesToMap_closure6.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_processMap_closure7.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_writeRecordingInfo_closure1$_closure11$_closure15.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_extensionPropertiesToXML_closure9.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_extensionPropertiesToXML_closure9$_closure17.class
inflated: WEB-INF/classes/org/bigbluebutton/api/RecordingServiceHelperImp$_writeRecordingInfo_closure1$_closure10$_closure12$_closure13$_closure14.class
created: WEB-INF/classes/org/bigbluebutton/web/
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure15.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure6.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure23.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure5.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure14.class
created: WEB-INF/classes/org/bigbluebutton/web/controllers/
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure4$_closure9$_closure11.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure6.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure17.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure2$_closure28.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure15.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure16$_closure35$_closure36$_closure37$_closure38$_closure39.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure13$_closure17$_closure18$_closure19.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure5$_closure32$_closure33$_closure34.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure10$_closure51$_closure54.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_invalid_closure6$_closure17$_closure18.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure68$_closure71$_closure72$_closure75.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_invalid_closure27.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure2$_closure28$_closure29.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure77$_closure80$_closure81.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure8.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure3.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure77$_closure80$_closure81$_closure82.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_uploadDocuments_closure23$_closure95.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure14$_closure62$_closure65$_closure66.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure13$_closure17$_closure18$_closure19$_closure20$_closure21$_closure22.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure8$_closure40$_closure42.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure13$_closure17$_closure18$_closure19$_closure20$_closure21.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure77$_closure80.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure14$_closure61$_closure63.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure4$_closure30$_closure31.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure67$_closure69$_closure70.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure76$_closure78$_closure79.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_uploadDocuments_closure23.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure10$_closure49$_closure52.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_respondWithErrors_closure25.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure77$_closure80$_closure81$_closure84.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure14$_closure62$_closure65.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_invalid_closure6$_closure17.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure11$_closure56.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure16.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure11$_closure55.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure15$_closure29$_closure30$_closure31$_closure32$_closure33$_closure34.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_respondWithErrors_closure26$_closure97.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure4$_closure10$_closure12.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure18$_closure87.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure15$_closure29$_closure30$_closure31$_closure32.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_respondWithError_closure5$_closure14$_closure15.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure4.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure16$_closure35$_closure36.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure15$_closure29$_closure30$_closure31$_closure32$_closure33.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure68$_closure71$_closure72$_closure73.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure67$_closure69.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure77.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_respondWithErrors_closure26$_closure98$_closure99.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure10$_closure49.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure21.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure17$_closure85.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure13$_closure17$_closure18$_closure19$_closure20.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure9$_closure44$_closure46.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure7$_closure38.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure5.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure5$_closure32.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure14.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure6$_closure35.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure14$_closure23$_closure24$_closure25.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure67.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure9.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure13.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure20$_closure91.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure14.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_respondWithErrors_closure26.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure16$_closure35$_closure36$_closure37$_closure38.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure4$_closure9.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure21$_closure93$_closure94.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure8$_closure40.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure5$_closure32$_closure33.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure16$_closure35$_closure36$_closure37.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_invalid_closure27$_closure100.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure16$_closure35$_closure36$_closure37$_closure38$_closure39$_closure40.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure6.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure5.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure12.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure14$_closure23$_closure24$_closure25$_closure26$_closure27$_closure28.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure4.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure11$_closure56$_closure58.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure68$_closure71.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure13.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure3$_closure7.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure4$_closure10.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure68$_closure71$_closure72.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure16$_closure35.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ConnectionController.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure4$_closure30.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure20.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure11.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure14$_closure23.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure10$_closure51.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure8$_closure41$_closure43.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure6$_closure35$_closure36.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure9.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure14$_closure61$_closure63$_closure64.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure14$_closure23$_closure24$_closure25$_closure26$_closure27.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure14$_closure62.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure68.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure15$_closure29$_closure30.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure4.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure3.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure20$_closure91$_closure92.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure11$_closure55$_closure57.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure11.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure7.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure3$_closure7$_closure8.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure4$_closure10$_closure12$_closure13.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure21$_closure93.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_invalid_closure6.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_respondWithConference_closure24.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure14$_closure61.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_invalid_closure27$_closure101$_closure102.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure12.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure13$_closure59$_closure60.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15$_closure68$_closure71$_closure72$_closure74.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure8$_closure41.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure19$_closure89.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure13$_closure17.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure13$_closure59.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure9$_closure44.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure10.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_respondWithError_closure5.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure15.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure10.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure9$_closure45$_closure47.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure13$_closure17$_closure18.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_invalid_closure6$_closure16.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure77$_closure80$_closure81$_closure83.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure7.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure10$_closure50.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure10$_closure50$_closure53.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure19$_closure89$_closure90.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure9$_closure45.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure8.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_respondWithError_closure5$_closure14.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure9$_closure45$_closure47$_closure48.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure76.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure14$_closure23$_closure24$_closure25$_closure26.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure7$_closure38$_closure39.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure15$_closure29.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure6$_closure35$_closure36$_closure37.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ConnectionController$_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_respondWithErrors_closure26$_closure98.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure14$_closure23$_closure24.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure18$_closure87$_closure88.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure17$_closure85$_closure86.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_invalid_closure27$_closure101.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure19.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/RecordingController$_closure3.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_respondWithConference_closure24$_closure96.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure22.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure16$_closure76$_closure78.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/PresentationController$_closure15$_closure29$_closure30$_closure31.class
inflated: WEB-INF/classes/org/bigbluebutton/web/controllers/ApiController$_closure18.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure27.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure24.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure21.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure13.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure19.class
inflated: WEB-INF/classes/org/bigbluebutton/web/Application.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure25.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure20.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure11.class
inflated: WEB-INF/classes/org/bigbluebutton/web/BootStrap$_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure12.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure8.class
inflated: WEB-INF/classes/org/bigbluebutton/web/ApplicationLoader.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure22.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure26.class
inflated: WEB-INF/classes/org/bigbluebutton/web/BootStrap.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure9.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure18.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure26$_closure28.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure17.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure7.class
inflated: WEB-INF/classes/org/bigbluebutton/web/BootStrap$_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure16.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure3.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure10.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/web/UrlMappings$__clinit__closure1$_closure4.class
created: WEB-INF/classes/org/bigbluebutton/web/services/
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure10.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_testConversionProcess_closure14.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure5$_closure16.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure4.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure3.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure9.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure13.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure3$_closure15.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure6.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure5.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure12.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/SvgFilter.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure8.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure11.class
inflated: WEB-INF/classes/org/bigbluebutton/web/services/PresentationService$_closure7.class
created: WEB-INF/classes/org/bigbluebutton/presentation/
inflated: WEB-INF/classes/org/bigbluebutton/presentation/GeneratedSlidesInfoHelperImp$_generateUploadedPresentationInfo_closure1.class
inflated: WEB-INF/classes/org/bigbluebutton/presentation/GeneratedSlidesInfoHelperImp$_generateUploadedPresentationInfo_closure1$_closure2$_closure3.class
inflated: WEB-INF/classes/org/bigbluebutton/presentation/GeneratedSlidesInfoHelperImp$_generateUploadedPresentationInfo_closure1$_closure2.class
inflated: WEB-INF/classes/org/bigbluebutton/presentation/GeneratedSlidesInfoHelperImp$_generateUploadedPresentationInfo_closure1$_closure2$_closure3$_closure4.class
inflated: WEB-INF/classes/org/bigbluebutton/presentation/GeneratedSlidesInfoHelperImp.class
inflated: WEB-INF/classes/bigbluebutton.properties
inflated: WEB-INF/classes/WebXmlConfig.groovy
inflated: WEB-INF/classes/messages_th.properties
inflated: WEB-INF/classes/logback.xml
created: WEB-INF/classes/layouts/
inflated: WEB-INF/classes/layouts/main.gsp
inflated: WEB-INF/classes/messages_sk.properties
inflated: WEB-INF/classes/messages_da.properties
inflated: WEB-INF/classes/messages_cs.properties
inflated: WEB-INF/classes/messages_nb.properties
inflated: WEB-INF/classes/notFound.gsp
inflated: WEB-INF/classes/BigBlueButtonFilters.groovy
inflated: WEB-INF/classes/messages_it.properties
inflated: WEB-INF/classes/messages_pt_PT.properties
inflated: WEB-INF/classes/messages_zh_CN.properties
inflated: WEB-INF/classes/application.yml
created: WEB-INF/classes/api/
inflated: WEB-INF/classes/api/error.gsp
inflated: WEB-INF/classes/messages_pl.properties
inflated: WEB-INF/classes/messages_nl.properties
inflated: WEB-INF/classes/messages_sv.properties
inflated: WEB-INF/classes/application.conf
inflated: WEB-INF/classes/application.groovy
inflated: WEB-INF/classes/messages_cs_CZ.properties
inflated: WEB-INF/classes/messages_fr.properties
inflated: WEB-INF/classes/messages_ja.properties
inflated: WEB-INF/classes/messages_ru.properties
inflated: WEB-INF/classes/ApplicationResources.groovy
created: WEB-INF/classes/WEB-INF/
created: WEB-INF/classes/WEB-INF/tld/
inflated: WEB-INF/classes/WEB-INF/tld/spring.tld
inflated: WEB-INF/classes/WEB-INF/tld/c.tld
inflated: WEB-INF/classes/WEB-INF/tld/grails.tld
inflated: WEB-INF/classes/WEB-INF/tld/fmt.tld
inflated: WEB-INF/classes/WEB-INF/tld/spring-form.tld
created: WEB-INF/classes/WEB-INF/freemarker/
inflated: WEB-INF/classes/WEB-INF/freemarker/api-error.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/create-meeting.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/is-meeting-running.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/get-meeting-info.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/get-sessions.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/api-errors.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/include-recording.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/config-xml-rejected.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/get-meetings.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/get-recordings.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/api-version.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/join-meeting.ftlx
inflated: WEB-INF/classes/WEB-INF/freemarker/end-meeting.ftlx
created: WEB-INF/classes/META-INF/
inflated: WEB-INF/classes/META-INF/grails.build.info
inflated: WEB-INF/classes/messages_de.properties
inflated: WEB-INF/classes/BuildConfig.groovy
inflated: WEB-INF/classes/messages_pt_BR.properties
inflated: WEB-INF/classes/messages.properties
created: WEB-INF/classes/spring/
inflated: WEB-INF/classes/spring/doc-conversion.xml
inflated: WEB-INF/classes/spring/turn-stun-servers.xml
inflated: WEB-INF/classes/spring/resources.xml
inflated: WEB-INF/classes/spring/bbb-redis-messaging.xml
inflated: WEB-INF/classes/spring/resources.groovy
inflated: WEB-INF/classes/error.gsp
inflated: WEB-INF/classes/index.gsp
inflated: WEB-INF/classes/messages_es.properties
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp_linenumbers.data
inflated: WEB-INF/classes/gsp_bigbluebutton_layoutsmain_gsp$_run_closure1.class
inflated: WEB-INF/classes/gsp_bigbluebutton_layoutsmain_gsp_html.data
inflated: WEB-INF/classes/gsp_bigbluebuttonerror_gsp_html.data
inflated: WEB-INF/classes/gsp_bigbluebuttonnotFound_gsp$_run_closure1.class
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp$_run_closure2$_closure4.class
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp$_run_closure2.class
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp$_run_closure2$_closure6.class
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp$_run_closure2$_closure5.class
inflated: WEB-INF/classes/gsp_bigbluebutton_layoutsmain_gsp$_run_closure1$_closure3.class
inflated: WEB-INF/classes/gsp_bigbluebutton_layoutsmain_gsp.class
inflated: WEB-INF/classes/gsp_bigbluebutton_apierror_gsp_html.data
inflated: WEB-INF/classes/gsp_bigbluebuttonerror_gsp$_run_closure1$_closure3.class
inflated: WEB-INF/classes/gsp_bigbluebutton_apierror_gsp_linenumbers.data
inflated: WEB-INF/classes/gsp_bigbluebuttonnotFound_gsp_linenumbers.data
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp$_run_closure1$_closure3.class
inflated: WEB-INF/classes/gsp_bigbluebuttonerror_gsp$_run_closure1$_closure3$_closure4.class
inflated: WEB-INF/classes/gsp_bigbluebutton_layoutsmain_gsp$_run_closure1$_closure3$_closure4.class
inflated: WEB-INF/classes/gsp_bigbluebuttonnotFound_gsp.class
inflated: WEB-INF/classes/gsp_bigbluebuttonerror_gsp.class
inflated: WEB-INF/classes/gsp_bigbluebuttonerror_gsp$_run_closure2.class
created: WEB-INF/classes/gsp/
inflated: WEB-INF/classes/gsp/views.properties
inflated: WEB-INF/classes/gsp_bigbluebutton_layoutsmain_gsp$_run_closure2.class
inflated: WEB-INF/classes/gsp_bigbluebutton_layoutsmain_gsp_linenumbers.data
inflated: WEB-INF/classes/gsp_bigbluebuttonerror_gsp_linenumbers.data
inflated: WEB-INF/classes/gsp_bigbluebuttonnotFound_gsp$_run_closure1$_closure3.class
inflated: WEB-INF/classes/gsp_bigbluebuttonnotFound_gsp_html.data
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp$_run_closure1.class
inflated: WEB-INF/classes/gsp_bigbluebuttonnotFound_gsp$_run_closure2.class
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp.class
inflated: WEB-INF/classes/gsp_bigbluebuttonindex_gsp_html.data
inflated: WEB-INF/classes/gsp_bigbluebutton_apierror_gsp.class
inflated: WEB-INF/classes/gsp_bigbluebuttonerror_gsp$_run_closure1.class
created: WEB-INF/lib/
extracted: WEB-INF/lib/spring-boot-starter-logging-1.5.18.RELEASE.jar
extracted: WEB-INF/lib/spring-boot-autoconfigure-1.5.18.RELEASE.jar
extracted: WEB-INF/lib/grails-core-3.3.9.jar
extracted: WEB-INF/lib/spring-boot-starter-actuator-1.5.18.RELEASE.jar
extracted: WEB-INF/lib/spring-boot-starter-tomcat-1.5.18.RELEASE.jar
extracted: WEB-INF/lib/grails-web-boot-3.3.9.jar
extracted: WEB-INF/lib/grails-logging-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-rest-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-databinding-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-i18n-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-services-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-url-mappings-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-interceptors-3.3.9.jar
extracted: WEB-INF/lib/external-config-1.2.2.jar
extracted: WEB-INF/lib/cache-4.0.1.jar
extracted: WEB-INF/lib/async-3.3.2.jar
extracted: WEB-INF/lib/scaffolding-3.4.1.jar
extracted: WEB-INF/lib/events-3.3.2.jar
extracted: WEB-INF/lib/gsp-3.3.2.jar
extracted: WEB-INF/lib/bbb-common-message_2.12-0.0.20-SNAPSHOT.jar
extracted: WEB-INF/lib/bbb-common-web-0.0.3-SNAPSHOT.jar
extracted: WEB-INF/lib/lettuce-core-5.1.3.RELEASE.jar
extracted: WEB-INF/lib/reactive-streams-1.0.2.jar
extracted: WEB-INF/lib/reactor-core-3.2.3.RELEASE.jar
extracted: WEB-INF/lib/freemarker-2.3.28.jar
extracted: WEB-INF/lib/gson-2.8.5.jar
extracted: WEB-INF/lib/json-20180813.jar
extracted: WEB-INF/lib/jodconverter-local-4.3.0.jar
extracted: WEB-INF/lib/nuprocess-1.2.4.jar
extracted: WEB-INF/lib/jna-4.5.1.jar
extracted: WEB-INF/lib/commons-fileupload-1.4.jar
extracted: WEB-INF/lib/asset-pipeline-grails-2.15.1.jar
extracted: WEB-INF/lib/logback-classic-1.1.11.jar
extracted: WEB-INF/lib/jcl-over-slf4j-1.7.25.jar
extracted: WEB-INF/lib/jul-to-slf4j-1.7.25.jar
extracted: WEB-INF/lib/log4j-over-slf4j-1.7.25.jar
extracted: WEB-INF/lib/spring-boot-1.5.18.RELEASE.jar
extracted: WEB-INF/lib/groovy-2.4.15.jar
extracted: WEB-INF/lib/slf4j-api-1.7.25.jar
extracted: WEB-INF/lib/hibernate-jpa-2.1-api-1.0.0.Final.jar
extracted: WEB-INF/lib/concurrentlinkedhashmap-lru-1.4.2.jar
extracted: WEB-INF/lib/spring-core-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/spring-tx-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/spring-beans-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/spring-context-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/grails-bootstrap-3.3.9.jar
extracted: WEB-INF/lib/grails-spring-3.3.9.jar
extracted: WEB-INF/lib/grails-datastore-core-6.1.11.RELEASE.jar
extracted: WEB-INF/lib/serializer-2.7.2.jar
extracted: WEB-INF/lib/spring-boot-starter-1.5.18.RELEASE.jar
extracted: WEB-INF/lib/spring-boot-actuator-1.5.18.RELEASE.jar
extracted: WEB-INF/lib/tomcat-embed-core-8.5.35.jar
extracted: WEB-INF/lib/tomcat-embed-el-8.5.35.jar
extracted: WEB-INF/lib/tomcat-embed-websocket-8.5.35.jar
extracted: WEB-INF/lib/grails-web-common-3.3.9.jar
extracted: WEB-INF/lib/grails-web-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-controllers-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-datasource-3.3.9.jar
extracted: WEB-INF/lib/converters-3.3.1.jar
extracted: WEB-INF/lib/grails-validation-3.3.9.jar
extracted: WEB-INF/lib/GroovyConfigWriter-0.2.jar
extracted: WEB-INF/lib/snakeyaml-1.17.jar
extracted: WEB-INF/lib/javassist-3.21.0-GA.jar
extracted: WEB-INF/lib/grails-async-3.3.2.jar
extracted: WEB-INF/lib/fields-2.2.8.jar
extracted: WEB-INF/lib/grails-events-3.3.2.jar
extracted: WEB-INF/lib/grails-events-transform-3.3.2.jar
extracted: WEB-INF/lib/grails-events-compat-3.3.2.jar
extracted: WEB-INF/lib/grails-web-gsp-taglib-3.3.2.jar
extracted: WEB-INF/lib/commons-lang-2.6.jar
extracted: WEB-INF/lib/grails-plugin-codecs-3.3.9.jar
extracted: WEB-INF/lib/grails-web-jsp-3.3.2.jar
extracted: WEB-INF/lib/scala-library-2.12.8.jar
extracted: WEB-INF/lib/scala-compiler-2.12.8.jar
extracted: WEB-INF/lib/akka-actor_2.12-2.5.19.jar
extracted: WEB-INF/lib/jackson-module-scala_2.12-2.8.11.jar
extracted: WEB-INF/lib/commons-pool2-2.4.3.jar
extracted: WEB-INF/lib/akka-slf4j_2.12-2.5.19.jar
extracted: WEB-INF/lib/jackson-dataformat-xml-2.8.11.jar
extracted: WEB-INF/lib/httpclient-4.5.6.jar
extracted: WEB-INF/lib/httpasyncclient-4.1.4.jar
extracted: WEB-INF/lib/poi-ooxml-4.1.2.jar
extracted: WEB-INF/lib/javax.servlet-api-3.1.0.jar
extracted: WEB-INF/lib/commons-lang3-3.9.jar
extracted: WEB-INF/lib/commons-io-2.6.jar
extracted: WEB-INF/lib/netty-common-4.1.31.Final.jar
extracted: WEB-INF/lib/netty-transport-4.1.31.Final.jar
extracted: WEB-INF/lib/netty-handler-4.1.31.Final.jar
extracted: WEB-INF/lib/jodconverter-core-4.3.0.jar
extracted: WEB-INF/lib/juh-4.1.2.jar
extracted: WEB-INF/lib/jurt-4.1.2.jar
extracted: WEB-INF/lib/ridl-4.1.2.jar
extracted: WEB-INF/lib/unoil-4.1.2.jar
extracted: WEB-INF/lib/asset-pipeline-core-2.15.1.jar
extracted: WEB-INF/lib/logback-core-1.1.11.jar
extracted: WEB-INF/lib/commons-logging-1.2.jar
extracted: WEB-INF/lib/spring-aop-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/spring-expression-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/groovy-xml-2.4.15.jar
extracted: WEB-INF/lib/groovy-templates-2.4.15.jar
extracted: WEB-INF/lib/jta-1.1.jar
extracted: WEB-INF/lib/jackson-databind-2.8.11.3.jar
extracted: WEB-INF/lib/tomcat-annotations-api-8.5.35.jar
extracted: WEB-INF/lib/grails-databinding-3.3.9.jar
extracted: WEB-INF/lib/grails-encoder-3.3.9.jar
extracted: WEB-INF/lib/grails-gsp-3.3.2.jar
extracted: WEB-INF/lib/spring-webmvc-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/spring-context-support-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/grails-web-databinding-3.3.9.jar
extracted: WEB-INF/lib/grails-web-url-mappings-3.3.9.jar
extracted: WEB-INF/lib/grails-web-mvc-3.3.9.jar
extracted: WEB-INF/lib/grails-web-gsp-3.3.2.jar
extracted: WEB-INF/lib/grails-web-sitemesh-3.3.2.jar
extracted: WEB-INF/lib/grails-plugin-mimetypes-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-validation-3.3.9.jar
extracted: WEB-INF/lib/grails-plugin-domain-class-3.3.9.jar
extracted: WEB-INF/lib/spring-jdbc-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/groovy-sql-2.4.15.jar
extracted: WEB-INF/lib/grails-datastore-gorm-6.1.11.RELEASE.jar
extracted: WEB-INF/lib/tomcat-embed-logging-log4j-8.5.2.jar
extracted: WEB-INF/lib/grails-datastore-gorm-validation-6.1.11.RELEASE.jar
extracted: WEB-INF/lib/groovy-all-2.4.15.jar
extracted: WEB-INF/lib/scaffolding-core-1.1.1.jar
extracted: WEB-INF/lib/grails-codecs-3.3.9.jar
extracted: WEB-INF/lib/scala-reflect-2.12.8.jar
extracted: WEB-INF/lib/scala-xml_2.12-1.0.6.jar
extracted: WEB-INF/lib/config-1.3.3.jar
extracted: WEB-INF/lib/scala-java8-compat_2.12-0.8.0.jar
extracted: WEB-INF/lib/jackson-core-2.8.11.jar
extracted: WEB-INF/lib/jackson-annotations-2.8.0.jar
extracted: WEB-INF/lib/jackson-module-paranamer-2.8.11.jar
extracted: WEB-INF/lib/jackson-module-jaxb-annotations-2.8.11.jar
extracted: WEB-INF/lib/stax2-api-3.1.4.jar
extracted: WEB-INF/lib/woodstox-core-5.0.3.jar
extracted: WEB-INF/lib/httpcore-4.4.10.jar
extracted: WEB-INF/lib/commons-codec-1.10.jar
extracted: WEB-INF/lib/httpcore-nio-4.4.10.jar
extracted: WEB-INF/lib/poi-4.1.2.jar
extracted: WEB-INF/lib/poi-ooxml-schemas-4.1.2.jar
extracted: WEB-INF/lib/commons-compress-1.19.jar
extracted: WEB-INF/lib/curvesapi-1.06.jar
extracted: WEB-INF/lib/netty-buffer-4.1.31.Final.jar
extracted: WEB-INF/lib/netty-resolver-4.1.31.Final.jar
extracted: WEB-INF/lib/netty-codec-4.1.31.Final.jar
extracted: WEB-INF/lib/groovy-json-2.4.15.jar
extracted: WEB-INF/lib/spring-web-4.3.21.RELEASE.jar
extracted: WEB-INF/lib/grails-taglib-3.3.2.jar
extracted: WEB-INF/lib/grails-web-taglib-3.3.2.jar
extracted: WEB-INF/lib/sitemesh-2.4.jar
extracted: WEB-INF/lib/grails-datastore-gorm-support-6.1.11.RELEASE.jar
extracted: WEB-INF/lib/commons-validator-1.5.1.jar
extracted: WEB-INF/lib/paranamer-2.8.jar
extracted: WEB-INF/lib/commons-collections4-4.4.jar
extracted: WEB-INF/lib/commons-math3-3.6.1.jar
extracted: WEB-INF/lib/SparseBitSet-1.2.jar
extracted: WEB-INF/lib/xmlbeans-3.1.0.jar
extracted: WEB-INF/lib/commons-collections-3.2.2.jar
created: WEB-INF/tld/
inflated: WEB-INF/tld/spring.tld
inflated: WEB-INF/tld/c.tld
inflated: WEB-INF/tld/grails.tld
inflated: WEB-INF/tld/fmt.tld
inflated: WEB-INF/tld/spring-form.tld
created: WEB-INF/freemarker/
inflated: WEB-INF/freemarker/api-error.ftlx
inflated: WEB-INF/freemarker/create-meeting.ftlx
inflated: WEB-INF/freemarker/is-meeting-running.ftlx
inflated: WEB-INF/freemarker/get-meeting-info.ftlx
inflated: WEB-INF/freemarker/get-sessions.ftlx
inflated: WEB-INF/freemarker/api-errors.ftlx
inflated: WEB-INF/freemarker/include-recording.ftlx
inflated: WEB-INF/freemarker/config-xml-rejected.ftlx
inflated: WEB-INF/freemarker/get-meetings.ftlx
inflated: WEB-INF/freemarker/get-recordings.ftlx
inflated: WEB-INF/freemarker/api-version.ftlx
inflated: WEB-INF/freemarker/join-meeting.ftlx
inflated: WEB-INF/freemarker/end-meeting.ftlx
created: assets/
inflated: assets/bootstrap.min.js.map
inflated: assets/bootstrap.js.map
inflated: assets/bootstrap-reboot.css.gz
inflated: assets/jquery-3.3.1.min.js-0a0736858b57672f56f155a0c6480cd8.map.gz
inflated: assets/popper.min-10e47cff0b9c2cef7f5d68b84bc27118.js.gz
inflated: assets/bootstrap-281e12c4b9a3b8c409a21520274c1d88.js
inflated: assets/application-763882b518f3cbb991d9a54b44ebb949.css
inflated: assets/bootstrap.min-a04617266a7f269a4ec2d1ccef3fe8ab.js.gz
inflated: assets/spinner-c7b3cbb3ec8249a7121b722cdd76b870.gif
inflated: assets/bootstrap.min-37722be5eea5421bdf222f1ef5d70d60.css
inflated: assets/grails-cupsonly-logo-white.svg
inflated: assets/grails-cupsonly-logo-white-b651640f09f462efc43058482f4131d4.svg
inflated: assets/bootstrap.bundle.js.map.gz
inflated: assets/bootstrap.bundle-424614e627081e024c2194ea8021c7a3.js
inflated: assets/bootstrap.js.gz
inflated: assets/bootstrap.bundle.js.gz
inflated: assets/slack.svg
inflated: assets/bootstrap-281e12c4b9a3b8c409a21520274c1d88.js.gz
inflated: assets/jquery-3.3.1.min.js.gz
inflated: assets/bootstrap.js-c38911715a82d955e1f61dabb031a18d.map
inflated: assets/jquery-3.3.1.min-612c1bb8612cffd0b64169b6196cea71.js.gz
inflated: assets/bootstrap.bundle-424614e627081e024c2194ea8021c7a3.js.gz
inflated: assets/bootstrap.min.js.gz
inflated: assets/bootstrap.min.css
inflated: assets/bootstrap-reboot-2f5440be97d135bdb5cebcd03957f943.css
inflated: assets/application-85e8fc935d031c1fe162d70a8d940f9f.js.gz
inflated: assets/bootstrap.min.js-2fc279b4cd4ace33a72aa2ae05a83704.map.gz
inflated: assets/bootstrap.css
inflated: assets/popper.min.js.gz
inflated: assets/bootstrap.bundle.min.js.map.gz
inflated: assets/grails-cda5b2716e249b1f09558c5c3aa79ddb.svg.gz
inflated: assets/grails.css
inflated: assets/popper.min.js
inflated: assets/advancedgrails.svg.gz
inflated: assets/application.css
inflated: assets/application.js.gz
inflated: assets/bootstrap.min.css-13864e70f3d7eb9e606ee6bf6ce3451a.map
inflated: assets/documentation.svg
inflated: assets/manifest.properties
inflated: assets/apple-touch-icon-retina-21d524e96ee946f16c9b8fb4ea0c3f6e.png
inflated: assets/bootstrap.min.js.map.gz
inflated: assets/favicon-9ef27019cc7a636e29ecc851528f716e.ico
created: assets/skin/
inflated: assets/skin/sorted_desc-b85986b88116c4b0ef7571a1c4f3cfa3.gif
inflated: assets/skin/shadow.jpg
inflated: assets/skin/database_add.png
inflated: assets/skin/information.png
inflated: assets/skin/sorted_asc.gif
inflated: assets/skin/database_save-8303213a3c95654e14d5afd4e72ed4c2.png
inflated: assets/skin/sorted_asc-df23e44c4c4999383e95e9c8bf5da156.gif
inflated: assets/skin/database_edit.png
inflated: assets/skin/database_delete-3862d8032e726f3a67a0dfd555ff9711.png
inflated: assets/skin/exclamation.png
inflated: assets/skin/database_table.png
inflated: assets/skin/database_add-82a75143b4660a3f02f9c058f0a3ae93.png
inflated: assets/skin/sorted_desc.gif
inflated: assets/skin/database_save.png
inflated: assets/skin/database_edit-868a0bb564edc2c710f9fb55c827a4b8.png
inflated: assets/skin/house-99bea32e1990e011e870f6c562e87a6a.png
inflated: assets/skin/database_table-c413540d7e3545ace2c445fe686e915f.png
inflated: assets/skin/information-3750c701d2ec35a45d289b9b9c1a0667.png
inflated: assets/skin/database_delete.png
inflated: assets/skin/shadow-91463fad8ce43e365a0af6e8f415fdf6.jpg
inflated: assets/skin/house.png
inflated: assets/skin/exclamation-e4dd51f46566ed3ceacdc900bf2fdf01.png
inflated: assets/bootstrap.bundle.min.js
inflated: assets/advancedgrails-06b528621d135871fdd9cdc988916970.svg.gz
inflated: assets/documentation.svg.gz
inflated: assets/bootstrap.bundle.js-6099416e857ce20c2dc67e5c70e31c10.map
inflated: assets/bootstrap-grid-32516c9d7a085c37177e8090258af941.css.gz
inflated: assets/jquery-3.3.1.min.js
inflated: assets/main.css.gz
inflated: assets/bootstrap.css.map.gz
inflated: assets/jquery-3.3.1.min-612c1bb8612cffd0b64169b6196cea71.js
inflated: assets/bootstrap.min-a04617266a7f269a4ec2d1ccef3fe8ab.js
inflated: assets/application-85e8fc935d031c1fe162d70a8d940f9f.js
inflated: assets/main.css
inflated: assets/bootstrap.js-c38911715a82d955e1f61dabb031a18d.map.gz
inflated: assets/bootstrap.bundle.js
inflated: assets/bootstrap-f83ce29f6d8380d06c6ee88eed24b5a3.css
inflated: assets/bootstrap.min.js-2fc279b4cd4ace33a72aa2ae05a83704.map
inflated: assets/grails-cupsonly-logo-white.svg.gz
inflated: assets/advancedgrails.svg
inflated: assets/slack-07688f36a61209ddace7da11c5eabdd4.svg
inflated: assets/documentation-e1490625d159ac8303c1cace0bad1904.svg
inflated: assets/bootstrap.unminified.js
inflated: assets/bootstrap.bundle.min.js-45e94ecc39062646ee2f86d8b550e20f.map.gz
inflated: assets/apple-touch-icon.png
inflated: assets/springsource.png
inflated: assets/grails-11b02aaafd7cb1f992a9dc3e4a1e86cd.css
inflated: assets/bootstrap.js.map.gz
inflated: assets/bootstrap.css.gz
inflated: assets/bootstrap.bundle.min-b06658dcb4bcc586ab856af9b68ebc24.js
inflated: assets/errors-081f1b7cc86c9f8824107b7756baa1cd.css.gz
inflated: assets/bootstrap.bundle.min-b06658dcb4bcc586ab856af9b68ebc24.js.gz
inflated: assets/jquery-3.3.1.min.js.map.gz
inflated: assets/application.js
inflated: assets/slack.svg.gz
inflated: assets/mobile.css
inflated: assets/bootstrap.min.css-13864e70f3d7eb9e606ee6bf6ce3451a.map.gz
inflated: assets/bootstrap.bundle.min.js-45e94ecc39062646ee2f86d8b550e20f.map
inflated: assets/bootstrap.css-0ab7c5a3c60c431b89b5a1e3fb26c525.map
inflated: assets/bootstrap.css.map
inflated: assets/slack-07688f36a61209ddace7da11c5eabdd4.svg.gz
inflated: assets/jquery-3.3.1.min.js-0a0736858b57672f56f155a0c6480cd8.map
inflated: assets/advancedgrails-06b528621d135871fdd9cdc988916970.svg
inflated: assets/bootstrap.bundle.min.js.map
inflated: assets/bootstrap-reboot.css
inflated: assets/bootstrap.min-37722be5eea5421bdf222f1ef5d70d60.css.gz
inflated: assets/grails.css.gz
inflated: assets/springsource-236d54ae9dbe8e579af60dcede70cdd9.png
inflated: assets/spinner.gif
inflated: assets/favicon-9ef27019cc7a636e29ecc851528f716e.ico.gz
inflated: assets/apple-touch-icon-retina.png
inflated: assets/grails-cupsonly-logo-white-b651640f09f462efc43058482f4131d4.svg.gz
inflated: assets/bootstrap-grid.css
inflated: assets/grails_logo.png
inflated: assets/application.css.gz
inflated: assets/errors-081f1b7cc86c9f8824107b7756baa1cd.css
inflated: assets/jquery-3.3.1.min.js.map
inflated: assets/application.unminified.js
inflated: assets/bootstrap.bundle.js-6099416e857ce20c2dc67e5c70e31c10.map.gz
inflated: assets/popper.min-10e47cff0b9c2cef7f5d68b84bc27118.js
inflated: assets/main-ae29fbf5e8f2e67263127bab65c86dc7.css.gz
inflated: assets/documentation-e1490625d159ac8303c1cace0bad1904.svg.gz
inflated: assets/grails.svg
inflated: assets/apple-touch-icon-c915103363017d14cea9c2a46ea12166.png
inflated: assets/bootstrap.css-0ab7c5a3c60c431b89b5a1e3fb26c525.map.gz
inflated: assets/bootstrap.bundle.min.js.gz
inflated: assets/errors.css
inflated: assets/errors.css.gz
inflated: assets/mobile-61b8607741e97aa19553f856bc5da637.css.gz
inflated: assets/bootstrap.min.css.gz
inflated: assets/bootstrap.js
inflated: assets/grails-11b02aaafd7cb1f992a9dc3e4a1e86cd.css.gz
inflated: assets/bootstrap.bundle.js.map
inflated: assets/favicon.ico.gz
inflated: assets/bootstrap-grid.css.gz
inflated: assets/mobile-61b8607741e97aa19553f856bc5da637.css
inflated: assets/grails-cda5b2716e249b1f09558c5c3aa79ddb.svg
inflated: assets/bootstrap-reboot-2f5440be97d135bdb5cebcd03957f943.css.gz
inflated: assets/grails.svg.gz
inflated: assets/favicon.ico
inflated: assets/bootstrap.bundle.unminified.js
inflated: assets/bootstrap-grid-32516c9d7a085c37177e8090258af941.css
inflated: assets/main-ae29fbf5e8f2e67263127bab65c86dc7.css
inflated: assets/bootstrap-f83ce29f6d8380d06c6ee88eed24b5a3.css.gz
inflated: assets/bootstrap.min.js
inflated: assets/bootstrap.min.css.map.gz
inflated: assets/bootstrap.min.css.map
inflated: assets/application.js.map
inflated: assets/mobile.css.gz
inflated: assets/grails_logo-eabe4af98753b0163266d7e68bbd32e3.png
inflated: assets/application-763882b518f3cbb991d9a54b44ebb949.css.gz
created: org/
created: org/springframework/
created: org/springframework/boot/
created: org/springframework/boot/loader/
inflated: org/springframework/boot/loader/LaunchedURLClassLoader$1.class
inflated: org/springframework/boot/loader/PropertiesLauncher$ArchiveEntryFilter.class
inflated: org/springframework/boot/loader/PropertiesLauncher$PrefixMatchingArchiveFilter.class
inflated: org/springframework/boot/loader/Launcher.class
inflated: org/springframework/boot/loader/ExecutableArchiveLauncher$1.class
created: org/springframework/boot/loader/jar/
inflated: org/springframework/boot/loader/jar/JarFile$1.class
inflated: org/springframework/boot/loader/jar/Handler.class
inflated: org/springframework/boot/loader/jar/JarEntry.class
inflated: org/springframework/boot/loader/jar/JarFile$3.class
inflated: org/springframework/boot/loader/jar/CentralDirectoryEndRecord.class
inflated: org/springframework/boot/loader/jar/CentralDirectoryVisitor.class
inflated: org/springframework/boot/loader/jar/JarFile$JarFileType.class
inflated: org/springframework/boot/loader/jar/JarFileEntries.class
inflated: org/springframework/boot/loader/jar/JarFile.class
inflated: org/springframework/boot/loader/jar/JarFileEntries$1.class
inflated: org/springframework/boot/loader/jar/JarURLConnection$1.class
inflated: org/springframework/boot/loader/jar/JarFile$2.class
inflated: org/springframework/boot/loader/jar/JarEntryFilter.class
inflated: org/springframework/boot/loader/jar/AsciiBytes.class
inflated: org/springframework/boot/loader/jar/CentralDirectoryParser.class
inflated: org/springframework/boot/loader/jar/Bytes.class
inflated: org/springframework/boot/loader/jar/ZipInflaterInputStream.class
inflated: org/springframework/boot/loader/jar/JarFileEntries$EntryIterator.class
inflated: org/springframework/boot/loader/jar/FileHeader.class
inflated: org/springframework/boot/loader/jar/JarURLConnection$JarEntryName.class
inflated: org/springframework/boot/loader/jar/JarURLConnection.class
inflated: org/springframework/boot/loader/jar/CentralDirectoryFileHeader.class
created: org/springframework/boot/loader/data/
inflated: org/springframework/boot/loader/data/ByteArrayRandomAccessData.class
inflated: org/springframework/boot/loader/data/RandomAccessDataFile$DataInputStream.class
inflated: org/springframework/boot/loader/data/RandomAccessDataFile$FilePool.class
inflated: org/springframework/boot/loader/data/RandomAccessData$ResourceAccess.class
inflated: org/springframework/boot/loader/data/RandomAccessDataFile.class
inflated: org/springframework/boot/loader/data/RandomAccessData.class
inflated: org/springframework/boot/loader/LaunchedURLClassLoader.class
inflated: org/springframework/boot/loader/JarLauncher.class
inflated: org/springframework/boot/loader/MainMethodRunner.class
inflated: org/springframework/boot/loader/PropertiesLauncher$1.class
inflated: org/springframework/boot/loader/ExecutableArchiveLauncher.class
inflated: org/springframework/boot/loader/WarLauncher.class
created: org/springframework/boot/loader/archive/
inflated: org/springframework/boot/loader/archive/JarFileArchive$EntryIterator.class
inflated: org/springframework/boot/loader/archive/ExplodedArchive$FileEntryIterator.class
inflated: org/springframework/boot/loader/archive/ExplodedArchive$FileEntry.class
inflated: org/springframework/boot/loader/archive/JarFileArchive$JarFileEntry.class
inflated: org/springframework/boot/loader/archive/Archive$Entry.class
inflated: org/springframework/boot/loader/archive/JarFileArchive.class
inflated: org/springframework/boot/loader/archive/ExplodedArchive.class
inflated: org/springframework/boot/loader/archive/Archive.class
inflated: org/springframework/boot/loader/archive/ExplodedArchive$FileEntryIterator$EntryComparator.class
inflated: org/springframework/boot/loader/archive/Archive$EntryFilter.class
inflated: org/springframework/boot/loader/archive/ExplodedArchive$1.class
inflated: org/springframework/boot/loader/PropertiesLauncher.class
created: org/springframework/boot/loader/util/
inflated: org/springframework/boot/loader/util/SystemPropertyUtils.class
```

Run akka-bbb-apps
```
cd ~/dev/bigbluebutton/akka-bbb-apps
sudo ./run.sh
```

```log
[info] Loading settings for project akka-bbb-apps-build from plugins.sbt,packager.sbt ...
[info] Loading project definition from /home/boss/dev/bigbluebutton/akka-bbb-apps/project
[info] Updating ProjectRef(uri("file:/home/boss/dev/bigbluebutton/akka-bbb-apps/project/"), "akka-bbb-apps-build")...
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Compiling 1 Scala source to /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes ...
[info] Done compiling.
[info] Loading settings for project bbbAppsAkka from build.sbt ...
[info] Set current project to bbb-apps-akka (in build file:/home/boss/dev/bigbluebutton/akka-bbb-apps/)
[success] Total time: 0 s, completed Apr 22, 2021 6:24:32 PM
[info] Scalariform auto formatting enabled
[info] Updating ...
[info] Applying Scalariform preferences found in /home/boss/dev/bigbluebutton/akka-bbb-apps/./.scalariform.conf
[info] Wrote /home/boss/dev/bigbluebutton/akka-bbb-apps/target/scala-2.12/bbb-apps-akka_2.12-0.0.4.pom
[warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict, pick one version:
[warn] * org.scala-lang:scala-library:(2.12.7, 2.12.8)
[info] Packaging /home/boss/dev/bigbluebutton/akka-bbb-apps/target/scala-2.12/bbb-apps-akka_2.12-0.0.4-sources.jar ...
[info] Done packaging.
[info] Formatting 264 Scala sources ProjectRef(uri("file:/home/boss/dev/bigbluebutton/akka-bbb-apps/"), "bbbAppsAkka")(compile) ...
[warn] module not found: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT
[warn] ==== local: tried
[warn] /root/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml
[warn] ==== public: tried
[warn] ==== local-preloaded-ivy: tried
[warn] /root/.sbt/preloaded/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////root/.sbt/preloaded/org/bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/bbb-common-message_2.12-0.0.20-SNAPSHOT.pom
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.bigbluebutton#bbb-common-message_2.12;0.0.20-SNAPSHOT: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Unresolved dependencies path:
[warn] org.bigbluebutton:bbb-common-message_2.12:0.0.20-SNAPSHOT (/home/boss/dev/bigbluebutton/akka-bbb-apps/build.sbt#L42)
[warn] +- org.bigbluebutton:bbb-apps-akka_2.12:0.0.4
[error] Total time: 8 s, completed Apr 22, 2021 6:24:40 PM
./run.sh: line 5: cd: target/universal/stage: No such file or directory
./run.sh: line 6: ./bin/bbb-apps-akka: No such file or directory
```




среда, 21 апреля 2021 г. в 19:23:37 UTC+6, Anton Georgiev:

Anton Georgiev

unread,
Apr 22, 2021, 9:07:04 AM4/22/21
to neeraj
Hi Kaisar,

The extra details helped!

Good to know you're on v2.2.x-release, ignore the parts about /etc/bigbluebutton..

I think I spot the first problem:
When you build the dependency, you do so as regular *boss* user (good)

[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/poms/bbb-common-message_2.12.pom
[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/jars/bbb-common-message_2.12.jar
[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/srcs/bbb-common-message_2.12-sources.jar
[info] published bbb-common-message_2.12 to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/docs/bbb-common-message_2.12-javadoc.jar
[info] published ivy to /home/boss/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml

but in akka-apps you do the running as root user (not very good) so the dependency is being looked up in the wrong user directory
[warn] /root/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml

Could you please run sbt clean (as root)
cd bigbluebutton/akka-bbb-apps
sudo sbt clean

and then just run the ./run.sh command without sudo
./run.sh

From what I can tell the only thing that requires extra permissions in run.sh script is to stop bbb-apps-akka (but you already stopped it)
Please post here the output when you run ./run.sh without sudo

If you're hitting troubles, just list what's in the script and run the lines one by one to see which line is an obstacle for you.

I suspect that 'boss' user may be unable to stop bbb-apps-akka, if this is the case, stop the service (with root), then in run.sh comment out the line that has to do with stopping bbb-apps-akka and re-run ./run.sh without sudo.

Looking forward to your reply!
Hope this helps!
Anton




--
You received this message because you are subscribed to a topic in the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/bigbluebutton-dev/fBmbTXVxpes/unsubscribe.
To unsubscribe from this group and all its topics, send an email to bigbluebutton-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bigbluebutton-dev/b5b0cf3f-2221-4575-b5ae-058dd9e7d081n%40googlegroups.com.

Kaisar Barlybay

unread,
Apr 23, 2021, 3:51:56 AM4/23/21
to BigBlueButton-dev
Hi Anton,

following this instruction:
```
cd ~/dev/bigbluebutton/akka-bbb-apps
sudo sbt clean
./run.sh
```

or by running the commands from the script one by one at the step `sbt clean stage`. I am getting the (Permission denied) error. It is strange that he began to demand sudo rights, because before I rebuilt bbb-web this error did not occur.

Logs (`sudo sbt clean stage`):
```log
...
sbt.librarymanagement.ResolveException: unresolved dependency: org.bigbluebutton#bbb-common-message_2.12;0.0.20 SNAPSHOT: not found
...
```

Logs `sbt clean stage`:
```log
[info] Loading settings for project akka-bbb-apps-build from plugins.sbt,packager.sbt ...
[info] Loading project definition from /home/boss/dev/bigbluebutton/akka-bbb-apps/project
[info] Compiling 1 Scala source to /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes ...
[error] error writing org/bigbluebutton/build/Dependencies$: java.nio.file.AccessDeniedException /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies$.class
[error] error writing org/bigbluebutton/build/Dependencies: java.nio.file.AccessDeniedException /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies.class
[error] error writing org/bigbluebutton/build/Dependencies$Versions$: java.nio.file.AccessDeniedException /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies$Versions$.class
[error] error writing org/bigbluebutton/build/Dependencies$Compile$: java.nio.file.AccessDeniedException /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies$Compile$.class
[error] error writing org/bigbluebutton/build/Dependencies$Test$: java.nio.file.AccessDeniedException /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies$Test$.class
[error] 5 errors found
[error] ## Exception when compiling 1 sources to /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes
[error] /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies$Versions$.class (Permission denied)
[error] java.io.FileOutputStream.open0(Native Method)
[error] java.io.FileOutputStream.open(FileOutputStream.java:270)
[error] java.io.FileOutputStream.<init>(FileOutputStream.java:213)
[error] java.io.FileOutputStream.<init>(FileOutputStream.java:162)
[error] sbt.io.Using$.$anonfun$fileOutputChannel$1(Using.scala:93)
[error] sbt.io.Using$$anon$2.openImpl(Using.scala:76)
[error] sbt.io.OpenFile.open(Using.scala:43)
[error] sbt.io.OpenFile.open$(Using.scala:39)
[error] sbt.io.Using$$anon$2.open(Using.scala:75)
[error] sbt.io.Using$$anon$2.open(Using.scala:75)
[error] sbt.io.Using.apply(Using.scala:21)
[error] sbt.io.IO$.$anonfun$copyFile$3(IO.scala:829)
[error] sbt.io.IO$.$anonfun$copyFile$3$adapted(IO.scala:828)
[error] sbt.io.Using.apply(Using.scala:22)
[error] sbt.io.IO$.copyFile(IO.scala:828)
[error] sbt.io.IO$.move(IO.scala:1042)
[error] sbt.internal.inc.ClassFileManager$TransactionalClassFileManager.$anonfun$complete$5(ClassFileManager.scala:105)
[error] sbt.internal.inc.ClassFileManager$TransactionalClassFileManager.$anonfun$complete$5$adapted(ClassFileManager.scala:105)
[error] scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:788)
[error] scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:145)
[error] scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:235)
[error] scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:228)
[error] scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)
[error] scala.collection.mutable.HashMap.foreach(HashMap.scala:145)
[error] scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:787)
[error] sbt.internal.inc.ClassFileManager$TransactionalClassFileManager.complete(ClassFileManager.scala:105)
[error] xsbti.compile.WrappedClassFileManager.complete(WrappedClassFileManager.java:52)
[error] sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:137)
[error] sbt.internal.inc.Incremental$.compile(Incremental.scala:80)
[error] sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:67)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:311)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:269)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:159)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:238)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:69)
[error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1549)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1523)
[error] scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error] sbt.std.Transform$$anon$4.work(System.scala:67)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] sbt.Execute.work(Execute.scala:278)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] java.lang.Thread.run(Thread.java:748)
[error]            
[error] java.io.FileNotFoundException: /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies$Versions$.class (Permission denied)
[error]  at java.io.FileOutputStream.open0(Native Method)
[error]  at java.io.FileOutputStream.open(FileOutputStream.java:270)
[error]  at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
[error]  at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
[error]  at sbt.io.Using$.$anonfun$fileOutputChannel$1(Using.scala:93)
[error]  at sbt.io.Using$$anon$2.openImpl(Using.scala:76)
[error]  at sbt.io.OpenFile.open(Using.scala:43)
[error]  at sbt.io.OpenFile.open$(Using.scala:39)
[error]  at sbt.io.Using$$anon$2.open(Using.scala:75)
[error]  at sbt.io.Using$$anon$2.open(Using.scala:75)
[error]  at sbt.io.Using.apply(Using.scala:21)
[error]  at sbt.io.IO$.$anonfun$copyFile$3(IO.scala:829)
[error]  at sbt.io.IO$.$anonfun$copyFile$3$adapted(IO.scala:828)
[error]  at sbt.io.Using.apply(Using.scala:22)
[error]  at sbt.io.IO$.copyFile(IO.scala:828)
[error]  at sbt.io.IO$.move(IO.scala:1042)
[error]  at sbt.internal.inc.ClassFileManager$TransactionalClassFileManager.$anonfun$complete$5(ClassFileManager.scala:105)
[error]  at sbt.internal.inc.ClassFileManager$TransactionalClassFileManager.$anonfun$complete$5$adapted(ClassFileManager.scala:105)
[error]  at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:788)
[error]  at scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:145)
[error]  at scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:235)
[error]  at scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:228)
[error]  at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)
[error]  at scala.collection.mutable.HashMap.foreach(HashMap.scala:145)
[error]  at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:787)
[error]  at sbt.internal.inc.ClassFileManager$TransactionalClassFileManager.complete(ClassFileManager.scala:105)
[error]  at xsbti.compile.WrappedClassFileManager.complete(WrappedClassFileManager.java:52)
[error]  at sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:137)
[error]  at sbt.internal.inc.Incremental$.compile(Incremental.scala:80)
[error]  at sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:67)
[error]  at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:311)
[error]  at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:269)
[error]  at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:159)
[error]  at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:238)
[error]  at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:69)
[error]  at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1549)
[error]  at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1523)
[error]  at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error]  at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error]  at sbt.std.Transform$$anon$4.work(System.scala:67)
[error]  at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error]  at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error]  at sbt.Execute.work(Execute.scala:278)
[error]  at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error]  at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error]  at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error]  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]  at java.lang.Thread.run(Thread.java:748)
[error] (Compile / compileIncremental) java.io.FileNotFoundException: /home/boss/dev/bigbluebutton/akka-bbb-apps/project/target/scala-2.12/sbt-1.0/classes/org/bigbluebutton/build/Dependencies$Versions$.class (Permission denied)
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
```

четверг, 22 апреля 2021 г. в 19:07:04 UTC+6, Anton Georgiev:

Kaisar Barlybay

unread,
Apr 23, 2021, 5:05:52 AM4/23/21
to BigBlueButton-dev
Hi Anton, 

just tried to compile bbb-common-message as root user. It was published in the root's folder (/root/.ivy2/local/org.bigbluebutton/bbb-common-message_2.12/0.0.20-SNAPSHOT/ivys/ivy.xml) and I was able to compile bbb-akka-apps without errors.

Will I have issues in the future if I build services as root user? Before that, I compiled bbb-akka-apps as a regular user without any problems. But after I rebuilt bbb-web, for some reason sbt began to demand the sudo rights to build bbb-akka-apps.

Compilation bbb-common-message as root user:
```
sudo systemctl stop bbb-web
...
cd ~/dev/bigbluebutton/bbb-common-message
sudo ./deploy.sh
...
sudo systemctl start bbb-web
```


пятница, 23 апреля 2021 г. в 13:51:56 UTC+6, Kaisar Barlybay:

Anton Georgiev

unread,
Apr 23, 2021, 10:47:26 AM4/23/21
to neeraj
Hi Kaisar,

You may want to change the ownership / permission to the entire ~/dev/bigbluebutton/* so it's owned by 'boss'. 
Something like this
sudo chown -R boss:boss ~/dev/bigbluebutton/
sudo chmod -R 775 ~/dev/bigbluebutton/

and then don't use sudo for building / cleaning

Glad you got it working aside from the file ownership / permissions part. I'd recommend still addressing this before proceeding.

Anton

Kaisar Barlybay

unread,
Apr 26, 2021, 4:09:45 AM4/26/21
to BigBlueButton-dev
Hi Anton,

yes, now everything seems to work. Thank you so much for your help!

пятница, 23 апреля 2021 г. в 20:47:26 UTC+6, Anton Georgiev:
Reply all
Reply to author
Forward
0 new messages