@@ -14,13 +14,51 @@ class Crip < Formula
1414 sha256 cellar : :any_skip_relocation , x86_64_linux : "f168b5098ac9ee43fba009ed7473dc040b97b20ff8339c704dbace009f10f2ca"
1515 end
1616
17+ depends_on "graalvm" => :build
1718 depends_on "maven" => :build
18- depends_on "openjdk"
19+
20+ on_linux do
21+ depends_on "zlib-ng-compat"
22+ end
1923
2024 def install
21- system "mvn" , "clean" , "package" , "-Pfat-jar" , "-DskipTests=true"
22- libexec . install "target/crip.jar"
23- bin . write_jar_script libexec /"crip.jar" , "crip"
25+ ENV [ "JAVA_HOME" ] = if OS . mac?
26+ Formula [ "graalvm" ] . opt_libexec /"graalvm.jdk/Contents/Home"
27+ else
28+ Formula [ "graalvm" ] . opt_libexec
29+ end
30+
31+ # native_image_env = ENV.keys.grep(/^HOMEBREW_/).map { |key| "-E#{key}" }
32+ # ENV.prepend "NATIVE_IMAGE_OPTIONS", native_image_env.join(" ")
33+
34+ native_image_env = %w[
35+ HOMEBREW_RUBY_PATH
36+ HOMEBREW_CC
37+ HOMEBREW_CCCFG
38+ HOMEBREW_PREFIX
39+ HOMEBREW_CELLAR
40+ HOMEBREW_OPT
41+ HOMEBREW_TEMP
42+ HOMEBREW_CACHE
43+ HOMEBREW_SDKROOT
44+ HOMEBREW_LIBRARY
45+ HOMEBREW_ARCHFLAGS
46+ HOMEBREW_OPTFLAGS
47+ HOMEBREW_OPTIMIZATION_LEVEL
48+ HOMEBREW_DEPENDENCIES
49+ HOMEBREW_FORMULA_PREFIX
50+ HOMEBREW_FORMULA_BUILDPATH
51+ HOMEBREW_ISYSTEM_PATHS
52+ HOMEBREW_INCLUDE_PATHS
53+ HOMEBREW_LIBRARY_PATHS
54+ HOMEBREW_RPATH_PATHS
55+ HOMEBREW_DYNAMIC_LINKER
56+ HOMEBREW_LD_LIBRARY_PATH
57+ ] . filter_map { |key | "-E#{ key } " if ENV . key? ( key ) }
58+ ENV . prepend "NATIVE_IMAGE_OPTIONS" , native_image_env . join ( " " )
59+
60+ system "mvn" , "clean" , "package" , "-Pnative-image" , "-DskipTests=true"
61+ bin . install "target/crip"
2462 end
2563
2664 test do
0 commit comments