Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions artifacts/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ apt-get update -y && \
apt-get install -y --no-install-recommends unzip wget zip openjdk-11-jdk && \
groupadd -g ${container_user_gid} ${container_user_group} &&\
rm -rf /var/lib/apt/lists/* &&\
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz &&\
tar -xzf apache-maven-3.8.8-bin.tar.gz && mv apache-maven-3.8.8 /usr/local/maven && rm apache-maven-3.8.8-bin.tar.gz &&\
wget https://dlcdn.apache.org/maven/maven-3/3.8.9/binaries/apache-maven-3.8.9-bin.tar.gz &&\
tar -xzf apache-maven-3.8.9-bin.tar.gz && mv apache-maven-3.8.9 /usr/local/maven && rm apache-maven-3.8.9-bin.tar.gz &&\
useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/sh -m ${container_user} \
&& mkdir -p /var/run/nginx /var/tmp/nginx \
&& chown -R ${container_user}:${container_user} /usr/share/nginx /var/run/nginx /var/tmp/nginx
Expand Down
149 changes: 14 additions & 135 deletions artifacts/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,35 +34,35 @@
</developer>
</developers>

<repositories>
<repositories>
<repository>
<id>central</id>
<name>MavenCentral</name>
<id>ossrh</id>
<name>CentralRepository</name>
<url>https://central.sonatype.com/repositories/snapshots</url>
<layout>default</layout>
<url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>ossrh</id>
<name>MavenSnapshot</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<id>central</id>
<name>MavenCentral</name>
<layout>default</layout>
<url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>true</enabled>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Comment on lines +37 to 56
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

Sonatype Central snapshot repository URL 2024 2025

💡 Result:

Common Sonatype snapshot repository URLs (2024–2025):

References:
[1] Sonatype Central — Publish Portal Snapshots.
[2] OSSRH / s01 examples (docs and community guides).


🌐 Web query:

OSSRH migration to Sonatype Central repository configuration

💡 Result:

Summary and steps to migrate from OSSRH to Sonatype Central Publisher

  1. Understand the change
  • OSSRH (oss.sonatype.org / s01.oss.sonatype.org) was sunset; publishing now uses the Central Publisher Portal and Portal APIs. Plan to move authentication from OSSRH credentials to Portal user tokens. [1][2]
  1. Decide publishing route
  • Options: (a) use the Portal directly (Maven plugin, bundle upload, or Portal API); (b) use the OSSRH Staging API compatibility service (to keep existing Nexus2-style plugins working); (c) use third-party/updated plugins that support the Portal. [1][2]
  1. Obtain access & tokens
  • Log in to the Central Publisher Portal with your existing OSSRH account to view/migrate namespaces and generate user tokens. Use Portal user tokens (username/token) instead of OSSRH username/password. Contact Central Support if namespaces are missing. [1]
  1. Update build configuration — Maven (examples)
  • Replace old OSSRH publish settings with the Central plugin or point to the OSSRH Staging API compatibility endpoint if you need minimal changes.

Minimal approach (use OSSRH Staging API compatibility service; replace OSSRH token with Portal token and service URL as directed in Portal docs):

  • Configure server credentials in ~/.m2/settings.xml (use Portal token values).
  • Use your existing maven-deploy / nexus-staging plugin but point at the compatibility service URL and token per Portal guidance. [2]

Recommended approach (Central publishing plugin):

  • Switch to central-publishing-maven-plugin (or follow Portal’s Maven plugin docs) and authenticate with Portal user token. Verify deployments via the Portal UI. [2][3]
  1. Update build configuration — Gradle (examples)
  • If using the gradle-nexus/publish-plugin, supply Portal token credentials to the nexusPublishing sonatype repository block (username = token-username, password = token-value) or set ORG_GRADLE_PROJECT_sonatypeUsername/Password environment variables or ~/.gradle/gradle.properties. The plugin documentation notes OSSRH configs are deprecated and points to the new Central URLs. [3]
  1. Snapshot and repo URLs
  • Snapshot repository URLs changed to Central Portal snapshot repository (e.g. https://central.sonatype.com/repository/maven-snapshots/). Remove/replace any oss.sonatype.org snapshot repository entries. Historical snapshots may not be migrated—confirm what snapshots are available after migration. [1][5]
  1. Test and verify
  • Run a full publish to staging, promote (or follow Portal flow), and verify on Maven Central / Portal deployments page. Check that groupId namespaces transferred and permissions are correct. [1][2]
  1. If you need minimal friction
  • Use the OSSRH Staging API compatibility service to keep your existing plugin workflow while you convert to Portal-native publishing later. Generate a Portal token and update plugin endpoints and credentials per the Portal docs. [2]

Useful Sonatype references

  • Central Portal OSSRH sunset & migration overview. [1]
  • Portal OSSRH Staging API (compatibility) and publishing options. [2]
  • gradle-nexus/publish-plugin notes about deprecation and credential configuration. [3]
  • OSSRH sunset announcement / FAQ. [4]
  • Snapshot repo URL example and migration notes. [5]

If you want, I can:

  • produce copy-paste Maven and Gradle snippets (pom.xml / settings.xml / build.gradle and ~/.m2/settings.xml or ~/.gradle/gradle.properties) tailored to your current setup, or
  • check your current build files and produce the exact changes required.

Sources
[1] Sonatype — OSSRH Sunset (Central docs).
[2] Sonatype — Publishing via the Portal OSSRH Staging API (Central docs).
[3] gradle-nexus/publish-plugin (GitHub).
[4] Sonatype — OSSRH sunset announcement / FAQ.
[5] Community migration note showing Central Portal snapshot repo URL.


🌐 Web query:

central.sonatype.com repositories snapshots correct URL

💡 Result:

Use the Central Portal snapshots repo URL:
https://central.sonatype.com/repository/maven-snapshots/ [1][2]

Note: older OSSRH snapshot URLs (e.g. https://oss.sonatype.org/content/repositories/snapshots/) were used historically; new publishing/consuming via the Central Portal uses the central.sonatype.com endpoint. [3]

Sources:
[1] Sonatype repository page for maven-snapshots.
[2] Central publishing docs — Publish Portal Snapshots (consuming example).
[3] Legacy OSSRH snapshot URL reference.


Fix snapshot repository URL in ossrh repository configuration.

The snapshot repository URL is incorrect. According to Sonatype Central documentation, the snapshot repository should be https://central.sonatype.com/repository/maven-snapshots/, not https://central.sonatype.com/repositories/snapshots. Update the <url> element in the ossrh repository configuration (line 39) to use the correct path.

🤖 Prompt for AI Agents
In `@artifacts/pom.xml` around lines 37 - 56, Update the ossrh repository
configuration: in the repository with id "ossrh" replace the incorrect <url>
value "https://central.sonatype.com/repositories/snapshots" with the correct
Sonatype snapshots URL
"https://central.sonatype.com/repository/maven-snapshots/" by editing the <url>
element inside the ossrh <repository> block in the pom.xml.


<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
<url>https://central.sonatype.com/api/v1/publisher</url>
</repository>
</distributionManagement>

Expand All @@ -72,10 +72,6 @@
<auth-adapter.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel</auth-adapter.location>
<auth-adapter.fileName>kernel-auth-adapter.jar</auth-adapter.fileName>

<auth-adapter-java-21.version>1.2.1-java21-SNAPSHOT</auth-adapter-java-21.version>
<auth-adapter-java-21.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel/java21</auth-adapter-java-21.location>
<auth-adapter-java-21.fileName>kernel-auth-adapter.jar</auth-adapter-java-21.fileName>

<auth-adapter-lite.version>1.2.0.1-B4</auth-adapter-lite.version>
<auth-adapter-lite.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel</auth-adapter-lite.location>
<auth-adapter-lite.fileName>kernel-auth-adapter-lite.jar</auth-adapter-lite.fileName>
Expand All @@ -85,47 +81,21 @@
<kernel-transliteration.location>/usr/share/nginx/html/artifactory/libs-release-local/icu4j</kernel-transliteration.location>
<kernel-transliteration.fileName>kernel-transliteration-icu4j.jar</kernel-transliteration.fileName>

<!-- kernel-transliteration-jar java21-->
<kernel-transliteration-java-21.version>1.2.1-SNAPSHOT</kernel-transliteration-java-21.version>
<kernel-transliteration-java-21.location>/usr/share/nginx/html/artifactory/libs-release-local/icu4j/java21</kernel-transliteration-java-21.location>
<kernel-transliteration-java-21.fileName>kernel-transliteration-icu4j.jar</kernel-transliteration-java-21.fileName>


<!-- kernel-smsserviceprovider-->
<kernel-smsserviceprovider.version>1.2.1-SNAPSHOT</kernel-smsserviceprovider.version>
<kernel-smsserviceprovider.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel</kernel-smsserviceprovider.location>
<kernel-smsserviceprovider.fileName>kernel-smsserviceprovider-msg91.jar</kernel-smsserviceprovider.fileName>

<!-- kernel-smsserviceprovider java21-->
<kernel-smsserviceprovider-java-21.version>1.2.1-java21-SNAPSHOT</kernel-smsserviceprovider-java-21.version>
<kernel-smsserviceprovider-java-21.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel</kernel-smsserviceprovider-java-21.location>
<kernel-smsserviceprovider-java-21.fileName>kernel-smsserviceprovider-msg91.jar</kernel-smsserviceprovider-java-21.fileName>

<!-- kernel-smsserviceprovider-msg91 java21-->
<kernel-smsserviceprovider-java-21.version>1.2.1-java21-SNAPSHOT</kernel-smsserviceprovider-java-21.version>
<kernel-smsserviceprovider-java-21.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel/java21</kernel-smsserviceprovider-java-21.location>
<kernel-smsserviceprovider-java-21.fileName>kernel-smsserviceprovider-msg91.jar</kernel-smsserviceprovider-java-21.fileName>

<!-- kernel-ref-idobjectvalidator -->
<kernel-ref-idobjectvalidator.version>1.2.1-SNAPSHOT</kernel-ref-idobjectvalidator.version>
<kernel-ref-idobjectvalidator.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel/kernel-ref-idobjectvalidator</kernel-ref-idobjectvalidator.location>
<kernel-ref-idobjectvalidator.fileName>kernel-ref-idobjectvalidator.jar</kernel-ref-idobjectvalidator.fileName>

<!-- kernel-ref-idobjectvalidator java21 -->
<kernel-ref-idobjectvalidator-java-21.version>1.2.1-java21-SNAPSHOT</kernel-ref-idobjectvalidator-java-21.version>
<kernel-ref-idobjectvalidator-java-21.location>/usr/share/nginx/html/artifactory/libs-release-local/io/mosip/kernel/kernel-ref-idobjectvalidator/java21</kernel-ref-idobjectvalidator-java-21.location>
<kernel-ref-idobjectvalidator-java-21.fileName>kernel-ref-idobjectvalidator.jar</kernel-ref-idobjectvalidator-java-21.fileName>

<!-- kernel-virusscanner-clamav -->
<kernel-virusscanner-clamav.version>1.2.1-SNAPSHOT</kernel-virusscanner-clamav.version>
<kernel-virusscanner-clamav.location>/usr/share/nginx/html/artifactory/libs-release-local/clamav</kernel-virusscanner-clamav.location>
<kernel-virusscanner-clamav.fileName>kernel-virusscanner-clamav.jar</kernel-virusscanner-clamav.fileName>

<!-- kernel-virusscanner-clamav java21 -->
<kernel-virusscanner-clamav-java-21.version>1.2.1-java21-SNAPSHOT</kernel-virusscanner-clamav-java-21.version>
<kernel-virusscanner-clamav-java-21.location>/usr/share/nginx/html/artifactory/libs-release-local/clamav/java21</kernel-virusscanner-clamav-java-21.location>
<kernel-virusscanner-clamav-java-21.fileName>kernel-virusscanner-clamav.jar</kernel-virusscanner-clamav-java-21.fileName>

<!-- registration-api-impl -->
<registration-api-impl.version>1.2.1-SNAPSHOT</registration-api-impl.version>
<registration-api-impl.location>/usr/share/nginx/html/artifactory/libs-release-local/registration-client/registration-api-impl</registration-api-impl.location>
Expand All @@ -142,12 +112,6 @@
<biosdk-client-lib.location>/usr/share/nginx/html/artifactory/libs-release-local/biosdk/biosdk-lib</biosdk-client-lib.location>
<biosdk-client.fileName>biosdk-client-jar-with-dependencies.jar</biosdk-client.fileName>

<!-- biosdk-client JAVA-21-->
<biosdk-client-java21.version>1.2.1-java21-SNAPSHOT</biosdk-client-java21.version>
<biosdk-client-java21.location>/usr/share/nginx/html/artifactory/libs-release-local/biosdk/mock/0.9/java21/biosdk-client</biosdk-client-java21.location>
<biosdk-client-lib-java21.location>/usr/share/nginx/html/artifactory/libs-release-local/biosdk/java21/biosdk-lib</biosdk-client-lib-java21.location>
<biosdk-client-java21.fileName>biosdk-client-jar-with-dependencies.jar</biosdk-client-java21.fileName>

<!-- demosdk-client -->
<demosdk-client.version>1.2.1-SNAPSHOT</demosdk-client.version>
<demosdk-client.location>/usr/share/nginx/html/artifactory/libs-release-local/demosdk/default/demosdk</demosdk-client.location>
Expand All @@ -159,12 +123,6 @@
<mock-sdk.fileName>mock-sdk.jar</mock-sdk.fileName>
<mock-sdk-dep.fileName>mock-sdk-jar-with-dependencies.jar</mock-sdk-dep.fileName>

<!-- mock-sdk -->
<mock-sdk-java21.version>1.2.1-java21-SNAPSHOT</mock-sdk-java21.version>
<mock-sdk-java21.location>/usr/share/nginx/html/artifactory/libs-release-local/mock-sdk/java21/</mock-sdk-java21.location>
<mock-sdk-java21.fileName>mock-sdk.jar</mock-sdk-java21.fileName>
<mock-sdk-dep-java21.fileName>mock-sdk-jar-with-dependencies.jar</mock-sdk-dep-java21.fileName>

<!-- mock-sdk-jpeg-extractor -->
<mock-sdk-jpeg-extractor.version>1.2.1-SNAPSHOT</mock-sdk-jpeg-extractor.version>
<mock-sdk-jpeg-extractor.location>/usr/share/nginx/html/artifactory/libs-release-local/jpeg-mock-sdk/1.1.5</mock-sdk-jpeg-extractor.location>
Expand All @@ -185,11 +143,6 @@
<hazelcast.version>3.12.12</hazelcast.version>
<hazelcast.location>/usr/share/nginx/html/artifactory/libs-release-local/cache</hazelcast.location>
<hazelcast.fileName>cache-provider.jar</hazelcast.fileName>

<!-- hazelcast cast java21 -->
<hazelcast-java-21.version>3.12.12</hazelcast-java-21.version>
<hazelcast-java-21.location>/usr/share/nginx/html/artifactory/libs-release-local/cache/java21</hazelcast-java-21.location>
<hazelcast-java-21.fileName>cache-provider.jar</hazelcast-java-21.fileName>

<!-- idp authentication wrapper -->
<authentication-wrapper.version>0.9.0</authentication-wrapper.version>
Expand Down Expand Up @@ -283,25 +236,7 @@
<outputDirectory>${auth-adapter-lite.location}</outputDirectory>
<destFileName>${auth-adapter-lite.fileName}</destFileName>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for smsserviceprovider java21 -->
<artifactItem>
<groupId>io.mosip.kernel</groupId>
<artifactId>kernel-smsserviceprovider-msg91</artifactId>
<version>${kernel-smsserviceprovider-java-21.version}</version>
<outputDirectory>${kernel-smsserviceprovider-java-21.location}</outputDirectory>
<destFileName>${kernel-smsserviceprovider-java-21.fileName}</destFileName>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for ref-idobjectvaidator java21 -->
<artifactItem>
<groupId>io.mosip.kernel</groupId>
<artifactId>kernel-ref-idobjectvalidator</artifactId>
<version>${kernel-ref-idobjectvalidator-java-21.version}</version>
<outputDirectory>${kernel-ref-idobjectvalidator-java-21.location}</outputDirectory>
<destFileName>${kernel-ref-idobjectvalidator-java-21.fileName}</destFileName>
<type>jar</type>
</artifactItem>
</artifactItem>

<!-- artifactItem section for smsserviceprovider -->
<artifactItem>
Expand All @@ -323,16 +258,6 @@
<type>jar</type>
</artifactItem>

<!-- artifactItem section for kernel-transliteration-icu4j java21 -->
<artifactItem>
<groupId>io.mosip.kernel</groupId>
<artifactId>kernel-transliteration-icu4j</artifactId>
<version>${kernel-transliteration-java-21.version}</version>
<outputDirectory>${kernel-transliteration-java-21.location}</outputDirectory>
<destFileName>${kernel-transliteration-java-21.fileName}</destFileName>
<type>jar</type>
</artifactItem>

<!-- artifactItem section for smsserviceprovider -->
<artifactItem>
<groupId>io.mosip.kernel</groupId>
Expand Down Expand Up @@ -369,16 +294,7 @@
<outputDirectory>${kernel-virusscanner-clamav-java-21.location}</outputDirectory>
<destFileName>${kernel-virusscanner-clamav.fileName}</destFileName>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for virusscanner java21-->
<artifactItem>
<groupId>io.mosip.kernel</groupId>
<artifactId>kernel-virusscanner-clamav</artifactId>
<version>${kernel-virusscanner-clamav.version}</version>
<outputDirectory>${kernel-virusscanner-clamav.location}</outputDirectory>
<destFileName>${kernel-virusscanner-clamav-java-21.fileName}</destFileName>
<type>jar</type>
</artifactItem>
</artifactItem>
<!-- artifactItem section for clamav client -->
<artifactItem>
<groupId>xyz.capybara</groupId>
Expand Down Expand Up @@ -407,25 +323,6 @@
<classifier>jar-with-dependencies</classifier>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for mock-sdk -->
<artifactItem>
<groupId>io.mosip.mock.sdk</groupId>
<artifactId>mock-sdk</artifactId>
<version>${mock-sdk-java21.version}</version>
<outputDirectory>${mock-sdk-java21.location}</outputDirectory>
<destFileName>${mock-sdk-java21.fileName}</destFileName>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for biosdk-client -->
<artifactItem>
<groupId>io.mosip.biosdk</groupId>
<artifactId>biosdk-client</artifactId>
<version>${biosdk-client-java21.version}</version>
<outputDirectory>${biosdk-client-java21.location}</outputDirectory>
<destFileName>${biosdk-client-java21.fileName}</destFileName>
<classifier>jar-with-dependencies</classifier>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for demosdk client -->
<artifactItem>
<groupId>io.mosip.demosdk</groupId>
Expand Down Expand Up @@ -493,15 +390,6 @@
<classifier>jar-with-dependencies</classifier>
<type>jar</type>
</artifactItem>
<artifactItem>
<groupId>io.mosip.mock.sdk</groupId>
<artifactId>mock-sdk</artifactId>
<version>${mock-sdk-java21.version}</version>
<outputDirectory>${biosdk-client-lib-java21.location}</outputDirectory>
<destFileName>${mock-sdk-dep.fileName}</destFileName>
<classifier>jar-with-dependencies</classifier>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for hazelcast-all jar -->
<artifactItem>
<groupId>com.hazelcast</groupId>
Expand All @@ -510,16 +398,7 @@
<outputDirectory>${hazelcast.location}</outputDirectory>
<destFileName>${hazelcast.fileName}</destFileName>
<type>jar</type>
</artifactItem>
<!-- artifactItem section for hazelcast java21 jar -->
<artifactItem>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-all</artifactId>
<version>${hazelcast-java-21.version}</version>
<outputDirectory>${hazelcast-java-21.location}</outputDirectory>
<destFileName>${hazelcast-java-21.fileName}</destFileName>
<type>jar</type>
</artifactItem>
</artifactItem>
<!-- artifactItem section for redis-cache jar -->
<artifactItem>
<groupId>io.mosip.cacheprovider</groupId>
Expand Down
Loading