forgejo/models/migrations/fixtures/Test_ChangeMavenArtifactConcatenation/package_version.yml
Julian Schlarb 21151ea5ce fix: maven use groupId:artifactId for package name concatenation (#6352)
Second part of #6327 to fix the Maven package naming. This pull request includes:
* Changing the group and artifact IDs from being separated by `-` to `:` as suggested by [Maven](https://maven.apache.org/pom.html#Maven_Coordinates).
* Making Maven package names case-sensitive
* Migrating the database to:
  * Handle collisions of package names (e.g., groupId: foo- with artifactId: bar and groupId: foo with artifactId: -bar) by moving them into their own packages.
  * Fix the missing group ID issue (#6329).
  * Update  lower_name to match the name value for maven pkgs to make it case-sensetive.

## Checklist

The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org).

### Tests

- I added test coverage for Go changes...
  - [x] in their respective `*_test.go` for unit tests.
  - [x] in the `tests/integration` directory if it involves interactions with a live Forgejo server.
- I added test coverage for JavaScript changes...
  - [ ] in `web_src/js/*.test.js` if it can be unit tested.
  - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)).

### Documentation

- [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change.
- [x] I did not document these changes and I do not expect someone else to do it.

### Release notes

- [ ] I do not want this change to show in the release notes.
- [x] I want the title to show in the release notes with a link to this pull request.
- [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6352
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Julian Schlarb <julian.schlarb@denktmit.de>
Co-committed-by: Julian Schlarb <julian.schlarb@denktmit.de>
2025-06-01 09:02:29 +02:00

281 lines
8.8 KiB
YAML

- id: 1
package_id: 1
creator_id: 1
version: 1.0-SNAPSHOT
lower_version: 1.0-snapshot
created_unix: 1746256357
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 2
package_id: 2
creator_id: 1
version: 1.0-SNAPSHOT
lower_version: 1.0-snapshot
created_unix: 1746256358
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 3
package_id: 1
creator_id: 1
version: 7.0.0
lower_version: 7.0.0
created_unix: 1746256360
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 4
package_id: 2
creator_id: 1
version: 7.0.0
lower_version: 7.0.0
created_unix: 1746256361
is_internal: 0
metadata_json: '{"artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 5
package_id: 3
creator_id: 1
version: 7.0.0
lower_version: 7.0.0
created_unix: 1746256364
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 6
package_id: 4
creator_id: 1
version: 7.0.0
lower_version: 7.0.0
created_unix: 1746256365
is_internal: 0
metadata_json: '{"artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 7
package_id: 5
creator_id: 1
version: 1.0-SNAPSHOT
lower_version: 1.0-snapshot
created_unix: 1746256367
is_internal: 0
metadata_json: '{"group_id":"foo","artifact_id":"-bar","name":"Example :: Parent "}'
download_count: 0
- id: 8
package_id: 5
creator_id: 1
version: 7.0.0
lower_version: 7.0.0
created_unix: 1746256370
is_internal: 0
metadata_json: '{"group_id":"foo","artifact_id":"-bar","name":"Example :: Parent "}'
download_count: 0
- id: 9
package_id: 1
creator_id: 1
version: 8.0.0
lower_version: 8.0.0
created_unix: 1746256389
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 10
package_id: 2
creator_id: 1
version: 8.0.0
lower_version: 8.0.0
created_unix: 1746256390
is_internal: 0
metadata_json: '{"artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 11
package_id: 3
creator_id: 1
version: 8.0.0
lower_version: 8.0.0
created_unix: 1746256393
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 12
package_id: 4
creator_id: 1
version: 8.0.0
lower_version: 8.0.0
created_unix: 1746256394
is_internal: 0
metadata_json: '{"artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 13
package_id: 5
creator_id: 1
version: 8.0.0
lower_version: 8.0.0
created_unix: 1746256399
is_internal: 0
metadata_json: '{"group_id":"foo","artifact_id":"-bar","name":"Example :: Parent "}'
download_count: 0
- id: 14
package_id: 1
creator_id: 1
version: 9.0.0
lower_version: 9.0.0
created_unix: 1746256419
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 15
package_id: 2
creator_id: 1
version: 9.0.0
lower_version: 9.0.0
created_unix: 1746256420
is_internal: 0
metadata_json: '{"artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 16
package_id: 3
creator_id: 1
version: 9.0.0
lower_version: 9.0.0
created_unix: 1746256423
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 17
package_id: 4
creator_id: 1
version: 9.0.0
lower_version: 9.0.0
created_unix: 1746256424
is_internal: 0
metadata_json: '{"artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 18
package_id: 5
creator_id: 1
version: 9.0.0
lower_version: 9.0.0
created_unix: 1746256429
is_internal: 0
metadata_json: '{"group_id":"foo","artifact_id":"-bar","name":"Example :: Parent "}'
download_count: 0
- id: 19
package_id: 1
creator_id: 1
version: 10.0.0
lower_version: 10.0.0
created_unix: 1746256449
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 20
package_id: 2
creator_id: 1
version: 10.0.0
lower_version: 10.0.0
created_unix: 1746256450
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 21
package_id: 3
creator_id: 1
version: 10.0.0
lower_version: 10.0.0
created_unix: 1746256452
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 22
package_id: 4
creator_id: 1
version: 10.0.0
lower_version: 10.0.0
created_unix: 1746256453
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 23
package_id: 5
creator_id: 1
version: 10.0.0
lower_version: 10.0.0
created_unix: 1746256459
is_internal: 0
metadata_json: '{"group_id":"foo","artifact_id":"-bar","name":"Example :: Parent "}'
download_count: 0
- id: 24
package_id: 1
creator_id: 1
version: 11.0.0
lower_version: 11.0.0
created_unix: 1746256478
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 25
package_id: 2
creator_id: 1
version: 11.0.0
lower_version: 11.0.0
created_unix: 1746256479
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 26
package_id: 3
creator_id: 1
version: 11.0.0
lower_version: 11.0.0
created_unix: 1746256482
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"parent-project","name":"Example :: Parent "}'
download_count: 0
- id: 27
package_id: 4
creator_id: 1
version: 11.0.0
lower_version: 11.0.0
created_unix: 1746256483
is_internal: 0
metadata_json: '{"group_id":"com.example","artifact_id":"sub-module","name":"Example :: SubModule ","dependencies":[{"group_id":"junit","artifact_id":"junit","version":"3.8.1"}]}'
download_count: 0
- id: 28
package_id: 5
creator_id: 1
version: 11.0.0
lower_version: 11.0.0
created_unix: 1746256488
is_internal: 0
metadata_json: '{"group_id":"foo","artifact_id":"-bar","name":"Example :: Parent "}'
download_count: 0
# broken uploads
- id: 29
package_id: 7
creator_id: 6
version: 1.2.4
lower_version: 1.2.4
created_unix: 1746256488
is_internal: 0
metadata_json: '{"group_id":"com.broken","artifact_id":"br-root","name":"Foo"}'
download_count: 0
- id: 30
package_id: 6
creator_id: 6
version: 1.2.4
lower_version: 1.2.4
created_unix: 1746256488
is_internal: 0
metadata_json: '{"artifact_id":"br-rest-webmvc","name":"Foo :: REST :: Web MVC","dependencies":[{"group_id":"com.broken","artifact_id":"br-base"},{"group_id":"jakarta.servlet","artifact_id":"jakarta.servlet-api"},{"group_id":"jakarta.validation","artifact_id":"jakarta.validation-api"},{"group_id":"org.springframework","artifact_id":"spring-webmvc"},{"group_id":"org.springframework.hateoas","artifact_id":"spring-hateoas"},{"group_id":"org.springframework.boot","artifact_id":"spring-boot-starter-test"},{"group_id":"com.broken","artifact_id":"br-test"},{"group_id":"com.broken","artifact_id":"br-repo-in-memory"},{"group_id":"org.hibernate.validator","artifact_id":"hibernate-validator"},{"group_id":"org.glassfish.expressly","artifact_id":"expressly"}]}'
download_count: 0
# collision
- id: 31
package_id: 8
creator_id: 1
version: 11.0.0
lower_version: 11.0.0
created_unix: 1746256488
is_internal: 0
metadata_json: '{"group_id":"group-bar","artifact_id":"art","name":"Example :: Parent "}'
download_count: 0