> 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 > >>>>>> > >>>>>> > >> > >