Skip to content

Commit

Permalink
Add build param to skip creating hardlinks
Browse files Browse the repository at this point in the history
Presto build fails when a filesystem with no support for hardlinks is used. Add new param to specify hardlink include jars.
  • Loading branch information
singcha committed Oct 9, 2024
1 parent 6f60355 commit 49ac257
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 1 deletion.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,13 @@ resources will be hot-reloaded and changes are reflected on browser refresh.
Check out [building instructions](https://github.com/prestodb/presto/tree/master/presto-native-execution#build-from-source) to get started.


## Common Issues

Build fails while creating hard links - `java.nio.file.FileSystemException Operation not permitted`.
Presto uses the [Provisio](https://github.com/jvanzyl/provisio) plugin for packaging using hard links. If your filesystem doesn't support hard links, you can bypass hard links using:

./mvnw clean install -presto.hard-link-includes=''

<hr>
</details>

Expand Down
1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
<grpc.version>1.64.0</grpc.version>

<air.javadoc.lint>-missing</air.javadoc.lint>
<presto.hard-link-includes>**/*.jar</presto.hard-link-includes>
</properties>

<modules>
Expand Down
1 change: 1 addition & 0 deletions presto-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<process-name>${project.artifactId}</process-name>

<skipTakariLifecyclePlugin>false</skipTakariLifecyclePlugin>
<presto.hard-link-includes>${project.parent.presto.hard-link-includes}</presto.hard-link-includes>
</properties>

<build>
Expand Down
2 changes: 1 addition & 1 deletion presto-server/src/main/provisio/presto.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<runtime>
<!-- Target -->
<archive name="${project.artifactId}-${project.version}.tar.gz" hardLinkIncludes="**/*.jar" />
<archive name="${project.artifactId}-${project.version}.tar.gz" hardLinkIncludes="${presto.hard-link-includes}" />

<!-- Notices -->
<fileSet to="/">
Expand Down

0 comments on commit 49ac257

Please sign in to comment.