Hello

I have been able to resolve the build issue in teamcity and was able to
pass the build failures.

https://ci.ignite.apache.org/viewLog.html?buildId=4883394&buildTypeId=IgniteExtensions_Build

The issue that was causing failure was that I had put ignite.zip as
artifact dependency and it was downloading the artifacts including pom file
inside the build checkout folder of ignite-extensions and as a result the
pom.xml of ignite-extensions was getting overwritten by ignite's pom.xml.
This was resulting in missing flink-ext module error as it was not even
present in the ignite main pom.xml.

To resolve the issue I just had to download and extract artifact of
ignite.zip in a separate directory.

If I can get a +1 on this PR then I can go ahead and merge the changes.

Regards,
Saikat






On Tue, Dec 10, 2019 at 8:26 PM Saikat Maitra <saikat.mai...@gmail.com>
wrote:

> Hi Ivan,
>
> Thank you for sharing your feedback. I will try to install all modules in
> local agent's repository and run the build.
>
> I will share updates.
>
> Regards,
> Saikat
>
> On Tue, Dec 10, 2019 at 9:56 AM Ivan Pavlukhin <vololo...@gmail.com>
> wrote:
>
>> Saikat,
>>
>> Let me share my understanding how do we run the majority of our jobs
>> executing test suites. Hope it will help.
>> 1. ~Build Apache Ignite~ in a separate run and publish everything as a
>> single artifact ignite.zip (it contains ignite working directory with
>> compiled modules, e.g. modules/core/target and others).
>> 2. Download and extract ignite.zip and run particular test suites
>> against extracted files.
>>
>> In a such setup test suites run the same as you do it on your local
>> machine and it always works with a single multi-module maven project
>> (apache-ignite). So, all dependencies are resolved in the working
>> directory.
>>
>> For a separate IgniteExtensions maven project you need to install all
>> dependencies from downloaded ignite.zip into .m2/repository local to
>> the agent. I suppose we can do it as follows:
>> 1. Download ignite.zip and extract it into "ignite" subfolder.
>> 2. Run a maven command installing all modules into local maven
>> repository. Something like "mvn install" but here we need to make sure
>> that nothing is compiled once again.
>> 3. Build IgniteExtensions.
>>
>> There might be a better way to do the same, I just tried to describe a
>> schema how it can be done.
>>
>> вт, 10 дек. 2019 г. в 06:30, Saikat Maitra <saikat.mai...@gmail.com>:
>> >
>> > Hi Ivan, Ilya
>> >
>> > Thank you for your reply. I have added you as dev in IgniteExtensions
>> > project and you should be able to check the build configurations.
>> >
>> > Yes, when I set artifact dependencies for ~Build Apache Ignite~ similar
>> to
>> > other projects then I receive below error
>> >
>> > [ERROR] [ERROR] Could not find the selected project in the reactor:
>> > :ignite-flink-ext @
>> >
>> > I do not see the same error when I am running the build in local and
>> > maven package command can still get 2.9.0-SNAPSHOT dependencies from my
>> > local .m2 repository but it is failing in teamcity.
>> >
>> > Regards,
>> > Saikat
>> >
>> >
>> >
>> >
>> > On Mon, Dec 9, 2019 at 5:18 AM Ilya Kasnacheev <
>> ilya.kasnach...@gmail.com>
>> > wrote:
>> >
>> > > Hello!
>> > >
>> > > I think that your build should depend on an Apache Ignite build(s) or
>> just
>> > > use an already released version.
>> > >
>> > > In the same fashion as all our teamcity depend on "Build Apache
>> Ignite" and
>> > > use its artifacts.
>> > >
>> > > Here you want Ignite snapshot but Teamcity does not know where to
>> take it
>> > > from.
>> > >
>> > > Regards,
>> > > --
>> > > Ilya Kasnacheev
>> > >
>> > >
>> > > пн, 9 дек. 2019 г. в 06:40, Saikat Maitra <saikat.mai...@gmail.com>:
>> > >
>> > > > Hello,
>> > > >
>> > > > I am running into a problem specific to teamcity build for Ignite
>> > > > Extensions project. When I set the dependencies to 2.9.0-SNAPSHOT I
>> am
>> > > > getting an error message during build as below
>> > > >
>> > > > [06:24:12][Step 4/5] Failed to execute goal on project
>> ignite-flink-ext:
>> > > > Could not resolve dependencies for project
>> > > > org.apache.ignite.ext:ignite-flink-ext:jar:1.0.0-SNAPSHOT: The
>> following
>> > > > artifacts could not be resolved:
>> > > > org.apache.ignite:ignite-core:jar:2.9.0-SNAPSHOT,
>> > > > org.apache.ignite:ignite-core:jar:tests:2.9.0-SNAPSHOT,
>> > > > org.apache.ignite:ignite-log4j:jar:2.9.0-SNAPSHOT,
>> > > > org.apache.ignite:ignite-spring:jar:2.9.0-SNAPSHOT: Could not find
>> > > artifact
>> > > > org.apache.ignite:ignite-core:jar:2.9.0-SNAPSHOT in h2database.com
>> (
>> > > > https://h2database.com/m2-repo)
>> > > >
>> > > >
>> > > > and if set artifact dependencies for ~Build Apache Ignite~ then I
>> receive
>> > > > below error
>> > > >
>> > > > [ERROR] [ERROR] Could not find the selected project in the reactor:
>> > > > :ignite-flink-ext @
>> > > >
>> > > > Build url
>> > > >
>> > > >
>> > >
>> https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteExtensions_Build&branch_IgniteExtensions=pull%2F1%2Fhead&tab=buildTypeStatusDiv
>> > > >
>> > > > Can you please let me know if you faced similar problem with
>> teamcity
>> > > > build?
>> > > >
>> > > > I can set Ignite Extensions dependencies to released ignite-core
>> > > artifacts
>> > > > version like 2.7.6 and build works fine.
>> > > >
>> > > > Regards,
>> > > > Saikat
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > On Sat, Nov 30, 2019 at 1:50 PM Saikat Maitra <
>> saikat.mai...@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > Hello Denis,
>> > > > >
>> > > > > Thank you for your email and sharing your thoughts on the release
>> > > > process.
>> > > > > I will update the artifact id and dependencies for
>> ignite-extensions
>> > > > > accordingly.
>> > > > >
>> > > > > I had created Ignite-Extensions project as a root level project
>> and in
>> > > > > teamcity I was facing issues pulling dependencies for
>> 2.8.0-SNAPSHOT
>> > > > > whereas I was able to pull dependencies for ignite-core 2.7.6 from
>> > > maven
>> > > > > central. I will look into it further why teamcity build was not
>> able to
>> > > > > pull snapshot dependencies.
>> > > > >
>> > > > > I will also create "ignite-core-2.9+" branch for the upcoming
>> release
>> > > > > process.
>> > > > >
>> > > > > Thank you,
>> > > > > Saikat
>> > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > > On Wed, Nov 27, 2019 at 1:05 PM Denis Magda <dma...@apache.org>
>> wrote:
>> > > > >
>> > > > >> 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 <
>> > > saikat.mai...@gmail.com>
>> > > > >> 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
>> > > > >> >
>> > > > >>
>> > > > >
>> > > >
>> > >
>>
>>
>>
>> --
>> Best regards,
>> Ivan Pavlukhin
>>
>

Reply via email to