chrisdutz commented on code in PR #10742:
URL: https://github.com/apache/iotdb/pull/10742#discussion_r1283112458
##########
pom.xml:
##########
@@ -1109,88 +1115,116 @@
</plugins>
</build>
<profiles>
- <!-- spotless is too slow, so we put it into a profile to skip it if
needed -->
- <profile>
- <id>spotless</id>
- <activation>
- <!-- activeByDefault does not take effect-->
- <file>
- <exists>.</exists>
- </file>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>com.diffplug.spotless</groupId>
- <artifactId>spotless-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
<!--
A set of profiles defining the different properties needed to
download and run thrift
They are automatically activated depending on the OS you are using.
-->
<profile>
- <id>windows</id>
+ <id>.os-unix</id>
<activation>
<os>
- <family>windows</family>
+ <family>unix</family>
+ <arch>!aarch64</arch>
</os>
</activation>
<properties>
- <os.classifier>windows-x86_64</os.classifier>
-
<thrift.download-url>http://archive.apache.org/dist/thrift/${thrift.version}/thrift-${thrift.version}.exe</thrift.download-url>
-
<thrift.executable>thrift-${thrift.version}-win-x86_64.exe</thrift.executable>
-
<thrift.skip-making-executable>true</thrift.skip-making-executable>
- <thrift.exec-cmd.executable>echo</thrift.exec-cmd.executable>
- <thrift.exec-cmd.args>"Do nothing"</thrift.exec-cmd.args>
+ <os.classifier>linux-x86_64</os.classifier>
+ <cmake.generator>Unix Makefiles</cmake.generator>
+ <thrift.executable>thrift</thrift.executable>
Review Comment:
There are two profiles:
- with-cpp with will add the cpp-client and cpp-example
- with-tools which will add the compilation of thrift
The thing that I've changed, was that in the past we only had the thrift
executable and not the shared libraries available as download. I've changed the
thrift build to build an assembly that contains the executable, includes and
shared libraries.
If a user wants to compile without bison, boost etc, the build will -
instead of downloading from git - will load a maven dependency:
` <artifactItem>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-tools-thrift</artifactId>
<version>${project.version}</version>
<classifier>${os.classifier}</classifier>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/thrift</outputDirectory>
</artifactItem>
`
So he doesn't need to compile it on his machine. I think you still don't ned
anything more than Java (cause you could even use the maven-wrapper and then
not even need Maven). But I could double-check this as I have some VMs that I
can reset to a clean OS installations for checks like this.
This worked fine for mac and linux for both x86_64 and aarch64 ... just on
Windows did I run into some issues.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]