You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CENTRAL_PORTAL_MIGRATION.md
+52-45Lines changed: 52 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,73 +9,80 @@ This document describes the migration from legacy OSSRH to the new Central Porta
9
9
-**Removed `io.codearte.nexus-staging` plugin** - No longer needed for Central Portal
10
10
-**Removed `nexusStaging` configuration** - Manual staging not required
11
11
-**Removed manual staging steps from workflow** - Central Portal auto-promotes releases
12
+
-**Removed traditional Sonatype repositories** - Replaced with JReleaser Central Portal API
12
13
13
-
### 2. Updated Publishing Workflow
14
+
### 2. Implemented JReleaser Publishing
14
15
15
-
The GitHub Actions workflow (`.github/workflows/publish-to-sonatype.yml`) has been updated:
16
+
The publishing workflow now uses JReleaser exclusively for direct Central Portal API integration:
16
17
17
-
-**Snapshots**: Continue to publish to `https://s01.oss.sonatype.org/content/repositories/snapshots/`
18
-
-**Releases**: Publish to `https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/` with auto-promotion
19
-
-**Removed**: `closeAndReleaseRepository` step - no longer needed
18
+
-**Plugin**: `org.jreleaser` version 1.15.0
19
+
-**Configuration**: Pre-configured for Central Portal API (`https://central.sonatype.com/api/v1/publisher`)
20
+
-**Workflow**: Two-step process: stage artifacts then deploy via JReleaser
21
+
-**Versioning**: Automatic semver-compatible version handling for snapshots and releases
20
22
21
-
### 3. Added JReleaser Alternative
23
+
### 3. Updated GitHub Actions Workflow
22
24
23
-
For full Central Portal API integration, JReleaser plugin has been added:
25
+
The workflow (`.github/workflows/publish-to-sonatype.yml`) now:
24
26
25
-
-**Plugin**: `org.jreleaser` version 1.15.0
26
-
-**Configuration**: Pre-configured for Central Portal API
27
-
-**Workflow**: Optional step available (commented out)
27
+
1. Stages artifacts locally using `publishMavenPublicationToStagingRepository`
28
+
2. Deploys to Central Portal using `jreleaserDeploy`
29
+
3. Handles both snapshots and releases automatically
30
+
4. Skips javadoc generation to avoid firewall issues
28
31
29
32
## Current Setup
30
33
31
-
### Primary Approach (Active)
32
-
Uses the traditional `maven-publish` plugin with existing Sonatype URLs. The Central Portal migration should enable automatic promotion without manual staging.
1.**Simplified Process**: No more manual staging and promotion
44
-
2.**Faster Releases**: Automatic promotion to Maven Central
45
-
3.**Better Integration**: Direct Central Portal API support via JReleaser
46
-
4.**Maintained Compatibility**: Existing workflow continues to work
47
-
48
-
## Credentials
51
+
1.**Modern API**: Direct Central Portal API integration
52
+
2.**Simplified**: No more manual staging bottleneck
53
+
3.**Automatic**: Central Portal auto-promotes releases
54
+
4.**Unified**: Single approach for both snapshots and releases
55
+
5.**Future-proof**: Ready for ongoing Central Portal evolution
49
56
50
-
The same credentials are used:
51
-
-`SONATYPE_USERNAME` - Your Sonatype account username
52
-
-`SONATYPE_PASSWORD` - Your Sonatype account password/token
53
-
-`GPG_SIGNING_KEY` - PGP signing key
54
-
-`GPG_SIGNING_PASSWORD` - PGP signing password
57
+
## How It Works
55
58
56
-
## Testing
59
+
JReleaser stages artifacts in `build/staging-deploy/` and then uploads them directly to the Central Portal API. The Central Portal handles validation, signing verification, and automatic promotion to Maven Central.
0 commit comments