>> Anton, Vyacheslav — are you proposing assembly process shift to package >> phase, yet leaving the special profile for assembly itself?
I'm talking about compile and package processes like it has been until 2.1 release. On Thu, Mar 1, 2018 at 6:00 PM, Dmitry Pavlov <dpavlov....@gmail.com> wrote: > Hi, > > I think we should solve initial problem: "We have to include all transitive > dependencies into poms". I've faced with it during Direct IO plugin > development. > > I am sure it is not best practice. Because 1st level dependency version > change will require us to update 2nd level dependencies manually. > > So if we can find solution without disabling plugin, we should prefer it. > If only disable may help we should be sure release installation into > maven-central will be successful. > > Sincerely, > Dmitriy Pavlov > > чт, 1 мар. 2018 г. в 17:23, Petr Ivanov <mr.wei...@gmail.com>: > >> Anton, Vyacheslav — are you proposing assembly process shift to package >> phase, yet leaving the special profile for assembly itself? >> >> >> >> > On 1 Mar 2018, at 14:36, Vyacheslav Daradur <daradu...@gmail.com> wrote: >> > >> > I agree with Anton, especially with the following statement: >> >>> Ignite should be assemblied using package phase, >> >>> not install in case you want only to assembly it. >> > >> > Approach with "install" phase may lead to hidden issues in a >> > development environment. >> > >> > On Thu, Mar 1, 2018 at 2:26 PM, Nikolay Izhikov <nizhi...@apache.org> >> wrote: >> >>> May be it will be enough to add a profile to parent pom.xml which >> >> activates on deploy stage only. >> >> >> >> I think it will be enough to solve my issue. >> >> >> >>> What pom.xml becomes flattened, what is removed from it and how it >> effects >> >> other modules of the same project? >> >> >> >> pom.xml that are installed to local repository is flattened. >> >> >> >>> Yet, I still do not get a mechanism that causes a problem. >> >> >> >> If you want to reproduce it, just do the following steps: >> >> >> >> 1. remove spark dependencies with `scope=test` from `spark/pom.xml` >> >> >> >> 2. run: >> >> >> >> `~/src/ignite/modules/spark> mvn install -U >> >> -Plgpl,examples,scala,-clean-libs,-release,ml >> >> -Dtest=org.apache.ignite.testsuites.IgniteRDDTestSuite >> >> -Dmaven.javadoc.skip=true -DfailIfNoTests=false` >> >> >> >> It will execute OK, because maven uses pom.xml from source. >> >> >> >> 3. run(only root dir is changed) >> >> >> >> `~/src/ignite/> mvn install -U >> >> -Plgpl,examples,scala,-clean-libs,-release,ml >> >> -Dtest=org.apache.ignite.testsuites.IgniteRDDTestSuite >> >> -Dmaven.javadoc.skip=true -DfailIfNoTests=false` >> >> >> >> Test will fail with ClassNoDefFoundError because maven will use >> >> pom.xml from local repository which is flattened. >> >> >> >> 4. remove flatten plugin from `parent/pom.xml`. Re Install parent pom. >> >> Retry step 3. It will succeed. >> >> >> >> >> >> 2018-03-01 14:18 GMT+03:00 Petr Ivanov <mr.wei...@gmail.com>: >> >> >> >>> May be it will be enough to add a profile to parent pom.xml which >> >>> activates on deploy stage only. >> >>> >> >>> Yet, I still do not get a mechanism that causes a problem. What pom.xml >> >>> becomes flattened, what is removed from it and how it effects other >> modules >> >>> of the same project? >> >>> >> >>> >> >>> >> >>>> On 1 Mar 2018, at 14:06, Nikolay Izhikov <nizhi...@apache.org> wrote: >> >>>> >> >>>> Andrey, thank you. >> >>>> >> >>>> If there are no other objections I will create ticket for pom >> structure >> >>>> refactoring. >> >>>> >> >>>> Anton, can you help me with it as an Ignite Release Manager? >> >>>> >> >>>> 2018-03-01 13:45 GMT+03:00 Andrey Novikov <anovi...@apache.org>: >> >>>> >> >>>>> Nikolay, >> >>>>> >> >>>>> I think it can be removed, if parent-pom will be installed(deployed). >> >>>>> >> >>>>> On Thu, Mar 1, 2018 at 5:05 PM, Nikolay Izhikov <nizhi...@apache.org >> > >> >>>>> wrote: >> >>>>>> Hello, Andrey. >> >>>>>> >> >>>>>> Thanks for an answer. >> >>>>>> >> >>>>>>> As I remember we use `flatten-maven-plugin` for flattening and >> >>> removing >> >>>>> parent relationship in deployed artifacts >> >>>>>> >> >>>>>> So we need it only in `release` profile? >> >>>>>> >> >>>>>> I found some earlier discussion about plugin [1] >> >>>>>> >> >>>>>>> in first versions of build, version was stored in variable in >> parent >> >>> pom >> >>>>>> >> >>>>>> Got it. Do we need this plugin now? >> >>>>>> >> >>>>>> [1] http://apache-ignite-developers.2346864.n4.nabble. >> >>>>> com/Difference-between-pom-xml-and-pom-installed-xml-td2171.html >> >>>>>> >> >>>>>> В Чт, 01/03/2018 в 16:59 +0700, Andrey Novikov пишет: >> >>>>>>> Nikolay, >> >>>>>>> >> >>>>>>> As I remember we use `flatten-maven-plugin` for flattening and >> >>>>>>> removing parent relationship in deployed artifacts (parent pom does >> >>>>>>> not deploy to repository and in first versions of build, version >> was >> >>>>>>> stored in variable in parent pom) >> >>>>>>> >> >>>>>>> On Thu, Mar 1, 2018 at 4:57 PM, Nikolay Izhikov < >> nizhi...@apache.org> >> >>>>> wrote: >> >>>>>>>> Hello, Petr. >> >>>>>>>> >> >>>>>>>>> Can you describe your problem >> >>>>>>>> >> >>>>>>>> In Ignite, maven doesn't include transitive dependencies to test >> >>>>> classpath. >> >>>>>>>> So we have enlist all dependencies in project pom.xml. >> >>>>>>>> >> >>>>>>>>> desired behaviour >> >>>>>>>> >> >>>>>>>> All I want is default maven behavior. >> >>>>>>>> >> >>>>>>>> Please, take a look at pom.xml [1] from line 144. >> >>>>>>>> There is a long list of dependencies with `test` scope. >> >>>>>>>> Actually, all of them are available as a transitive dependency >> from >> >>>>> `spark-core`. >> >>>>>>>> >> >>>>>>>> We doesn't have to enlist them in every other project that doesn't >> >>>>> use `flatten-plugin`. >> >>>>>>>> >> >>>>>>>> [1] https://github.com/apache/ignite/blob/master/modules/ >> >>>>> spark/pom.xml#L144 >> >>>>>>>> >> >>>>>>>> В Чт, 01/03/2018 в 11:49 +0300, Petr Ivanov пишет: >> >>>>>>>>> Nikolay, >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> Can you describe your problem and desired behaviour more >> >>>>> thoroughly, please? >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>>> On 28 Feb 2018, at 21:16, Nikolay Izhikov <nizhi...@apache.org> >> >>>>> wrote: >> >>>>>>>>>> >> >>>>>>>>>> Hello, Igniters. >> >>>>>>>>>> >> >>>>>>>>>> We have `flatten-maven-plugin` in `parent/pom.xml` [1] >> >>>>>>>>>> As far as I can understand it minimize pom.xml before it >> >>>>> installed in repository. >> >>>>>>>>>> >> >>>>>>>>>> It introduce some strange behavior in modules: >> >>>>>>>>>> >> >>>>>>>>>> I must to enlist all test dependencies in my module to get tests >> >>>>> work. >> >>>>>>>>>> Otherwise tests fails with ClassNoDefFoundError for transitive >> >>>>> dependencies. >> >>>>>>>>>> It happens in `spark` [2] and `spark_2.10` [3] modules. >> >>>>>>>>>> Now, when I want to enable testing of Spark Examples I has to >> >>>>> enlist same dependencies in `examples/pom.xml` >> >>>>>>>>>> >> >>>>>>>>>> It looks like a mess for me. >> >>>>>>>>>> >> >>>>>>>>>> Please, help me: >> >>>>>>>>>> >> >>>>>>>>>> 1. Am I miss something and can make pom.xml much clearer? >> >>>>>>>>>> >> >>>>>>>>>> 2. Why we need to minimize pom.xml? It looks like other Apache >> >>>>> project doesn't do it [5]. >> >>>>>>>>>> >> >>>>>>>>>> [1] https://github.com/apache/ignite/blob/master/parent/pom. >> >>>>> xml#L612 >> >>>>>>>>>> [2] https://github.com/apache/ignite/blob/master/modules/ >> >>>>> spark/pom.xml#L144 >> >>>>>>>>>> [3] https://github.com/apache/ignite/blob/master/modules/ >> >>>>> spark-2.10/pom.xml#L150 >> >>>>>>>>>> [4] https://github.com/apache/ignite/pull/3590/files#diff- >> >>>>> 08740066c64337d38cccd84991ac0912R155 >> >>>>>>>>>> [5] http://central.maven.org/maven2/org/apache/kafka/kafka_ >> >>>>> 2.12/1.0.0/kafka_2.12-1.0.0.pom >> >>>>>>>>> >> >>>>>>>>> >> >>>>> >> >>> >> >>> >> > >> > >> > >> > -- >> > Best Regards, Vyacheslav D. >> >> -- Best Regards, Vyacheslav D.