1919import sys
2020import os
2121import glob
22+ import platform
23+ import tempfile
24+ from os .path import expanduser
2225
2326SKETCHBOOK_JAR_DEST = os .path .expanduser ("~/sketchbook/modes/CppMode/mode/CppMode.jar" )
24- TMP_DIR = "/tmp/ _cpp"
27+ TMP_DIR = tempfile . gettempdir () + os . sep + " _cpp"
2528
26- def run (cmd , cwd = None ):
29+ def run (cmd , cwd = None , stopOnFailure = True ):
2730 print (f"$ { ' ' .join (cmd )} " )
2831 result = subprocess .run (cmd , cwd = cwd )
29- if result .returncode != 0 :
30- print (f"FAILED (exit code { result .returncode } ): { ' ' .join (cmd )} " )
31- sys .exit (result .returncode )
32+ if stopOnFailure :
33+ if result .returncode != 0 :
34+ print (f"FAILED (exit code { result .returncode } ): { ' ' .join (cmd )} " )
35+ sys .exit (result .returncode )
3236
3337def get_processing4_dir ():
3438 env_dir = os .environ .get ("PROCESSING4_DIR" )
@@ -55,7 +59,11 @@ def main():
5559 glob .glob (os .path .join (libs_dir , "java-*.jar" ))
5660 )
5761 java_jar = _candidates [0 ] if _candidates else os .path .join (libs_dir , "java.jar" )
58- gradlew = os .path .join (processing4_dir , "gradlew" )
62+
63+ if platform .system () == "Windows" :
64+ gradlew = os .path .join (processing4_dir , "gradlew.bat" )
65+ else :
66+ gradlew = os .path .join (processing4_dir , "gradlew" )
5967
6068 if not os .path .exists (cppbuild_java ):
6169 print (f"ERROR: expected CppBuild.java not found at { cppbuild_java } " )
@@ -79,8 +87,16 @@ def main():
7987 print (f"ERROR: expected jar not found at { java_jar } " )
8088 sys .exit (1 )
8189
82- run (["rm" , "-rf" , TMP_DIR ])
83- run (["mkdir" , TMP_DIR ])
90+ if platform .system () == "Windows" :
91+ run (["cmd.exe" , "/C" , "rmdir" , "/S" , "/Q" , TMP_DIR ], stopOnFailure = False )
92+ else :
93+ run (["rm" , "-rf" , TMP_DIR ])
94+
95+ if platform .system () == "Windows" :
96+ run (["cmd.exe" , "/C" , "mkdir" , TMP_DIR ])
97+ else :
98+ run (["mkdir" , TMP_DIR ])
99+
84100 run (["jar" , "xf" , java_jar ], cwd = TMP_DIR )
85101 os .makedirs (os .path .dirname (SKETCHBOOK_JAR_DEST ), exist_ok = True )
86102 run (["jar" , "cf" , SKETCHBOOK_JAR_DEST , "processing/mode/cpp/" ], cwd = TMP_DIR )
@@ -94,10 +110,11 @@ def main():
94110
95111# Sync to Processing bundled mode dirs so IDE picks up changes immediately
96112import shutil , pathlib
97- jar = pathlib .Path ("/home/pep/sketchbook/modes/CppMode/mode/CppMode.jar" )
113+ home = expanduser ("~" )
114+ jar = pathlib .Path (f"{ home } /sketchbook/modes/CppMode/mode/CppMode.jar" )
98115for dest in [
99- "/ home/pep /Projects/processing4/app/build/resources-bundled/common/modes/CppMode/mode/CppMode.jar" ,
100- "/ home/pep /Projects/processing4/app/build/compose/tmp/prepareAppResources/modes/CppMode/mode/CppMode.jar" ,
116+ f" { home } /Projects/processing4/app/build/resources-bundled/common/modes/CppMode/mode/CppMode.jar" ,
117+ f" { home } /Projects/processing4/app/build/compose/tmp/prepareAppResources/modes/CppMode/mode/CppMode.jar" ,
101118]:
102119 pathlib .Path (dest ).parent .mkdir (parents = True , exist_ok = True )
103120 shutil .copy2 (jar , dest )
0 commit comments