SNAPSHOT dependencies in release Maven artifacts

420 views
Skip to first unread message

Maxim Solodovnik

unread,
Apr 10, 2020, 8:14:42 AM4/10/20
to kurento

While building I notice SNAPSHOT repositories are being checking for updates

Finally I was able able to investigate the topic and find out 
Depends on 
<artifactId>kms-api-core</artifactId>
<version>[6.7.0,7.0.0-SNAPSHOT)</version>

Depends on 
<artifactId>kms-api-core</artifactId>
<version>[6.7.0,7.0.0-SNAPSHOT)</version>
And
<artifactId>kms-api-elements</artifactId>
<version>[6.7.0,7.0.0-SNAPSHOT)</version>

Would it be possible to make release artifacts be dependent on release artifacts only (no snapshots)
This would speed up out build time

Thanks in advance :)

Maxim Solodovnik

unread,
May 3, 2020, 1:03:58 PM5/3/20
to kurento
Can someone please take a look at this issue?
The code seems to be auto-generated, and I have no idea where PR can be created :(

Juan Navarro

unread,
May 3, 2020, 5:43:26 PM5/3/20
to kur...@googlegroups.com
Hi, I'll have a look at this tomorrow; it seems like a mistake in the release process
--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/c8c98fcd-663f-46f7-826f-bbb77cc3746c%40googlegroups.com.

Maxim Solodovnik

unread,
May 3, 2020, 9:39:03 PM5/3/20
to kurento
Thanks a lot Juan!
To unsubscribe from this group and stop receiving emails from it, send an email to kur...@googlegroups.com.

Maxim Solodovnik

unread,
Jul 14, 2020, 11:46:27 AM7/14/20
to kurento
Hello Juan,


Juan Navarro

unread,
Jul 14, 2020, 12:39:54 PM7/14/20
to kur...@googlegroups.com
Hi, I'm surprised that any snapshot dependency could slip into Maven Central deployments, as we have a release profile that rejects building if any snapshot dependency altogether is found in the whole of kurento-java project.

Could you please run mvn dependency:tree so we can have a look at the dependency tree?
(run it a couple of times so everything is cached locally to avoid all those "Downloading", "Downloaded" lines that would be just noise)
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/ff322c94-9e26-45d5-b278-138e0ffce28an%40googlegroups.com.

Maxim Solodovnik

unread,
Jul 15, 2020, 2:29:10 AM7/15/20
to kurento
Hello Juan,

As I wrote in my initial post SNAPSHOTS deps are not being displayed in output of `dependency:tree`
BUT these artifacts are being queried during build, and this takes much more time :(((

According to the pom.xml analysis:
org.kurento:kurento-client:6.14.0 has compile time dependency on
org.kurento:kms-api-elements:6.14.0 which has compile time dependency on 
org.kurento:kms-api-core:[6.7.0,7.0.0-SNAPSHOT)


I believe this need to be fixed ....

Juan Navarro

unread,
Jul 15, 2020, 7:35:46 AM7/15/20
to kur...@googlegroups.com
I think the version specification itself is not a mistake. It's true that, being autogenerated means it's more difficult to understand, and now that I've had a look into it, it's really convoluted, but here is a summary:

  • The dependency level of kms-elements is defined in kms-elements/src/server/interface/elements.kmd.json:4.

  • For the main Kurento modules (core, elements, filters), Kurento Module Creator automatically adds an implicit dependency between them (so elements depends on core, and filters depends on both elements and core).

  • Kurento Module Creator has some routines that convert these dependency specifications into valid formats for both Maven and NPM. Caret versions like ^1.2.3 get converted into >=1.2.3 <2.0.0. This, when converted into Maven format, becomes [1.2.3,2.0.0-SNAPSHOT).

    This is not an accident, seeing that the unit tests do actually check that this conversion is like explained. We can see here the test for Maven:

    assertThat(convertToMavenImport("^1.2.3"), is("[1.2.3,2.0.0-SNAPSHOT)"));

    and here the test for NPM:

    assertThat(convertToNpmImport(null, "^1.2.3"), is(">=1.2.3 <2.0.0"));


I'm thinking that in theory an application should not pull SNAPSHOT dependencies if the nightly repository is not enabled in the project. So, instead of removing the dependency on 7.0.0-SNAPSHOT, the actual correct way to solve this issue would be to not use the snapshots repo.

Here is a change that might be the cause of this. For release 6.13.1, I enabled the Kurento snapshots repository by default for both release and snapshot builds, because there was some problems with the release process. Maybe this was a mistake after all, and the change should be reverted. You can see the commit here, it was 7 months ago: https://github.com/Kurento/kurento-java/commit/966b5b166b14a9166957ca1449d162071405b8cf

I'm thinking that it's worth checking if disabling this does indeed solve the problem. To do so, you would need to change and install a customized build of kurento-parent-pom, something like this:

git clone https://github.com/Kurento/kurento-java.git
cd kurento-java/kurento-parent-pom/
editor pom.xml

At the bottom of the file, change the TWO appearances of:

<releases>
  <enabled>true</enabled>
</releases>

to:

<releases>
  <enabled>false</enabled>
</releases>

Then build and install, from the current working dir (kurento-parent-pom):

mvn -U -Dmaven.test.skip=true clean install

And now run again your application, using '-nsu' to make sure that dependencies are not re-downloaded:

cd /path/to/app/
mvn -nsu clean spring-boot:run [...]

With this the customized parent-pom should enter into effect and the snapshot repository should be disabled (provided that you're not depending on any of the 6.14.1-SNAPSHOT versions, but on the 6.14.0 ones).

Let me know if it helps.
--
Juan Navarro
Kurento maintainer & developer
@j1elo at GitHub, Twitter

Maxim Solodovnik

unread,
Sep 18, 2020, 11:07:31 PM9/18/20
to kurento
Hello Juan,

I finally was able to perform following steps:
1) clone Kurento git repo
2) change all 6.14.1-SNAPSHOT to be 6.14.0 in kurento-java/kurento-parent-pom/pom.xml (releases were already disabled for snapshot repos)
3) make install `kurento-parent-pom`
4) run build of our main app (apache/openmeetings) without `-nsu` option due to we would like to test if snapshot repositories will be queried or not

I got lots of lines like this:


Maybe it is possible to change the range from 
[6.7.0,7.0.0-SNAPSHOT)
to
[6.7.0,7.0.0)

I believe this will be the same rule, but SNAPSHOTs will be queried :)

Maxim Solodovnik

unread,
Nov 1, 2020, 9:36:16 AM11/1/20
to kurento
Hello Juan,

any chances new releases will not have SNAPSHOT dependencies?

Juan Navarro

unread,
Nov 6, 2020, 4:08:36 PM11/6/20
to kur...@googlegroups.com
Hi,

Kurento 6.15.0 is now released, and in principle you shouldn't find any -SNAPSHOT dependencies being downloaded. I tested in a clean machine (no ~/.m2 directory) a couple of the kurento tutorials (which bring a lot of dependencies and mostly all of Kurento Java packages) and no snapshot dependency was downloaded, so I believe whatever issue was with the dependencies should now be fixed.

Maxim Solodovnik

unread,
Nov 7, 2020, 11:43:46 PM11/7/20
to kurento
Hello Juan,

Thanks for your answer :)
depends on 
<artifactId>kms-api-core</artifactId>
<version>[6.7.0,7.0.0-SNAPSHOT)</version>

which leads to SNAPSHOTS checking in our project
we have snapshots repositories enabled, 
and some of the dependencies we are using are also has some SNAPSHOT repos enabled

can be checked here https://ci-builds.apache.org/job/OpenMeetings/job/openmeetings/133/consoleFull (i'll keep this build for some time)
please search for org/kurento/kms-api-core/6.7.1-SNAPSHOT

Juan Navarro

unread,
Nov 9, 2020, 10:43:33 AM11/9/20
to kurento
It's true Maven is checking metadata of all versions in all of apache-snapshots, sonatype-snapshots, Nexus, central, and finally kurento-snapshots
(maybe some plugin is doing this? I'm not too an advanced user of Maven)

but in the end the only actual artifacts I see downloaded are from the latest stable version (6.15.0), and the only SNAPSHOT artifacts that get downloaded are actually from openmeetings itself:

I copied the text from your build log into openmeetings-maven.log:

$ grep -P '(kms|kur).*(pom|jar)' openmeetings-maven.log
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-client/6.15.0/kurento-client-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-client/6.15.0/kurento-client-6.15.0.pom (2.8 kB at 7.0 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-parent-pom/6.15.0/kurento-parent-pom-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-parent-pom/6.15.0/kurento-parent-pom-6.15.0.pom (51 kB at 1.1 MB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-qa-pom/6.15.0/kurento-qa-pom-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-qa-pom/6.15.0/kurento-qa-pom-6.15.0.pom (5.6 kB at 310 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-jsonrpc-client/6.15.0/kurento-jsonrpc-client-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-jsonrpc-client/6.15.0/kurento-jsonrpc-client-6.15.0.pom (2.0 kB at 123 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-jsonrpc/6.15.0/kurento-jsonrpc-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-jsonrpc/6.15.0/kurento-jsonrpc-6.15.0.pom (1.8 kB at 112 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-commons/6.15.0/kurento-commons-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-commons/6.15.0/kurento-commons-6.15.0.pom (1.4 kB at 24 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-core/6.15.0/kms-api-core-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-core/6.15.0/kms-api-core-6.15.0.pom (2.1 kB at 123 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-elements/6.15.0/kms-api-elements-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-elements/6.15.0/kms-api-elements-6.15.0.pom (2.3 kB at 136 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-filters/6.15.0/kms-api-filters-6.15.0.pom
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-filters/6.15.0/kms-api-filters-6.15.0.pom (2.5 kB at 138 kB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-client/6.15.0/kurento-client-6.15.0.jar
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-jsonrpc-client/6.15.0/kurento-jsonrpc-client-6.15.0.jar
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-commons/6.15.0/kurento-commons-6.15.0.jar
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-core/6.15.0/kms-api-core-6.15.0.jar
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-elements/6.15.0/kms-api-elements-6.15.0.jar
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-commons/6.15.0/kurento-commons-6.15.0.jar (31 kB at 1.1 MB/s)
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-filters/6.15.0/kms-api-filters-6.15.0.jar
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-elements/6.15.0/kms-api-elements-6.15.0.jar (17 kB at 456 kB/s)
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-core/6.15.0/kms-api-core-6.15.0.jar (19 kB at 470 kB/s)
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kms-api-filters/6.15.0/kms-api-filters-6.15.0.jar (4.4 kB at 105 kB/s)
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-jsonrpc-client/6.15.0/kurento-jsonrpc-client-6.15.0.jar (110 kB at 2.0 MB/s)
[INFO] Downloaded from central: https://repo.maven.apache.org/maven2/org/kurento/kurento-client/6.15.0/kurento-client-6.15.0.jar (223 kB at 3.3 MB/s)

$ grep -P 'SNAPSHOT.*(pom|jar)' openmeetings-maven.log | grep -v openmeetings
(Empty)

Maxim Solodovnik

unread,
Nov 9, 2020, 10:46:32 AM11/9/20
to kurento
Unfortunately it takes time (and produces extra logs)

the build is slowed down because of all those checks

Juan Navarro

unread,
Nov 9, 2020, 10:48:51 AM11/9/20
to kurento
On Monday, November 9, 2020 at 4:43:33 PM UTC+1, Juan Navarro wrote:
(maybe some plugin is doing this? I'm not too an advanced user of Maven)

I mean that I am not a very advanced used of Maven, so most of the time I cannot explain why something is being done :) 
(there is so much implicit behavior depending on plugins and profiles, that it's usually complicated to understand the Why's of a Maven run.

But in any case the observation holds: no Kurento SNAPSHOT packages being downloaded, as far as I can see.

If it was really causing problems I am not against changing the dependency range from "[6.7.0,7.0.0-SNAPSHOT)" to "[6.7.0,7.0.0)", although I'm not sure that would solve any actual issue with dependency versions. Did you try manually changing this and noticing a really different behavior in terms of resolution of dependencies?


Maxim Solodovnik

unread,
Nov 9, 2020, 11:04:34 AM11/9/20
to kurento
Hello Juan,

I just tried to test my theory
Unfortunately I was unable to find sources of `kms-api-elements`

github search was useless here :(

Juan Navarro

unread,
Nov 10, 2020, 8:31:49 AM11/10/20
to kur...@googlegroups.com
Follow the instructions from Build from sources, but in "Download KMS source code", replace kms-omni-build with kms-elements.
Then, follow the section How to work with API changes to generate the kms-api-elements.

In summary, something like this:

git clone https://github.com/Kurento/kms-elements.git
cd kms-elements/
mkdir build && cd build
cmake .. -DGENERATE_JAVA_CLIENT_PROJECT=TRUE -DDISABLE_LIBRARIES_GENERATION=TRUE
cd java/
mvn clean install

You can then use this artifact to test your builds, or test with different variations of the pom.xml.

Changing the [6.7.0,7.0.0-SNAPSHOT) is more difficult, though. This value gets auto-generated by Kurento Module Creator.

It first takes the value of "kurentoVersion": "^6.7.0" from kms-elements/src/server/interface/elements.kmd.json, and translates it into Maven and Node.js version specifications.
First it transforms it into an expanded version range ">=6.7.0 & <7.0.0" (here),
and then finally into its Node and Maven final form, "[6.7.0,7.0.0-SNAPSHOT)" (here).


I'm not sure if removing the conversion from "^6.7.0" to "[6.7.0,7.0.0-SNAPSHOT)" in Kurento Module Creator is a good idea. This tool auto-generates project build configs for all modules in Kurento, including extra plugins (kms-chroma and friends) and user custom plugins, so a lot of existing code is depending on this behavior. If the compatibility range gets converted from "^6.7.0" to "[6.7.0,7.0.0)" (without "-SNAPSHOT"), it would be impossible to retrieve the snapshot versions during development.

Also, with a correctly configured system Maven should not try to download all and every version's metadata. I cannot share a link to our CI build, so I've uploaded a couple of runs:
Now compare these results:

The release build doesn't request any snapshot metadata, at all:

$ grep -Pi 'kms-api-core.*SNAPSHOT.*metadata.xml' kurento-java-maven-release.log
(Empty)

$ grep -Pi 'kms-api-.*SNAPSHOT.*metadata.xml' kurento-java-maven-release.log
(Empty)

The development version correctly request only metadata for the latest available version:

$ grep -Pi 'kms-api-core.*SNAPSHOT.*metadata.xml' kurento-java-maven-development.log
[INFO] Downloading: https://maven.********.io/repository/snapshots/org/kurento/kms-api-core/6.15.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded: https://maven.********.io/repository/snapshots/org/kurento/kms-api-core/6.15.1-SNAPSHOT/maven-metadata.xml (361 B at 2.4 KB/sec)

$ grep -Pi 'kms-api-.*SNAPSHOT.*metadata.xml' kurento-java-maven-development.log
[INFO] Downloading: https://maven.********.io/repository/snapshots/org/kurento/kms-api-core/6.15.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded: https://maven.********.io/repository/snapshots/org/kurento/kms-api-core/6.15.1-SNAPSHOT/maven-metadata.xml (361 B at 2.4 KB/sec)
[INFO] Downloading: https://maven.********.io/repository/snapshots/org/kurento/kms-api-elements/6.15.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded: https://maven.********.io/repository/snapshots/org/kurento/kms-api-elements/6.15.1-SNAPSHOT/maven-metadata.xml (365 B at 5.6 KB/sec)
[INFO] Downloading: https://maven.********.io/repository/snapshots/org/kurento/kms-api-filters/6.15.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded: https://maven.********.io/repository/snapshots/org/kurento/kms-api-filters/6.15.1-SNAPSHOT/maven-metadata.xml (364 B at 5.6 KB/sec)

Now compare that with your log:

$ grep -Pi 'kms-api-core.*SNAPSHOT.*metadata.xml' openmeetings-maven.log
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.7.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.7.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.7.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.7.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.7.1-SNAPSHOT/maven-metadata.xml (360 B at 857 B/s)
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.7.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.7.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.7.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.7.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.7.2-SNAPSHOT/maven-metadata.xml (360 B at 835 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.7.3-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.7.3-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.7.3-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.7.3-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.7.3-SNAPSHOT/maven-metadata.xml (361 B at 843 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.8.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.8.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.8.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.8.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.8.1-SNAPSHOT/maven-metadata.xml (360 B at 853 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.9.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.9.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.9.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.9.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.9.0-SNAPSHOT/maven-metadata.xml (360 B at 853 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.9.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.9.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.9.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.9.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.9.1-SNAPSHOT/maven-metadata.xml (361 B at 855 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.10.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.10.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.10.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.10.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.10.1-SNAPSHOT/maven-metadata.xml (361 B at 758 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.11.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.11.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.11.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.11.0-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.11.0-SNAPSHOT/maven-metadata.xml (361 B at 857 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.11.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.11.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.11.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.11.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.11.1-SNAPSHOT/maven-metadata.xml (362 B at 752 B/s)
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.12.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.12.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.12.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.12.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.12.1-SNAPSHOT/maven-metadata.xml (361 B at 763 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.13.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.13.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.13.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.13.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.13.1-SNAPSHOT/maven-metadata.xml (361 B at 573 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.13.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.13.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.13.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.13.2-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.13.2-SNAPSHOT/maven-metadata.xml (361 B at 779 B/s)
[INFO] Downloading from apache-snapshots: https://repository.apache.org/content/groups/snapshots/org/kurento/kms-api-core/6.14.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots/org/kurento/kms-api-core/6.14.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.14.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloading from Nexus: http://repository.apache.org/snapshots/org/kurento/kms-api-core/6.14.1-SNAPSHOT/maven-metadata.xml
[INFO] Downloaded from kurento-snapshots: https://maven.openvidu.io/repository/snapshots/org/kurento/kms-api-core/6.14.1-SNAPSHOT/maven-metadata.xml (362 B at 857 B/s)


I'm even more convinced now that this is probably a config fault at your system, so you might want to study why that's happening in your CI environment. The build system should not unconditionally request all snapshots for all versions available in all repositories... so something seems off in there.

Maxim Solodovnik

unread,
Nov 10, 2020, 9:00:30 AM11/10/20
to kurento
I'll try to build custom version of `kms-elements` and check

I sent question regarding version numbering to Maven user@ list 

I believe release versions should have only release dependencies
As soon as the artifact is released version is changed to be SNAPSHOT and here you can use SNAPSHOT dependencies as well


BTW I was unable to change version of `kurento-java` using following command 
`mvn versions:set -DgenerateBackupPoms=false -DnewVersion=6.15.0-s`
How are you changing your versions?

Juan Navarro

unread,
Nov 10, 2020, 9:25:53 AM11/10/20
to kur...@googlegroups.com
kurento-java inherits version from kurento-parent-pom, so to update versions the whole process is:

NEW_VERSION=6.15.0
KMS_VERSION=6.15.0

pushd kurento-java/kurento-parent-pom/
{
    # Update project's own version.
    mvn versions:set \
        -DgenerateBackupPoms=false \
        -DnewVersion="$NEW_VERSION"

    # Update server API dependencies: kms-{core,elements,filters}.
    local MODULES=(
        kms-api-core
        kms-api-elements
        kms-api-filters
    )
    for MODULE in "${MODULES[@]}"; do
        mvn versions:set-property \
            -DgenerateBackupPoms=false \
            -Dproperty="version.${MODULE}" \
            -DnewVersion="$KMS_VERSION"
    done

    # Install locally.
    mvn clean install -Dmaven.test.skip=true -Pkurento-release
}
popd

pushd kurento-java/
{
    # Update to latest parent version (from cached local install).
    mvn versions:update-parent \
        -DgenerateBackupPoms=false

    # Project's own version is inherited from parent.

    # Update project's children versions.
    mvn versions:update-child-modules \
        -DgenerateBackupPoms=false

    # Install locally.
    mvn clean install -Dmaven.test.skip=false -Pkurento-release
}
popd


For the development builds the process is the same, but

NEW_VERSION=6.15.0
KMS_VERSION=6.15.0

and

mvn clean install -Dmaven.test.skip=false

(skips tests and doesn't enable the "kurento-release" profile)
--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.

Juan Navarro

unread,
Nov 10, 2020, 9:29:28 AM11/10/20
to kur...@googlegroups.com
On 10/11/20 15:25, Juan Navarro wrote:
> kurento-java inherits version from kurento-parent-pom, so to update
> versions the whole process is:
>
> NEW_VERSION=6.15.0
> KMS_VERSION=6.15.0
>
> pushd kurento-java/kurento-parent-pom/
> {
>     # Update project's own version.
>     mvn versions:set \
>         -DgenerateBackupPoms=false \
>         -DnewVersion="$NEW_VERSION"
>
>     # Update server API dependencies: kms-{core,elements,filters}.
>     local MODULES=(

Correction: you need to remove the "local" word:

MODULES=(
   ...

Maxim Solodovnik

unread,
Nov 14, 2020, 2:59:21 AM11/14/20
to kurento
Hello Juan,

you were right: it is impossible to use version ranges and skip scanning for SNAPSHOTS
maybe you can clean-up your maven repo from old snapshots?

AFAIK snapshots can safely be cleared right after the release :)))
this way maven will do less checks/downloads

Juan Navarro

unread,
Jan 29, 2021, 12:02:35 PM1/29/21
to kur...@googlegroups.com
Hi Maxim

a series of commits in all KMS modules are updating the dependency ranges from the old 6.7.0 to the latest release, 6.15.0; this will become the norm in future releases and they will come with this field updated.

I don't know if it definitely fixes this issue, but I'm hoping it at least helps alleviating the many accesses that might be done to download all manifests of all old artifacts.

Regards

--
Juan Navarro
Kurento developer
@j1elo at GitHub & Twitter
--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.

Maxim Solodovnik

unread,
Jan 29, 2021, 12:05:06 PM1/29/21
to kurento
Hello Juan,

Many thanks in advance :)
I'll try to test the new release as soon as it will be ready :)

Maxim Solodovnik

unread,
Mar 12, 2021, 11:03:28 AM3/12/21
to kurento
Hello Juan,

I just noticed that the build is faster and less SNAPSHOT build are being checked
due to latest 

has range dependency [6.16.0,7.0.0-SNAPSHOT)

Thanks for this :)

Juan Navarro

unread,
Mar 12, 2021, 1:14:59 PM3/12/21
to kur...@googlegroups.com
Nice to hear!
You're welcome
Reply all
Reply to author
Forward
0 new messages