Skip to content

Store dependency versions in MANIFEST.MF file #19

Open
@alexander-yevsyukov

Description

@alexander-yevsyukov

We need a new mechanism for storing and loading the version of a tool and its dependencies.

ProtoData currently uses version.txt(stored in resources) for an artifact version. This approach would not work if components with different versions are merged into a fat JAR.

A better solution would be to use MANIFEST.MF file. The standard tag Implementation-Version tag would be used for keeping a version.

Dependencies could be stored in a custom tag called Depends-On. A value for the tag should be formed after this pattern maven:$group:$artifact:$version. Notice the maven: prefix coming before GAV coordinates. It 1) explains the format of the value 2) allows for extensibility—there could be other formats of values coming with a different prefix.

After this issue is addressed, the io.spine.tools.gradle.DependencyVersions should be deprecated. Version management in ProtoData should be updated too.

References:

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions