File tree Expand file tree Collapse file tree 3 files changed +12
-4
lines changed Expand file tree Collapse file tree 3 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -67,6 +67,7 @@ public class Sketch {
6767
6868 /** folder that contains this sketch */
6969 private File folder ;
70+ public List <Runnable > onFolderChangeListeners = new ArrayList <Runnable >();
7071
7172 /** data folder location for this sketch (may not exist yet) */
7273 private File dataFolder ;
@@ -1240,6 +1241,7 @@ protected void updateInternal(File sketchFolder) {
12401241
12411242 name = sketchFolder .getName ();
12421243 folder = sketchFolder ;
1244+ onFolderChangeListeners .forEach (Runnable ::run );
12431245 disappearedWarning = false ;
12441246 codeFolder = new File (folder , "code" );
12451247 dataFolder = new File (folder , "data" );
Original file line number Diff line number Diff line change @@ -62,7 +62,7 @@ abstract class GradleJob{
6262 run ()
6363 }
6464 }catch (e: Exception ){
65- Messages .log(" Error while running: ${e.message} " )
65+ Messages .log(" Error while running: ${e.message} ${e.cause?.message} " )
6666 }finally {
6767 state.value = State .DONE
6868 vm.value = null
Original file line number Diff line number Diff line change @@ -30,6 +30,8 @@ import kotlin.io.path.writeText
3030// TODO: Improve background building
3131// TODO: Track build speed (for analytics?)
3232
33+ // TODO: Support offline mode
34+
3335// The gradle service runs the gradle tasks and manages the gradle connection
3436// It will create the necessary build files for gradle to run
3537// Then it will kick off a new GradleJob to run the tasks
@@ -56,10 +58,15 @@ class GradleService(val editor: Editor) {
5658
5759 fun startService (){
5860 Messages .log(" Starting Gradle service at $folder " )
59- // TODO: recreate connection if sketch folder changes
6061 connection = GradleConnector .newConnector()
6162 .forProjectDirectory(folder)
6263 .connect()
64+ editor.sketch.onFolderChangeListeners.add {
65+ connection?.close()
66+ connection = GradleConnector .newConnector()
67+ .forProjectDirectory(folder)
68+ .connect()
69+ }
6370
6471 startListening()
6572 startBuilding()
@@ -97,9 +104,8 @@ class GradleService(val editor: Editor) {
97104 })
98105 }
99106
100- // TODO: Attach listener to new tab created
107+ // TODO: Attach listener to new tab created, callback has to be added to the editor
101108 }
102- // TODO: Stop all jobs on dispose
103109 }
104110 // TODO: Add support for present
105111 fun run (){
You can’t perform that action at this time.
0 commit comments