@@ -47,7 +47,11 @@ THE SOFTWARE.
47
47
<!-- HTTP listener port -->
48
48
<port >8080</port >
49
49
<node .version>16.15.1</node .version>
50
+ <!-- frontend-maven-plugin will install this Yarn version as bootstrap, then hand over control to Yarn Berry. -->
50
51
<yarn .version>1.22.19</yarn .version>
52
+ <!-- maven-antrun-plugin will download this Yarn version. -->
53
+ <yarn-berry .version>3.2.0</yarn-berry .version>
54
+ <yarn-berry .sha256sum>99a7f42f678b8ccd9c8e97a9e65fe7a5043033dd0e074e6d1f13fbe2d5ff2734</yarn-berry .sha256sum>
51
55
</properties >
52
56
53
57
<dependencyManagement >
@@ -696,6 +700,32 @@ THE SOFTWARE.
696
700
</execution >
697
701
</executions >
698
702
</plugin >
703
+ <plugin >
704
+ <groupId >org.apache.maven.plugins</groupId >
705
+ <artifactId >maven-antrun-plugin</artifactId >
706
+ <executions >
707
+ <execution >
708
+ <id >download-yarn</id >
709
+ <goals >
710
+ <goal >run</goal >
711
+ </goals >
712
+ <phase >initialize</phase >
713
+ <configuration >
714
+ <tasks >
715
+ <property name =" yarn.dest" value =" ${project.basedir}/.yarn/releases/yarn-${yarn-berry.version}.cjs" />
716
+ <dirname file =" ${yarn.dest}" property =" yarn.dest.dir" />
717
+ <mkdir dir =" ${yarn.dest.dir}" />
718
+ <get dest =" ${yarn.dest}" src =" https://repo.yarnpkg.com/${yarn-berry.version}/packages/yarnpkg-cli/bin/yarn.js" usetimestamp =" true" />
719
+ <checksum algorithm =" SHA-256" file =" ${yarn.dest}" property =" ${yarn-berry.sha256sum}" verifyProperty =" yarn.checksum.matches" />
720
+ <condition property =" yarn.checksum.matches.fail" >
721
+ <equals arg1 =" ${yarn.checksum.matches}" arg2 =" false" />
722
+ </condition >
723
+ <fail if =" yarn.checksum.matches.fail" >Checksum error</fail >
724
+ </tasks >
725
+ </configuration >
726
+ </execution >
727
+ </executions >
728
+ </plugin >
699
729
<plugin >
700
730
<groupId >com.github.eirslett</groupId >
701
731
<artifactId >frontend-maven-plugin</artifactId >
@@ -722,11 +752,6 @@ THE SOFTWARE.
722
752
<goal >yarn</goal >
723
753
</goals >
724
754
<phase >initialize</phase >
725
- <configuration >
726
- <!-- ensure only one concurrent 'yarn install' -->
727
- <!-- when yarn cache is empty, multiple yarns performing network fetches frequently results in opaque errors -->
728
- <arguments >--mutex network</arguments >
729
- </configuration >
730
755
</execution >
731
756
732
757
<execution >
0 commit comments