beware of a caveat when using flatten and shade plugins: https://github.com/mojohaus/flatten-maven-plugin/issues/100 & https://stackoverflow.com/questions/52552329/use-maven-flatten-plugin-and-maven-shade-plugin-at-the-same-time
Basically you have to make sure that flatten is plugged AFTER shade in the Maven lifecycle. I recently faced the problem ;) : https://twitter.com/FrancoisMarot/status/1263028183047299072 *- - - - -François Marot06 50 91 96 38* On Tue, 16 Jun 2020 at 07:41, Hanish Bansal <hanish.bansal.agar...@gmail.com> wrote: > Still facing the same issue. > > Child project1 has shade plugin dependency in pom.xml. > > *Steps to reproduce the error:* > 1. Compile external project > https://github.com/hanishbansal/external-common , > this is some external project in which we can not change anything. > 2. Our project "test-parent" has dependency of "external-common" project. > Now checkout code from https://github.com/hanishbansal/test-parent adn try > to compile it. Module "child1" is not deployed properly in local maven > repo. > Below is pom snippet of child1 module where revision tag is not replaced. > <parent> > <artifactId>test-parent</artifactId> > <groupId>com.sample</groupId> > <version>${revision}</version> > </parent> > <modelVersion>4.0.0</modelVersion> > <artifactId>child1</artifactId> > > On Mon, Jun 15, 2020 at 10:37 AM Hanish Bansal < > hanish.bansal.agar...@gmail.com> wrote: > > > Hi All, > > > > Thanks for your response. > > > > I have replicated the same issue as mentioned in below steps: > > 1. Compile external project > > https://github.com/hanishbansal/external-common , this is some external > > project in which we can not change anything. > > 2. Our project "test-parent" has dependency of "external-common" project. > > Now checkout code from https://github.com/hanishbansal/test-parent adn > > try to compile it. Module "child1" is not deployed properly in local > maven > > repo. > > Below is pom snippet of child1 module where revision tag is not replaced. > > <parent> > > <artifactId>test-parent</artifactId> > > <groupId>com.sample</groupId> > > <version>${revision}</version> > > </parent> > > <modelVersion>4.0.0</modelVersion> > > <artifactId>child1</artifactId> > > > > > > > > > > > > On Sat, Jun 13, 2020 at 8:18 PM Tomo Suzuki <suzt...@google.com.invalid> > > wrote: > > > >> Hi Hanish, > >> > >> I see child1 in my Maven local repository cannot resolve the $version to > >> refer to its parent, because $version is defined at the parent (the > error > >> message below). > >> > >> How about specifying the concrete version when specifying parent? While > >> you > >> might not like that the version value will appear multiple places, you > can > >> update them by "mvn version:set" > >> https://www.mojohaus.org/versions-maven-plugin/set-mojo.html > >> > >> > >> [ERROR] Failed to execute goal on project child2: Could not resolve > >> dependencies for project com.sample:child2:jar:1.1.0-SNAPSHOT: Failed to > >> collect dependencies at com.sample:child1:jar:1.1.0-SNAPSHOT: Failed to > >> read artifact descriptor for com.sample:child1:jar:1.1.0-SNAPSHOT: Could > >> not find artifact com.sample:test-parent:pom:${revision} in central ( > >> https://repo.maven.apache.org/maven2) -> [Help 1] > >> [ERROR] > >> [ERROR] To see the full stack trace of the errors, re-run Maven with the > >> -e > >> switch. > >> [ERROR] Re-run Maven using the -X switch to enable full debug logging. > >> [ERROR] > >> [ERROR] For more information about the errors and possible solutions, > >> please read the following articles: > >> [ERROR] [Help 1] > >> > >> > http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException > >> > >> /tmp/test-parent/child2 $ cat > >> > >> > ~/.m2/repository/com/sample/child1/1.1.0-SNAPSHOT/child1-1.1.0-SNAPSHOT.pom > >> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" > >> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" > >> http://maven.apache.org/POM/4.0.0 > >> http://maven.apache.org/xsd/maven-4.0.0.xsd"> > >> <modelVersion>4.0.0</modelVersion> > >> <parent> > >> <groupId>com.sample</groupId> > >> <artifactId>test-parent</artifactId> > >> <version>${revision}</version> > >> </parent> > >> <artifactId>child1</artifactId> > >> </project>% > >> > >> On Sat, Jun 13, 2020 at 8:41 AM Francois Marot < > francois.ma...@gmail.com> > >> wrote: > >> > >> > Hello, > >> > I can confirm that you sample project works as intended once you add > the > >> > missing configuration for the flatten plugin. Without it the pom.xml > >> > installed in your local repo are not correct because of the > >> placeholders in > >> > the <version>. > >> > > >> > I just copy pasted the <build> content as explained here: > >> > http://maven.apache.org/maven-ci-friendly.html#install-deploy > >> > > >> > Hope you will soon make it work > >> > > >> > > >> > > >> > *- - - - -François Marot06 50 91 96 38* > >> > > >> > > >> > > >> > On Sat, 13 Jun 2020 at 05:39, Hanish Bansal < > >> > hanish.bansal.agar...@gmail.com> > >> > wrote: > >> > > >> > > Hi Team, > >> > > > >> > > I have pushed a sample minimal project in git at the following link > >> > > https://github.com/hanishbansal/test-parent > >> > > > >> > > Project Structure: > >> > > test-parent > >> > > - child1 > >> > > - child2 > >> > > > >> > > child2 project has dependency of child1 project. > >> > > > >> > > Steps to Reproduce the error: > >> > > 1. Compile test-parent project with goal "clean install". It will > >> compile > >> > > and install all child projects. > >> > > 2. Now compile child2 project, it would give compilation error due > to > >> > > dependency of child1 project. > >> > > > >> > > > >> > > > >> > > On Sat, Jun 13, 2020 at 12:58 AM Tomo Suzuki > >> <suzt...@google.com.invalid > >> > > > >> > > wrote: > >> > > > >> > > > I suspect typo in child module name. Do you want to share minimum > >> > > > reproducible project? > >> > > > > >> > > > On Fri, Jun 12, 2020 at 07:17 Hanish Bansal < > >> > > > hanish.bansal.agar...@gmail.com> > >> > > > wrote: > >> > > > > >> > > > > Yes, that has been already tried. I have installed child modules > >> > > > separately > >> > > > > but if there is any child module (e.g. child2) has dependency of > >> > other > >> > > > > child module child1 then I am not able to compile child2 > project. > >> > > > > > >> > > > > On Fri, Jun 12, 2020 at 3:39 PM Tomo Suzuki > >> > <suzt...@google.com.invalid > >> > > > > >> > > > > wrote: > >> > > > > > >> > > > > > (Assuming yy-utils is the one of the child project) > >> > > > > > Run ”mvn install” in yy-utils module first. > >> > > > > > > >> > > > > > On Fri, Jun 12, 2020 at 01:56 Hanish Bansal < > >> > > > > > hanish.bansal.agar...@gmail.com> > >> > > > > > wrote: > >> > > > > > > >> > > > > > > Hi All, > >> > > > > > > > >> > > > > > > We have maven Multi Module Project, where we have recently > >> > > > implemented > >> > > > > > > version control process as mentioned in below documentation > >> but > >> > > after > >> > > > > > > introducing it we are not able to compile child projects > >> > > > independently > >> > > > > > > because of dependency failure. > >> > > > > > > > >> > http://maven.apache.org/maven-ci-friendly.html#multi-module-setup > >> > > > > > > > >> > > > > > > We have also used flatten-maven-plugin but artifacts > deployed > >> in > >> > > our > >> > > > > > > repository via this setup are not consumable by Maven > anymore. > >> > > > > > > > >> > > > > > > <build> > >> > > > > > > <plugins> > >> > > > > > > <plugin> > >> > > > > > > <groupId>org.codehaus.mojo</groupId> > >> > > > > > > <artifactId>flatten-maven-plugin</artifactId> > >> > > > > > > <version>1.1.0</version> > >> > > > > > > <configuration> > >> > > > > > > <updatePomFile>true</updatePomFile> > >> > > > > > > <flattenMode>resolveCiFriendliesOnly</flattenMode> > >> > > > > > > </configuration> > >> > > > > > > <executions> > >> > > > > > > <execution> > >> > > > > > > <id>flatten</id> > >> > > > > > > <phase>process-resources</phase> > >> > > > > > > <goals> > >> > > > > > > <goal>flatten</goal> > >> > > > > > > </goals> > >> > > > > > > </execution> > >> > > > > > > <execution> > >> > > > > > > <id>flatten.clean</id> > >> > > > > > > <phase>clean</phase> > >> > > > > > > <goals> > >> > > > > > > <goal>clean</goal> > >> > > > > > > </goals> > >> > > > > > > </execution> > >> > > > > > > </executions> > >> > > > > > > </plugin> > >> > > > > > > </plugins> > >> > > > > > > </build> > >> > > > > > > > >> > > > > > > While trying to get artifacts, maven build failed with below > >> > error: > >> > > > > > > > >> > > > > > > Failed to read artifact descriptor for > >> > > > > > > org.xxxx.xxx.xxxxx:yy-utils:jar:0.0.1: Could not transfer > >> > artifact > >> > > > > > > > >> > > > > > > Can you please help here? > >> > > > > > > > >> > > > > > > -- > >> > > > > > > > >> > > > > > > *Thanks & Regards,Hanish Bansal* > >> > > > > > > > >> > > > > > -- > >> > > > > > Regards, > >> > > > > > Tomo > >> > > > > > > >> > > > > > >> > > > > > >> > > > > -- > >> > > > > > >> > > > > *Thanks & Regards,Hanish Bansal* > >> > > > > Lead Software Engineer, Big Data > >> > > > > (M) : +91-995-339-9925 > >> > > > > LinkedIn: www.linkedin.com/in/hanishbansal/ > >> > > > > > >> > > > -- > >> > > > Regards, > >> > > > Tomo > >> > > > > >> > > > >> > > > >> > > -- > >> > > > >> > > *Thanks & Regards,Hanish Bansal* > >> > > Lead Software Engineer, Big Data > >> > > (M) : +91-995-339-9925 > >> > > LinkedIn: www.linkedin.com/in/hanishbansal/ > >> > > > >> > > >> > >> > >> -- > >> Regards, > >> Tomo > >> > > > > > > -- > > > > *Thanks & Regards,Hanish Bansal* > > Lead Software Engineer, Big Data > > (M) : +91-995-339-9925 > > LinkedIn: www.linkedin.com/in/hanishbansal/ > > > > > -- > > *Thanks & Regards,Hanish Bansal* > Lead Software Engineer, Big Data > (M) : +91-995-339-9925 > LinkedIn: www.linkedin.com/in/hanishbansal/ >