Hi Saikat,
Thanks for driving this activity forward and raising the question. Let me
share my thoughts below and let's see what the broader community thinks.
Each extension needs to have its own version unrelated to the core and
Maven's groupId parameter for extension artifacts should be
"org.apache.ignite.ext". For instance, the very first release of Flink in
the form of extension should be pulled from Maven this way
<dependency>
<groupId>org.apache.ignite.ext</groupId>
<artifactId>ignite-flink</artifactId>
<version>1.0.0</version>
</dependency>
When it comes to the releases, all the extensions need to be verified for
an upcoming release and updated if needed (with the version increase only
for those updated). Thus, looks like the extensions master needs to be
linked to the latest Ignite core snapshot. Whenever the core will be being
prepared and any extensions need to be modified we can take this approach:
- Create a branch of extensions for the upcoming core release. For
instance, "ignite-core-2.9+" branch. That's just the branch name (and not
any Maven artifact name) with "+" sign implying that the updated extensions
will work for Ignite 2.9 and later until we need to update them again
creating a release branch like "ignite-core-2.14+"
- If only a subset of the extensions was updated then we need to release
those extensions to Maven. The goal is to avoid the practice of publishing
Flink or any other extension to Maven for every core release if there are
no changes.
- As for a ZIP archive, we should prepare the archive for a download
with the name like "ignite-core-2.9+"
-
Denis
On Tue, Nov 26, 2019 at 9:03 PM Saikat Maitra <[email protected]>
wrote:
> Hello,
>
> I wanted to connect and discuss on the release process for
> ignite-extensions. As of today all our integrations since released together
> were able to run build based on latest snapshot for example the current
> build depends on 2.8.0-SNAPSHOT. If we are making ignite-extensions as
> separate project with different release cycle then it make sense to have
> dependencies on core modules based on released artifact for example the
> dependency for ignite-core would be 2.7.6
>
> Please review and share your thoughts.
>
> PR https://github.com/apache/ignite-extensions/pull/1
>
> Regards
> Saikat
>